Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
P
Platform-independent core collection
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 10
    • Issues 10
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • Platform-independent core collection
  • Merge Requests
  • !22

Open
Opened Dec 15, 2022 by Tomasz Wlostowski@twlostow
  • Report abuse
Report abuse

Rework of SystemVerilog shared simulation code

  • Rework simdrv_defs into a SV package + header with common definitions.
  • Use SV queues instead of dynamic arrays in the APIs (as they resemble C++'s std::vector a bit more, hence are more convenient to use)
  • Added AXI4 BFMs from the PULP project library
  • Added a bunch of simulation drivers (for the VUART & LM32 MCS cores)
  • Added a trivial unit test/logging "framework" (logger.svh)
  • Updated license headers
  • Updated build scripts for testbenches using the SV models.

Note these changes will likely break your legacy testbenches, here's how to fix the most common issues:

  • If your code uses CBusAccessor::readm/writem, change the addr/data parameters to use SV queues (or u64_vector_t types) instead of dynamic arrays.
Edited Dec 15, 2022 by Tomasz Wlostowski

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b tom-mr-sv-sim-rework origin/tom-mr-sv-sim-rework

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/proposed_master
git merge --no-ff tom-mr-sv-sim-rework

Step 4. Push the result of the merge to GitLab

git push origin proposed_master

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 5
  • Commits 8
  • Changes 31
Tristan Gingold
Assignee
Tristan Gingold @tgingold
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: project/general-cores!22