Skip to content

Files for the IP Integration Exercise

Notifications You must be signed in to change notification settings

gbellocchi/dummy_vip

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Instructions

You have the task to integrate a very simple dummy IP into PULPissimo using the IPApprox dependency management tool. The module doesn't really do anything except for printing some log statements during simulation but it forces you to go throught the complete IP integration and packaging flow using IPApprox.

  1. Create your own fork of the dummy_vip repository.

  2. Create a package description for IPApprox in your newly forked repository listin the relevant files within the package. Since dummy_vip contains non-synthesizable code it should be packaged in a manner such that it won't be included during ASIC & FPGA synthesis.

  3. Instantiate the dummy_top module within the toplevel of pulp_soc (you have to create a new fork of pulp_soc for this purpose). Again, take the appropriate measures to only include module if we are compiling the codebase for simulation.

  4. Build and simulate PULPissimo with an application of your chosing. If you correctly integrated the IP, the simulation should run normally and you will see the output:

    # ** Info: Successfully integrated dummy IP.
    #    Time: 10 us  Scope: tb_pulp.i_dut.i_dummy_top.i_dummy_sub \
    #    File: /home/meggiman/projects/pulp/pulpissimo-new-soc-interconnect/sim/ \
    ../ips/dummy_vip/rtl/dummy_submodule.sv Line: 28
    
  5. If everything works, freeze your changes to the dummy_vip fork and update all version tags in the dependent packages.

  6. Run ./update-ips for a last time to verify, that the version pointers are correclty set and there are no dependency conflicts.

About

Files for the IP Integration Exercise

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • SystemVerilog 100.0%