A cocotb extension for HyperBus controllers
Project description
cocotb extension for HyperBus
Installation
Installation from pip (release version, stable):
pip install cocotbext-hyperbus
Installation for active development:
git clone https://github.com/meeeeet/cocotbext_hyperbus
pip install -e cocotbext_hyperbus
Documentation and usage examples
See the tests
directory for complete testbenches using these modules.
Configuration
-
Alter the following parameter in the Infineon HyperRAM RTL code to avoid the cocotb having to wait a long time and the simulation crashing.
// tdevice values: values for internal delays // power-on reset specparam tdevice_VCS = 150; // Deep Power Down to Idle wake up time specparam tdevice_DPD = 150; // Exit Event from Deep Power Down specparam tdevice_DPDCSL = 20; // Warm HW reset specparam tdevice_RPH = 40; // Refresh time specparam tdevice_REF100 = 40; // Page Open Time specparam tdevice_PO100 = 40;
-
Make a wrapper module for better experience and make sure to use signal names in lowercase in wrapper module as shown in
test/wrapper_ram.v
.
HyperBus
The HyperBusController
class can be used to drive and receive data from HyperRAM.
To use these modules, import the one you need and connect it to the DUT:
from cocotbext_hyperbus import HyperBusController
@cocotb.test()
async def sample_test(dut):
hbc=HyperBusController(dut)
Methods
Reset(dut)
: Reset the dutWriteReg(addr,data)
: Write data into register at addrReadReg(addr)
: Read from register at addrgenerate_random_data(len)
: Generate random 32-bit data of len lengthWriteMem(addr,data)
: Write data into memory at addrReadMem(addr,len)
: Read len 32-bit data from memory starting from addr
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cocotbext_hyperbus-0.2.2.tar.gz
.
File metadata
- Download URL: cocotbext_hyperbus-0.2.2.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63493a04f1a2f1dc6af934d7046a6b47ee90cbcbb5534d3a5d7e6eb784686623 |
|
MD5 | 45bd6eef510863250ff099a2c576d666 |
|
BLAKE2b-256 | 5f4d5c8f91c49d8a5536d9f55470c56329ecfed6fb15db0fb8d00be6676c63be |
File details
Details for the file cocotbext_hyperbus-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: cocotbext_hyperbus-0.2.2-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a63c25b389d0fa176d2db0b752f796c344b933aa8a414ca77288a44fb9e0409 |
|
MD5 | 7284807b489fb59fd45bdf4ba611ae8f |
|
BLAKE2b-256 | 9108f9023eb15b3d40b5796c249a99326aa26ea99ff8d163d902f1049b903599 |