cocotb
verilog-axi
Our great sponsors
cocotb | verilog-axi | |
---|---|---|
28 | 9 | |
1,590 | 1,252 | |
3.5% | - | |
9.7 | 3.0 | |
3 days ago | 4 months ago | |
Python | Verilog | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
cocotb
-
Designing a Low Latency 10G Ethernet Core
The use of cocotb and pyuvm for verification
-
How is Python used in test automation in embedded systems?
For FPGA/HDL work, there's cocotb
-
Introducing CoHDL
At the moment, it is not possible to directly simulate synthesizable contexts. In principle, I could add a simulator to CoHDL. As a Python implementation, it would be orders of magnitude slower than other solutions. Instead, I am using Cocotb to validate the generated VHDL and for the unit tests in the GitHub repository. There is also some very, very experimental support for formal verification, but it will take some time for that to become usable.
- Use cocotb to test and verify chip designs in Python
-
Trying to learn and work with FPGAs
On the topic of simulation, you don't have to restrict yourself to using Verilog or VHDL to write your test benches. For example, Verilator lets you write them in C++, cocotb lets you use Python, and if you use SpinalHDL you will drive the underlying simulator using Scala.
-
Help understanding how this makefile works?
I know it might be difficult without much context, but this makefile is called by a top level makefile. very confused if lines 35-74 do anything. They seem to be a mix of real makefile syntax and just straight up comments. what do these lines do?
-
COBS protocol decoder progress
Learn more about this here: https://www.cocotb.org/
-
AXI-Stream meme
Also consider cocotb, this thread has some compelling arguments. I'd say as a student, learning industry tools isn't necessarily the best thing you could spend your time on. Getting fast at design AND verification, where you can maintain flow state and run better microexperiments means you will understand more, faster.
-
cocotb
Have you tried looking at the mixed language example?
- We're trying to sort this out with some of our engineers, so please humor - Do you prefer VHDL or Verilog?
verilog-axi
- awready and wready set high in master without salve value · Issue #57 · alexforencich/verilog-axi
-
Using Xilinx AXI interconnect to connect AXI lite master to AXI lite slaves
You can also use an AXI lite crossbar like this one: https://github.com/alexforencich/verilog-axi/blob/master/rtl/axil_crossbar.v
-
OS AXI4 Crossbar with good performance
does anybody knows some sort of AXI4 Crossbar or maybe even an Interconnect with good performance in terms of latency? If I have something like the following scenario, the idea is that M1 txns must have very low access latency in the sense of making the CPU capable of processing at least one instruction per cc. For M2 it's fine to take more time, but what I'm observing is that with this solution for instance, I cannot achieve constant fetching from the CPU, there's always a 1 cc delay between req/resp what hits bad my IPC. Also, S1 cannot be tightly coupled to the CPU because sometimes M2 might require to also fetch from IRAM/ROM. Is it better to switch to another protocol to achieve such good performance latency? if so, what open source available solution can have interesting perf. num, wishbone / AHB?
-
Hey Xilinx users, let me have it...
You can also look at some of my code, which is all MIT licensed: https://github.com/alexforencich/verilog-axi
-
BRAM to AXI Stream in Xilinx Devices
AXI DMA, or the datamover core that the AXI DMA core uses internally, depending on your use case. I also have an open source AXI DMA module that's comparable to the Xilinx datamover core here: https://github.com/alexforencich/verilog-axi/blob/master/rtl/axi_dma.v
-
Converting an FPGA design to ASIC
Xilinx soft IPs: I use the Xilinx IPs: AXI DMA, AXI-Stream Datawidth converter, AXI-Stream Clock converter...etc, for which I'm able to find open source RTL designs here, here and here.
-
Fast, open-source RTL IPs for fixed & floating-point multiplication, accumulation & conversion
I'm thinking of synthesizing it with ASIC tools such as Synopsys DesignCompiler to check the area & timing. I found some open source projects with Verilog IPs for AXI (zipcpu, alexforencich) and AXIS (alexforencich) modules, and I think I can replace the Xilinx IPs with them. After publishing my paper, I'm planning to release my code as open-source as well.
-
Assigning values to Verilog parameters from Cocotb?
Thanks for the reply! I ran a particular testbench from your repository but when I placed print statements(print(tb.dut.S_DATA_WIDTH.value) in each test (run_test_write,run_test_read) , I found that it prints out the default parameter value (32) every time.
-
Can someone please explain to me the basic parts of a Cocotb testbench?
Here's one of my cocotb testbenches for reference: https://github.com/alexforencich/verilog-axi/blob/master/tb/axi_adapter/test_axi_adapter.py .
What are some alternatives?
cocotbext-axi - AXI interface modules for Cocotb
wb2axip - Bus bridges and other odds and ends
cocotb-test - Unit testing for cocotb
verilog-axis - Verilog AXI stream components for FPGA implementation
amaranth - A modern hardware definition language and toolchain based on Python
autofpga - A utility for Composing FPGA designs from Peripherals
chiselverify - A dynamic verification library for Chisel.
verilog-axi - Verilog AXI components for FPGA implementation
teroshdl-documenter-demo - This is an example of how TerosHDL can generate your documentation project from the command line. So you can integrate it in your CI workflow.
axidmacheck - AXI DMA Check: A utility to measure DMA speeds in simulation
SpinalHDL - Scala based HDL
zipcpu - A small, light weight, RISC CPU soft core