Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AXI DMAC: Test Framelock #104

Merged
merged 3 commits into from
Nov 19, 2024
Merged

AXI DMAC: Test Framelock #104

merged 3 commits into from
Nov 19, 2024

Conversation

gastmaier
Copy link
Contributor

Tests #analogdevicesinc/hdl/1332.
Add a VIP for IO.
Add AXI DMAC Framelock testbench.
Will merge conflict with #103 since adds the same changes to support libraries in this repo.
Uses "old" axi_dmac_pkg. Happy to update it to the new class based pkgs, either in this pr or in a future one.

@gastmaier gastmaier changed the title Axi dmac flock AXI DMAC: Test Framelock May 20, 2024
@gastmaier gastmaier force-pushed the axi_dmac_flock branch 4 times, most recently from 2318ee1 to 6271fe7 Compare July 18, 2024 17:00
@gastmaier gastmaier marked this pull request as ready for review July 18, 2024 17:08
Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review
Some other notes: update the license header's year where it's needed

common/sv/dmac_api.sv Outdated Show resolved Hide resolved
common/sv/dma_trans.sv Outdated Show resolved Hide resolved
common/sv/io_vip/io_vip.sv Outdated Show resolved Hide resolved
common/sv/io_vip/io_vip.sv Outdated Show resolved Hide resolved
Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A note on the configurations. Configuration lists that are used for certain IPs can be passed to the system_bd just the same as other regular simple values with ad_project_params. On top of this, the scripts automatically create variables based on the configuration lists. You can check axi_tdd project for an example. I don't want you to change it unnecessarily, just to let you know about it.

dma_flock/environment.sv Outdated Show resolved Hide resolved
dma_flock/environment.sv Outdated Show resolved Hide resolved
dma_flock/environment.sv Outdated Show resolved Hide resolved
dma_flock/environment.sv Outdated Show resolved Hide resolved
dma_flock/scoreboard.sv Outdated Show resolved Hide resolved
dma_flock/system_bd.tcl Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't comment on the test program, as I don't know how Framelock works yet.

Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unresolved a couple of changes and requested some others.

dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program_frame_delay.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program_frame_delay.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program_frame_delay.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program_frame_delay.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program_frame_delay.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When looking into the testbench, I saw something weird with the tlast signal. When running cfg2_fsync configuration with test_program_frame_delay, after a single test was finished running, on the monitoring AXI Stream interface the tlast signal was not asserted, meaning that the packet was not transferred. Is this a framelock specific feature that causes the tlast not being asserted or something else?

dma_flock/tests/test_program.sv Outdated Show resolved Hide resolved
@IstvanZsSzekely IstvanZsSzekely added new New testbench enhancement New feature or request labels Aug 28, 2024
Copy link
Contributor

@IstvanZsSzekely IstvanZsSzekely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Structurally and functionally everything seems to be good. I didn't check the the Framelock functionality in detail, so can't comment on the stimulus itself.
Tested, working.

@gastmaier gastmaier changed the base branch from main to next_main October 16, 2024 18:40
Base automatically changed from next_main to main October 17, 2024 12:03
@gastmaier gastmaier changed the base branch from main to spi_delay October 17, 2024 14:24
@gastmaier gastmaier changed the base branch from spi_delay to main October 17, 2024 14:25
A VIP to drive or receive an I/O, the direction is configured by a
parameter.

Signed-off-by: Jorge Marques <[email protected]>
AUTORUN mode is meant to be executed without a processing system, so the
whole execution should occur without writing any register, only by
parametrizing, at dmac_api, skip any writes during the probe.
Add framelock methods to support the framelock feature.

Signed-off-by: Jorge Marques <[email protected]>
Verify the framelock when the writer is faster than the reader and
vice-versa.
Test with delay and in AutoRun mode.

Signed-off-by: Jorge Marques <[email protected]>
@gastmaier gastmaier merged commit 5813b38 into main Nov 19, 2024
2 checks passed
@gastmaier gastmaier deleted the axi_dmac_flock branch November 19, 2024 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request new New testbench
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants