日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VIVADO调用MIG产生DDR3时实例化遇到的问题以及解决方法

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VIVADO调用MIG产生DDR3时实例化遇到的问题以及解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.[Place 30-51] IDELAYCTRL elements have been found to be associated with IODELAY_GROUP ‘DDR3_IODELAY_MIG0’, but the design does not contain IODELAY elements associated with this IODELAY_GROUP.
問題解析:這個問題很簡單,就是DDR3 module 的輸入時鐘與所需要的時鐘不匹配,例如配置所需的時鐘為200MHz

下面是調用的DDR3模塊的,模塊的倒數第二行是,模塊的時鐘輸入,時鐘源來自PLL產生的系統時鐘的倍頻。

ddr3 ddr3_1 ( // Memory interface ports .ddr3_addr (ddr3_addr), .ddr3_ba (ddr3_ba), .ddr3_cas_n (ddr3_cas_n), .ddr3_ck_n (ddr3_ck_n), .ddr3_ck_p (ddr3_ck_p), .ddr3_cke (ddr3_cke), .ddr3_ras_n (ddr3_ras_n), .ddr3_reset_n (ddr3_reset_n), .ddr3_we_n (ddr3_we_n), .ddr3_dq (ddr3_dq), .ddr3_dqs_n (ddr3_dqs_n), .ddr3_dqs_p (ddr3_dqs_p), .init_calib_complete (init_calib_complete), .ddr3_cs_n (ddr3_cs_n), .ddr3_dm (ddr3_dm), .ddr3_odt (ddr3_odt), // Application interface ports .ui_clk (ui_clk), .ui_clk_sync_rst (ui_clk_sync_rst), // output ui_clk_sync_rst .mmcm_locked (), // output mmcm_locked .aresetn (1'b1), // input aresetn .app_sr_req (1'b0), // input app_sr_req .app_ref_req (1'b0), // input app_ref_req .app_zq_req (1'b0), // input app_zq_req .app_sr_active (), // output app_sr_active .app_ref_ack (), // output app_ref_ack .app_zq_ack (), // output app_zq_ack // Slave Interface Write Address Ports .s_axi_awid (s00_axi_awid), // input [0:0] s_axi_awid .s_axi_awaddr (s00_axi_awaddr), // input [29:0] s_axi_awaddr .s_axi_awlen (s00_axi_awlen), // input [7:0] s_axi_awlen .s_axi_awsize (s00_axi_awsize), // input [2:0] s_axi_awsize .s_axi_awburst (s00_axi_awburst), // input [1:0] s_axi_awburst .s_axi_awlock (s00_axi_awlock), // input [0:0] s_axi_awlock .s_axi_awcache (s00_axi_awcache), // input [3:0] s_axi_awcache .s_axi_awprot (s00_axi_awprot), // input [2:0] s_axi_awprot .s_axi_awqos (s00_axi_awqos), // input [3:0] s_axi_awqos .s_axi_awvalid (s00_axi_awvalid), // input s_axi_awvalid .s_axi_awready (s00_axi_awready), // output s_axi_awready // Slave Interface Write Data Ports .s_axi_wdata (s00_axi_wdata), // input [63:0] s_axi_wdata .s_axi_wstrb (s00_axi_wstrb), // input [7:0] s_axi_wstrb .s_axi_wlast (s00_axi_wlast), // input s_axi_wlast .s_axi_wvalid (s00_axi_wvalid), // input s_axi_wvalid .s_axi_wready (s00_axi_wready), // output s_axi_wready // Slave Interface Write Response Ports .s_axi_bid (s00_axi_bid), // output [0:0] s_axi_bid .s_axi_bresp (s00_axi_bresp), // output [1:0] s_axi_bresp .s_axi_bvalid (s00_axi_bvalid), // output s_axi_bvalid .s_axi_bready (s00_axi_bready), // input s_axi_bready // Slave Interface Read Address Ports .s_axi_arid (s00_axi_arid), // input [0:0] s_axi_arid .s_axi_araddr (s00_axi_araddr), // input [29:0] s_axi_araddr .s_axi_arlen (s00_axi_arlen), // input [7:0] s_axi_arlen .s_axi_arsize (s00_axi_arsize), // input [2:0] s_axi_arsize .s_axi_arburst (s00_axi_arburst), // input [1:0] s_axi_arburst .s_axi_arlock (s00_axi_arlock), // input [0:0] s_axi_arlock .s_axi_arcache (s00_axi_arcache), // input [3:0] s_axi_arcache .s_axi_arprot (s00_axi_arprot), // input [2:0] s_axi_arprot .s_axi_arqos (s00_axi_arqos), // input [3:0] s_axi_arqos .s_axi_arvalid (s00_axi_arvalid), // input s_axi_arvalid .s_axi_arready (s00_axi_arready), // output s_axi_arready // Slave Interface Read Data Ports .s_axi_rid (s00_axi_rid), // output [0:0] s_axi_rid .s_axi_rdata (s00_axi_rdata), // output [63:0] s_axi_rdata .s_axi_rresp (s00_axi_rresp), // output [1:0] s_axi_rresp .s_axi_rlast (s00_axi_rlast), // output s_axi_rlast .s_axi_rvalid (s00_axi_rvalid), // output s_axi_rvalid .s_axi_rready (s00_axi_rready), // input s_axi_rready // System Clock Ports .sys_clk_i (clk_DDR ),// input DDR3 CLK,DDR3模塊的輸入時鐘 .sys_rst (rst_n )); // input sys_rst

下面是系統時鐘緩沖模塊IBUFG module,和時鐘倍頻PLL module,如果這個時候的clk_DDR時鐘不是DRR3模塊所需要的200MHz,那么就會產生上面的錯誤。

IBUFG IBUFG_U (.O(clk_bufg),.I(sys_clk) );//generate the video and CMOS sensor clocksys_pll video(// Clock out ports.clk_out1(clk_video), // output clk_out1,40M.clk_out2(clk_40m), // output clk_out2.clk_out3(adc_clk), // output clk_out3,125M.clk_out4(clk_DDR), // output clk_out3,125M// Status and control signals.locked( ), // output locked// Clock in ports.clk_in1(clk_bufg)); // input clk_in1

解決方法:把PLL部分的clk_DDR的時鐘輸出為200MHz就可以了,或者把MIG中的DDR3的輸入時鐘改成你想要的時鐘大小即可,反正時鐘匹配上就可以了。

以上。。。

總結

以上是生活随笔為你收集整理的VIVADO调用MIG产生DDR3时实例化遇到的问题以及解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。