Skip to content

Migrate tests to use cocotb #170

@amykyta3

Description

@amykyta3

Currently there is a significant amount of duplication between CPU interface testbench library components

Specifically:

  • tb_inst.sv templates contain a lot of common boilerplate
  • *_driver.sv files all implement the exact same assert_read methods, among other things

For the tb_inst.sv template, see if it makes sense to autogenerate more of it. Or possibly use a hierarchical Jinja template using blocks & inheritance to make it less verbose. Important: Be careful to not sacrifice clarity. This TB infrastructure is already pretty non-traditional and can be confusing to newcomers.

For drivers, migrate the driver API to live inside SV classes so that they can use proper inheritance.

Or a different wild idea: migrate ALL testbench infrastructure to something like cocotb. SystemVerilog is nice, but much of the verilator compatibility issues are due to fancy things being done in the testbench code and not the generated RTL.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions