OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3972|回复: 2

[XILINX] 达芬奇开发板DDR3读写实验例化MIG不能为空

[复制链接]

17

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
175
金钱
175
注册时间
2015-5-28
在线时间
21 小时
发表于 2021-11-11 09:19:06 | 显示全部楼层 |阅读模式
1金钱
.app_sr_req (), // input app_sr_req .app_ref_req (), // input app_ref_req
.app_zq_req (), // input app_zq_req



在原子例程里面,mig核例化的时候可以为空,编译能通过,且ddr3读写功能正常。但是在我自己建立的工程里面,例化mig的时候编译为空报如下错误:
[Opt 31-67] Problem: A LUT5 cell in the design is missing a connection on input pin I2, which is used by the LUT equation. This pin has either been left
unconnected in the design or the connection was removed due to the trimming of unused logic. The LUT cell name is: u_mig_7series_0/u_mig_7series_0_mig/
u_memc_ui_top_std/mem_intfc0/mc0/rank_mach0/rank_common0/refresh_generation.refresh_bank_r[0]_i_1.


我尝试过例化为高电平,如下,现象是MIG内核在ILA仿真的时候不工作,
.app_sr_req (1'b1), // input app_sr_req .app_ref_req (1'b1), // input app_ref_req
.app_zq_req (1'b1), // input app_zq_req



我尝试过例化为低电平,如下,现象是MIG内核在ILA仿真的时候,写入的数据和读到的数据都是0,但是板子上的指示灯常量
.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































最佳答案

查看完整内容[请看2#楼]

你可以直接编译原子的例程没有问题的,至于你写入的数据和读出的数据全是0有两种情况,一种就是你写进去的是0,读出来的当然是0。第二种情况是你ddr初始化成功了,但是读时序错了,那么此时读数据有效信号不会拉高此时error默认为0。led灯常亮(这是个bug)。可以像我这样改一下 //复位或者ddr初始化失败都认为是ddr状态错误,只有当读出的数据是我们预期的数据时认为ddr进入正确状态拉低error always @(posedge ui_clk or neged ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-7-7
在线时间
2 小时
发表于 2021-11-11 09:19:07 | 显示全部楼层
你可以直接编译原子的例程没有问题的,至于你写入的数据和读出的数据全是0有两种情况,一种就是你写进去的是0,读出来的当然是0。第二种情况是你ddr初始化成功了,但是读时序错了,那么此时读数据有效信号不会拉高此时error默认为0。led灯常亮(这是个bug)。可以像我这样改一下 //复位或者ddr初始化失败都认为是ddr状态错误,只有当读出的数据是我们预期的数据时认为ddr进入正确状态拉低error   always @(posedge ui_clk or negedge rst_n) begin      if(~rst_n|| (~init_calib_complete ))           error <= 1'b1;      else if(app_rd_data_valid && (rd_cnt==app_rd_data))          error <= 1'b0;   end    //ddr进入正确状态后检测读数据,都过程中读数据只要有一个错误就代表读写失败  always @(posedge ui_clk or negedge rst_n) begin      if(~rst_n)           error_flag <= 0;      else if(app_rd_data_valid && (rd_cnt!=app_rd_data))          error_flag <= 1;   end     //led指示效果控制  always @(posedge ui_clk or negedge rst_n) begin       if(~rst_n ) begin          led_cnt <= 25'd0;          led <= 1'b0;      end      else begin          if(~error_flag &&(~error))                        //读写测试正确                       led <= 1'b1;                       //led灯常亮           else begin                            //读写测试错误              led_cnt <= led_cnt + 25'd1;              if(led_cnt == L_TIME - 1'b1) begin              led_cnt <= 25'd0;              led <= ~led;                      //led灯闪烁              end                               end        end  end
回复

使用道具 举报

4

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4199
金钱
4199
注册时间
2019-9-4
在线时间
881 小时
发表于 2021-11-11 10:28:25 | 显示全部楼层
帮顶  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 19:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表