|
TechWatch
Technical hints from Premier EDA Solutions Ltd.
www.eda.co.uk |
This TechWatch is based on the third layer and final part of my Design Reuse with Altium Designer presentation from our user conference on the 31st October 2006. The files for this and all of the other TechWatch's in the Design Reuse series can be downloaded here (451kb). Once downloaded this TechWatch we will be working with files from the C:\Design Reuse TechWatch Files\Core Component files folder. Design Reuse methodologies can be implemented as a number of “layers”Layer 1:
Features that allow fast and “intelligent” cloning of localised circuitry. Layer 2:SummaryIn Layer 2 we looked to reuse much larger elements of circuitry or entire schematic
sheets. When using a pre-existing schematic sheet we need to be aware existing annotations and sheet numbers.
We’ve looked at Multi-Channel Design to duplicate the same section of a design multiple times. It is
worth noting that the techniques we used here work just as well when updating existing schematics. Then lastly we
looked at Parametrical Hierarchical Design. This is similar to Multi-Channel Design but allows us to assign
different values to each channel. Layer 3:Creating a Core ComponentWith Altium Designer, we have the ability to encapsulate an entire FPGA circuit into a pre-verified block.
These self-contained blocks are called core components and offer the advantage of design reuse and design security.
The output of a Core project behaves in a similar fashion to a library component in that it becomes an elemental unit
that is used as a component in larger designs. We then need to add our captured design into the project. In this case our Clock Divider. Add the Clock_divider.SchDoc to our MyCore.PrjCor by right clicking on it in the Projects panel ›› Add Existing to Project. Then open it. Under Project
›› Project Options
›› Options, we need to ensure that ‘Include models in published archive’ is checked.
This will ensure that the generated EDIF files are published within one zip file. Using the FPGA Preferences (Synthesis) (Tools ›› FPGA Synthesis) we now setup set up the user pre-synthesized model folder i.e. where we shall create the synthesised model. There is a MyCores folder in our Core Component files folder for us to use. We now need to setup the configurations and constraint files to target the devices we want our core component
to be used on. If we wished we could setup multiple configurations to allow the core to be used on different FPGA Devices.
Save the Constraint file as MyCoreXilinx.Constraint. Open the Configuration Manager (Project ›› Configuration Manager) and add a configuration and call it MyCoreXilinx and check the box to add our constraint file.
Now we need to synthesise our core component. This generates VHDL files from any schematics we may have and produces EDIF files of our core. To do this switch back to our Clock_divider.SchDoc and use the command Design » Synthesize All Configurations. We can now publish our core project, which will zip up all of the EDIF files and place them in our \My Cores\ folder. Use the command Design » Publish. Generating the schematic symbol for our core.We have now generated all of the EDIF files for our core component, which means we can create a schematic symbol to represent it.
This FPGA component may now be used multiple times within this or across many FPGA projects. This is the last Design Reuse techwatch in the series, return to the previous TechWatch. |
||||||||||||||||