diff --git a/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v b/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v index 8cea4e5d2a4d0d678decd13ecba12d9369801dbb..aa42a2de7ad00de44e6b5f8bd9b8870a9a0e3140 100644 --- a/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v +++ b/Cortex-M0/nanosoc/systems/mcu/verilog/tb_nanosoc.v @@ -510,40 +510,78 @@ ft1248x1_track // -------------------------------------------------------------------------------- // 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 - dma_log_to_file #(.FILENAME("dma230.log"),.NUM_CHNLS(2),.NUM_CHNL_BITS(1),.TIMESTAMP(1)) - u_dma_log_to_file ( + pl230_udma u_track_pl230_udma ( + // Clock and Reset .hclk (`DMAC_PATH.hclk), .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 .hready (`DMAC_PATH.hready), .hresp (`DMAC_PATH.hresp), .hrdata (`DMAC_PATH.hrdata), - .htrans (`DMAC_PATH.htrans), - .hwrite (`DMAC_PATH.hwrite), - .haddr (`DMAC_PATH.haddr), - .hsize (`DMAC_PATH.hsize), - .hburst (`DMAC_PATH.hburst), - .hprot (`DMAC_PATH.hprot), - .hwdata (`DMAC_PATH.hwdata), - // APB control interface + .htrans ( ), + .hwrite ( ), + .haddr ( ), + .hsize ( ), + .hburst ( ), + .hmastlock ( ), + .hprot ( ), + .hwdata ( ), + // APB Slave Interface .pclken (`DMAC_PATH.pclken), .psel (`DMAC_PATH.psel), .pen (`DMAC_PATH.pen), .pwrite (`DMAC_PATH.pwrite), .paddr (`DMAC_PATH.paddr), .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_req (`DMAC_PATH.dma_req), - .dma_active (`DMAC_PATH.dma_active), - .dma_done (`DMAC_PATH.dma_done), - // DMA state - .dma_chnl (`DMAC_PATH.u_pl230_ahb_ctrl.current_chnl), - .dma_ctrl_state(`DMAC_PATH.u_pl230_ahb_ctrl.ctrl_state) + .dma_req (`DMAC_TRACK_PATH.dma_req), + .dma_active (`DMAC_TRACK_PATH.dma_active), + .dma_done (`DMAC_TRACK_PATH.dma_done), + // DMA state from tracking RTL model + .dma_chnl (`DMAC_TRACK_PATH.u_pl230_ahb_ctrl.current_chnl), + .dma_ctrl_state(`DMAC_TRACK_PATH.u_pl230_ahb_ctrl.ctrl_state) ); // --------------------------------------------------------------------------------