(EN) 3.2.1 Custom IP Component Creation - coffeebrain/Codesign_HW_SW GitHub Wiki
Platform Designer comes with an IP catalog which is also able of generating new IP components through a tool named the Component Editor. If you don't know what an IP component is you can refer to 1.6 Componentes de Propiedad Intelectual (IP en inglés).
-
Open Platform Designer from Tools > Platform Designer.

- When the file chooser windows prompt open your project's .qsys file.

- On the IP Catalog tab click on the New... button.

- In the new window fill the Name:, Display name: and any other field you consider for your component's creation.

- Click Finish... to save your design.

- Then in the new Save Changes windows click on Yes, Save. A new tcl file should be created with the components name that you've chosen.

- Search for the new IP component in the Project or Library Section at the IP Catalog tab. If you filled the Group field when creating a section with this name must have the newly created component.
IMG
- Chose your IP component and click on Edit....
IMG
From this step on there are several ways of configuring your IP components:
- Manual Creation of signals
- Using a template
- With a Verilog, VHDL or System Verilog existing file
- From the Templates menu choose Add Typical AXI4 Slave.
%2011%20-%20Typical%20AXI4%20Slave%20template.png)
- Go to the Signals & Interfaces tab.
%2012%20-%20Signals%20and%20Interfaces.png)
- See the newly created interfaces and signals, add more if you need.
%2013%20-%20Address%20size.png)
- You can create a Conduit if you need to expose an input or output to the FPGA portion.
%2014%20-%20Conduit.png)
- A new interface is added.
%2015%20-%20New%20Conduit.png)
- Change the name of the new interface as desired.
%2016%20-%20Change%20conduit%20name.png)
- Associated a reset signal to the interface.
%2017%20-%20Conduit%20reset%20signal.png)
- Create a new conduit signal.
%2018%20-%20Conduit%20new%20signal.png)
- Change the name of the new conduit signal as desired.
%2019%20-%20Change%20signal%20name.png)
- Change the signal width as desired.
%2020%20-%20Signal%20width.png)
- The signals must be now ready (add others if you need it).
%2021%20-%20Signals%20ready.png)
- Create synthesis file from the signals and interfaces in the File window.
%2022%20-%20Create%20synthesis%20file.png)
- A new emergent window appear to create the HDL template.
%2023%20-%20Create%20HDL.png)
- Choose your destination path.
%2024%20-%20Change%20HDL%20path.png)
- You can open the file explorer to choose your file desination.
%2025%20-%20Open%20window.png)
- Save you HDL file.
%2026%20-%20New%20path.png)
- Finish the IP component design by clicking on Finish....
%2027%20-%20Finish.png)
- Save the changes by clicking on Yes, Save option.
%2028%20-%20Save%20changes.png)
- A new window showing the saving process appears.
%2029%20-%20Saving.png)
- After returning to Platform Designer main window click on Add... from the IP Catalog tab.
%2030%20-%20Add.png)
- A new window for adding component appears (configure if parameters where added to IP design).
%2031%20-%20Add%20window.png)
- A new disconnect component appears in the System Contents tab.
%2032%20-%20New%20IP%20added.png)
- Make the desired conections.
%2033%20-%20Interconnect.png)
- Export your Conduit signals by double clicking in the Export column from the Conduit row.
%2034%20-%20Exporting.png)
- The Conduit is succesfully exported.
%2035%20-%20Exported.png)
- If two components share the same address an error will appear. If no you can jum to step 39.
%2036%20-%20Base%20memory%20error.png)
- Assign new address manually, or automatically by going to System > Assign Base Addresses.
%2037%20-%20New%20base%20address.png)
- Save the system.
%2038%20-%20Save.png)
- Then click on Generate HDL... button.
%2039%20-%20Generate%20HDL.png)
- Click on Generate HDL....
%2040%20-%20Generation.png)
- A progress bar with messages will appear while generating.
%2041%20-%20Generating.png)
- When the generation ends a message similar to the following will appear.
%2035%20-%20Generation%20completed.png)