搜索
bottom↓
回复: 9

关于FPGA时序约束一个问题。

[复制链接]

出0入0汤圆

发表于 2015-4-13 14:36:53 | 显示全部楼层 |阅读模式
本帖最后由 路人甲被注册了 于 2015-4-13 15:19 编辑

CPU每隔相应时间置寄存器,清除数据/累加数据。

仿真过,仔细找过,没找到逻辑问题。严重怀疑是时序约束问题,数据周期是250M,怀疑门电路延迟超过4ns,以至于 每几次数据就会出错一次。

出错的现象是:



求解怎么破。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2015-4-13 14:39:17 | 显示全部楼层
本帖最后由 路人甲被注册了 于 2015-4-13 14:41 编辑
  1. always @(posedge clk_250m or negedge rst_250_n) begin
  2.        if(!rst_250_n) begin
  3.                 ID_IDD_reg                 <= 32'd0;
  4.                 QD_QDD_reg       <= 32'd0;
  5.                 cnt              <= 8'd0;
  6.                 data_ready       <= 1'b0;
  7.         end   
  8.         else if(clr) begin
  9.                 ID_IDD_reg                 <= 32'd0;
  10.                 QD_QDD_reg       <= 32'd0;
  11.                 cnt              <= 8'd0;
  12.                 data_ready       <= 1'b0;
  13.         end
  14.         else if(start) begin
  15.                 //ID_IDD_reg[15:0]   <= (cnt == 9'h100) ? ID_IDD_reg[15:0] : (ID_IDD_reg[15:0] +IDD);
  16.                 //QD_QDD_reg[15:0]   <= (cnt == 9'h100) ? QD_QDD_reg[15:0] : (QD_QDD_reg[15:0] +QDD);
  17.                 //ID_IDD_reg[31:16]  <= (cnt == 9'h100) ? ID_IDD_reg[31:16] :(ID_IDD_reg[31:16] +ID);
  18.                 //QD_QDD_reg[31:16]  <= (cnt == 9'h100) ? QD_QDD_reg[31:16] :(QD_QDD_reg[31:16] +QD);
  19.                
  20.                 ID_IDD_reg[15:0]   <= (complet) ? ID_IDD_reg[15:0] : (ID_IDD_reg[15:0] + num);
  21.                 QD_QDD_reg[15:0]   <= (complet) ? QD_QDD_reg[15:0] : (QD_QDD_reg[15:0] + num);
  22.                 ID_IDD_reg[31:16]  <= (complet) ? ID_IDD_reg[31:16] :(ID_IDD_reg[31:16] +num);
  23.                 QD_QDD_reg[31:16]  <= (complet) ? QD_QDD_reg[31:16] :(QD_QDD_reg[31:16] +num);
  24.                 cnt <= (complet) ? cnt : (cnt + 9'd1);
  25.                 data_ready <= (complet) ? 1'b1 : 1'b0;
  26.         end
  27.         else  begin
  28.                 ID_IDD_reg         <= ID_IDD_reg;
  29.                 QD_QDD_reg   <= QD_QDD_reg;
  30.                 cnt          <= cnt;
  31.                 data_ready   <= data_ready;            
  32.         end
  33. end
复制代码

出0入22汤圆

发表于 2015-4-13 15:33:25 | 显示全部楼层
关注,不知道你的fpga是啥型号。

出0入0汤圆

 楼主| 发表于 2015-4-13 15:43:25 | 显示全部楼层
自结贴,精简逻辑门,问题似乎解决。
之前综合的逻辑。


修改之后:


推断,应该还是门延迟过久,超过一个周期。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2015-4-14 20:09:16 | 显示全部楼层
STA的时候没有报告timing requirement not meet? 加上250MHz的约束的话,综合工具应该保证满足4ns.

出0入0汤圆

发表于 2016-4-26 14:46:27 | 显示全部楼层
很好奇,,楼主是怎么将逻辑门精简下来的。

出0入0汤圆

发表于 2016-4-29 16:26:26 | 显示全部楼层
同问啊,楼主是怎么优化代码的,给我们这些小白讲讲呗

出0入0汤圆

 楼主| 发表于 2016-4-29 16:28:12 | 显示全部楼层
jm2011 发表于 2016-4-29 16:26
同问啊,楼主是怎么优化代码的,给我们这些小白讲讲呗

这都一年前的老贴了,我都好久没写FPGA了。

出0入0汤圆

 楼主| 发表于 2016-4-29 16:30:49 | 显示全部楼层
守望者2012 发表于 2016-4-26 14:46
很好奇,,楼主是怎么将逻辑门精简下来的。

挖到一手好坟

出0入0汤圆

发表于 2016-4-29 16:42:45 | 显示全部楼层
路人甲被注册了 发表于 2016-4-29 16:28
这都一年前的老贴了,我都好久没写FPGA了。

才发现是2015年的帖子了;
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-13 01:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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