Skip to main content

A cocotb extension for HyperBus controllers

Project description

cocotb extension for HyperBus

PyPI version

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

  1. 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;
    
  2. 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 dut
  • WriteReg(addr,data): Write data into register at addr
  • ReadReg(addr): Read from register at addr
  • generate_random_data(len): Generate random 32-bit data of len length
  • WriteMem(addr,data): Write data into memory at addr
  • ReadMem(addr,len): Read len 32-bit data from memory starting from addr

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cocotbext_hyperbus-0.2.2.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

cocotbext_hyperbus-0.2.2-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page