예제 #1
0
        protected override void OnSynthesis(ISynthesisContext ctx)
        {
            if (!(ctx.Project is XilinxProject))
            {
                throw new InvalidOperationException("This floating point block can only be synthesized within the context of a Xilinx ISE project.");
            }
            XilinxProject xproj = (XilinxProject)ctx.Project;
            string        name  = ctx.CodeGen.GetComponentID(Descriptor);

            ComponentName = name;
            CoreGenDescription cgproj, xco;

            xproj.AddNewCoreGenDescription(name, out cgproj, out xco);
            xco.FromComponent(this);
            xco.Store();

            xproj.ExecuteCoreGen(xco.Path, cgproj.Path);
        }