Skip to content
Snippets Groups Projects
Commit 9af385f3 authored by dwf1m12's avatar dwf1m12
Browse files

build tracking PL230 DMA controller in testbench

parent 97857c30
No related branches found
No related tags found
No related merge requests found
...@@ -510,40 +510,78 @@ ft1248x1_track ...@@ -510,40 +510,78 @@ ft1248x1_track
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
// Tracking DMA logging support // Tracking DMA logging support
// - Track inputs to on-chip PL230 DMAC and replicate state and outputs in testbench
// - log the RTL Inuts/outputs/internal-state of this traccking DMAC
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
`define DMAC_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_pl230_udma `define DMAC_PATH u_nanosoc_chip_pads.u_nanosoc_chip.u_pl230_udma
dma_log_to_file #(.FILENAME("dma230.log"),.NUM_CHNLS(2),.NUM_CHNL_BITS(1),.TIMESTAMP(1)) pl230_udma u_track_pl230_udma (
u_dma_log_to_file ( // Clock and Reset
.hclk (`DMAC_PATH.hclk), .hclk (`DMAC_PATH.hclk),
.hresetn (`DMAC_PATH.hresetn), .hresetn (`DMAC_PATH.hresetn),
// DMA Control
.dma_req (`DMAC_PATH.dma_req),
.dma_sreq (`DMAC_PATH.dma_sreq),
.dma_waitonreq (`DMAC_PATH.dma_waitonreq),
.dma_stall (`DMAC_PATH.dma_stall),
.dma_active ( ),
.dma_done ( ),
.dma_err ( ),
// AHB-Lite Master Interface // AHB-Lite Master Interface
.hready (`DMAC_PATH.hready), .hready (`DMAC_PATH.hready),
.hresp (`DMAC_PATH.hresp), .hresp (`DMAC_PATH.hresp),
.hrdata (`DMAC_PATH.hrdata), .hrdata (`DMAC_PATH.hrdata),
.htrans (`DMAC_PATH.htrans), .htrans ( ),
.hwrite (`DMAC_PATH.hwrite), .hwrite ( ),
.haddr (`DMAC_PATH.haddr), .haddr ( ),
.hsize (`DMAC_PATH.hsize), .hsize ( ),
.hburst (`DMAC_PATH.hburst), .hburst ( ),
.hprot (`DMAC_PATH.hprot), .hmastlock ( ),
.hwdata (`DMAC_PATH.hwdata), .hprot ( ),
// APB control interface .hwdata ( ),
// APB Slave Interface
.pclken (`DMAC_PATH.pclken), .pclken (`DMAC_PATH.pclken),
.psel (`DMAC_PATH.psel), .psel (`DMAC_PATH.psel),
.pen (`DMAC_PATH.pen), .pen (`DMAC_PATH.pen),
.pwrite (`DMAC_PATH.pwrite), .pwrite (`DMAC_PATH.pwrite),
.paddr (`DMAC_PATH.paddr), .paddr (`DMAC_PATH.paddr),
.pwdata (`DMAC_PATH.pwdata), .pwdata (`DMAC_PATH.pwdata),
.prdata (`DMAC_PATH.prdata), .prdata ( )
);
`define DMAC_TRACK_PATH u_track_pl230_udma
dma_log_to_file #(.FILENAME("dma230.log"),.NUM_CHNLS(2),.NUM_CHNL_BITS(1),.TIMESTAMP(1))
u_dma_log_to_file (
.hclk (`DMAC_TRACK_PATH.hclk),
.hresetn (`DMAC_TRACK_PATH.hresetn),
// AHB-Lite Master Interface
.hready (`DMAC_TRACK_PATH.hready),
.hresp (`DMAC_TRACK_PATH.hresp),
.hrdata (`DMAC_TRACK_PATH.hrdata),
.htrans (`DMAC_TRACK_PATH.htrans),
.hwrite (`DMAC_TRACK_PATH.hwrite),
.haddr (`DMAC_TRACK_PATH.haddr),
.hsize (`DMAC_TRACK_PATH.hsize),
.hburst (`DMAC_TRACK_PATH.hburst),
.hprot (`DMAC_TRACK_PATH.hprot),
.hwdata (`DMAC_TRACK_PATH.hwdata),
// APB control interface
.pclken (`DMAC_TRACK_PATH.pclken),
.psel (`DMAC_TRACK_PATH.psel),
.pen (`DMAC_TRACK_PATH.pen),
.pwrite (`DMAC_TRACK_PATH.pwrite),
.paddr (`DMAC_TRACK_PATH.paddr),
.pwdata (`DMAC_TRACK_PATH.pwdata),
.prdata (`DMAC_TRACK_PATH.prdata),
// DMA Control // DMA Control
.dma_req (`DMAC_PATH.dma_req), .dma_req (`DMAC_TRACK_PATH.dma_req),
.dma_active (`DMAC_PATH.dma_active), .dma_active (`DMAC_TRACK_PATH.dma_active),
.dma_done (`DMAC_PATH.dma_done), .dma_done (`DMAC_TRACK_PATH.dma_done),
// DMA state // DMA state from tracking RTL model
.dma_chnl (`DMAC_PATH.u_pl230_ahb_ctrl.current_chnl), .dma_chnl (`DMAC_TRACK_PATH.u_pl230_ahb_ctrl.current_chnl),
.dma_ctrl_state(`DMAC_PATH.u_pl230_ahb_ctrl.ctrl_state) .dma_ctrl_state(`DMAC_TRACK_PATH.u_pl230_ahb_ctrl.ctrl_state)
); );
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment