pyxsi
Python/C/RTL cosimulation with Xilinx's xsim simulator (by gsmecher)
cocotbext-axi
AXI interface modules for Cocotb (by alexforencich)
Our great sponsors
pyxsi | cocotbext-axi | |
---|---|---|
4 | 4 | |
54 | 181 | |
- | - | |
4.4 | 4.6 | |
5 months ago | 6 months ago | |
C++ | Python | |
GNU General Public License v3.0 or later | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pyxsi
Posts with mentions or reviews of pyxsi.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-23.
-
Question for those who do DSP/algorithm verification
These three environments are glued together using pyxsi, which embeds Xilinx's simulator kernel (xsim). The result is a complicated monolith, but avoids the following "Bad Practices for Complex Dataflow":
-
interaction between vivado simulator and C/C++
Adam mentions it in his Aduvio post, but pyxsi shows how to stack Python on C/C++ on Vivado. (Disclaimer: mine.)
-
[CocoTB for beginners]: FPGA/ASIC Testbenches in Python + Automated Testing in GitHub​
The sketch here is a little stale but shows the general idea.
-
How good is the Vivado XSI?
I'm trying to understand if we can use the Vivado XSI to make our verification tasks easier and improve our coverage via a more productive language like C++ or python. I found an interesting project (https://github.com/gsmecher/pyxsi) that uses it but I'm still unsure if this is worth investing time on (given how many issues Xilinx tools usually have).
cocotbext-axi
Posts with mentions or reviews of cocotbext-axi.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-04.
-
Having trouble with cocotb AXI simulation, cocotb.scheduler error
0.00ns INFO ..b.dma_wrapper.m_axi_s2mm AXI slave model (write) 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm cocotbext-axi version 0.1.24 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm Copyright (c) 2021 Alex Forencich 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm https://github.com/alexforencich/cocotbext-axi 0.00ns DEBUG gpi m_axi_s2mm_awvalid has 1 elements 0.00ns DEBUG gpi m_axi_s2mm_awprot has 3 elements 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm Reset de-asserted 0.00ns DEBUG gpi m_axi_s2mm_wvalid has 1 elements 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm Reset de-asserted 0.00ns DEBUG gpi m_axi_s2mm_bvalid has 1 elements 0.00ns DEBUG gpi m_axi_s2mm_bready has 1 elements 0.00ns DEBUG gpi m_axi_s2mm_bresp has 2 elements 0.00ns INFO ..b.dma_wrapper.m_axi_s2mm Reset de-asserted 0.00ns DEBUG gpi m_axi_s2mm_awaddr has 32 elements
-
[CocoTB for beginners]: FPGA/ASIC Testbenches in Python + Automated Testing in GitHub​
I was hoping to decouple the designs from any particular vendor as much as I could so I would interface with the core (dut) with a Cocotb AXI Lite master to get/set registers. Then if I were using something like an AXI Stream to send/receive audio or video data there was a Cocotb python driver to process the data in the test bench. As an example, in part 5 the graphics core generated a 16x4 color bar image over AXI video stream that was captured by a Cocotb AXI Stream sink and then 'displayed' as hex values in one of the test.
-
Simulating AXI Accessing to DDR
This is where you can use a BFM (bus functional model). Basically, you can connect your design to a simulation model of the RAM. I wrote some cocotb extensions for doing stuff like this in cocotb, you can give that a try, assuming your code works with a simulator that's compatible with cocotb: https://github.com/alexforencich/cocotbext-axi
-
Cocotb
The cocotb bus repo has many of the useful drivers and monitors. https://github.com/cocotb/cocotb-bus/tree/master/src/cocotb_bus. There is also https://github.com/alexforencich/cocotbext-axi for some relevant AXI examples that you can also just use.
What are some alternatives?
When comparing pyxsi and cocotbext-axi you can also consider the following projects:
verilog-ethernet - Verilog Ethernet components for FPGA implementation
cocotb - cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
rohd - The Rapid Open Hardware Development (ROHD) framework is a framework for describing and verifying hardware in the Dart programming language.
cocotb-bus - Pre-packaged testbenching tools and reusable bus interfaces for cocotb
VHDL_real_time_simulation - Simple project for for a blog post with synthesizable models of buck converters