(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).

How to add a new Verilog IP component

  1. Open Quartus

  2. Open Quartus Project

  3. Open Platform Designer from Tools > Platform Designer.

03_Open_Platform_Designer

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

04_Open_qsys_file

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

05_New_IP

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

Component Editor

  1. Click Finish... to save your design.

New component

  1. 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.

Save changes

  1. 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

  1. 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

Using a template

  1. From the Templates menu choose Add Typical AXI4 Slave.

Typical AXI4 Slave template

  1. Go to the Signals & Interfaces tab.

Signals and Interfaces

  1. See the newly created interfaces and signals, add more if you need.

Address size

  1. You can create a Conduit if you need to expose an input or output to the FPGA portion.

Conduit

  1. A new interface is added.

New Conduit

  1. Change the name of the new interface as desired.

Change conduit name

  1. Associated a reset signal to the interface.

Conduit reset signal

  1. Create a new conduit signal.

Conduit new signal

  1. Change the name of the new conduit signal as desired.

Change signal name

  1. Change the signal width as desired.

Signal width

  1. The signals must be now ready (add others if you need it).

Signals ready

  1. Create synthesis file from the signals and interfaces in the File window.

Create synthesis file

  1. A new emergent window appear to create the HDL template.

Create HDL

  1. Choose your destination path.

Change HDL path

  1. You can open the file explorer to choose your file desination.

Open window

  1. Save you HDL file.

New path

  1. Finish the IP component design by clicking on Finish....

Finish

  1. Save the changes by clicking on Yes, Save option.

Save changes

  1. A new window showing the saving process appears.

Saving

  1. After returning to Platform Designer main window click on Add... from the IP Catalog tab.

Add

  1. A new window for adding component appears (configure if parameters where added to IP design).

Add window

  1. A new disconnect component appears in the System Contents tab.

New IP added

  1. Make the desired conections.

Interconnect

  1. Export your Conduit signals by double clicking in the Export column from the Conduit row.

Exporting

  1. The Conduit is succesfully exported.

Exported

  1. If two components share the same address an error will appear. If no you can jum to step 39.

Base memory error

  1. Assign new address manually, or automatically by going to System > Assign Base Addresses.

New base address

  1. Save the system.

Save

  1. Then click on Generate HDL... button.

Generate HDL

  1. Click on Generate HDL....

Generation

  1. A progress bar with messages will appear while generating.

Generating

  1. When the generation ends a message similar to the following will appear.

Generation completed


Relevant Links

Return to 3.2 Hardware Configuration and Synthetization

⚠️ **GitHub.com Fallback** ⚠️