设为首页 加入收藏

TOP

利用ZYNQ SOC快速打开算法验证通路(5)——system generator算法IP导入IP integrator(二)
2019-08-24 00:07:01 】 浏览:183
Tags:利用 ZYNQ SOC 快速 打开 算法 验证 通路 system generator 导入 integrator
wire [31:0]DDR_dq; 81 wire [3:0]DDR_dqs_n; 82 wire [3:0]DDR_dqs_p; 83 wire DDR_odt; 84 wire DDR_ras_n; 85 wire DDR_reset_n; 86 wire DDR_we_n; 87 wire FCLK_CLK0; 88 wire FIXED_IO_ddr_vrn; 89 wire FIXED_IO_ddr_vrp; 90 wire [53:0]FIXED_IO_mio; 91 wire FIXED_IO_ps_clk; 92 wire FIXED_IO_ps_porb; 93 wire FIXED_IO_ps_srstb; 94 wire RES; 95 wire SCLK; 96 wire SDIN; 97 wire VBAT; 98 wire VDD; 99 wire [0:0]m_axis_tvalid; 100 wire [0:0]peripheral_aresetn; 101 wire s_axis_s2mm_tlast; 102 103 reg [8-1:0] cnt; 104 wire add_cnt; 105 wire end_cnt; 106 107 system system_i 108 (.DC(DC), 109 .DDR_addr(DDR_addr), 110 .DDR_ba(DDR_ba), 111 .DDR_cas_n(DDR_cas_n), 112 .DDR_ck_n(DDR_ck_n), 113 .DDR_ck_p(DDR_ck_p), 114 .DDR_cke(DDR_cke), 115 .DDR_cs_n(DDR_cs_n), 116 .DDR_dm(DDR_dm), 117 .DDR_dq(DDR_dq), 118 .DDR_dqs_n(DDR_dqs_n), 119 .DDR_dqs_p(DDR_dqs_p), 120 .DDR_odt(DDR_odt), 121 .DDR_ras_n(DDR_ras_n), 122 .DDR_reset_n(DDR_reset_n), 123 .DDR_we_n(DDR_we_n), 124 .FCLK_CLK0(FCLK_CLK0), 125 .FIXED_IO_ddr_vrn(FIXED_IO_ddr_vrn), 126 .FIXED_IO_ddr_vrp(FIXED_IO_ddr_vrp), 127 .FIXED_IO_mio(FIXED_IO_mio), 128 .FIXED_IO_ps_clk(FIXED_IO_ps_clk), 129 .FIXED_IO_ps_porb(FIXED_IO_ps_porb), 130 .FIXED_IO_ps_srstb(FIXED_IO_ps_srstb), 131 .RES(RES), 132 .SCLK(SCLK), 133 .SDIN(SDIN), 134 .VBAT(VBAT), 135 .VDD(VDD), 136 .m_axis_tvalid(m_axis_tvalid), 137 .peripheral_aresetn(peripheral_aresetn), 138 .s_axis_s2mm_tlast(s_axis_s2mm_tlast)); 139 140 always @(posedge FCLK_CLK0)begin 141 if(!peripheral_aresetn)begin 142 cnt <= 0; 143 end 144 else if(add_cnt)begin 145 if(end_cnt) 146 cnt <= 0; 147 else 148 cnt <= cnt + 1; 149 end 150 end 151 152 assign add_cnt = m_axis_tvalid; 153 assign end_cnt = add_cnt && cnt== DATA_NUM-1; 154 155 assign s_axis_s2mm_tlast = end_cnt; 156 157 endmodule user_wrapper

  当自定义IP核输出256个数据时,拉高tlast信号结束传输。打开综合后的设计,添加调试探针,抓取DMA与自定义IP之间的接口信号,set up debug后完成接下来的流程。

六、软硬件联调

   在硬件系统中定义数据帧长度为256个,数据位宽为16bit,因此C代码中DMA启动传输函数中数据长度参数为512byte。测试数据生成与检测代码非常简单:

  我们直接查看ILA抓取AXI S总线波形:

  看到CPU产生数据从1到4重复递增,IP核输出结果从2到8重复递增,输出为输入的2倍。

  传输完成后进入DMA发送和接收中断,软件检测结果正确。在Memory窗口能够直接查看内存绝对地址里的数据,选定DDR接收缓存区起始地址,其中的数据与AXI总线传回数据一致,证明系统联调成功。之后任意算法模块均可采用本文方式进行设计和集成,可以说一劳永逸!

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇剑指Offer - 九度1506 - 求1+2+3+.. 下一篇目标反射回波检测算法及其FPGA实..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目