vivado FDCP问题

有一段verilog代码我是这样写的:

always @ ( posedge clk_125mhz or negedge rst_n)
begin 
 if(!rst_n)
   begin
     tx_data <= {tx_rst,TDATA0};
     tx_cnt <= 'b0;
     tx_sync_s <= 'b0;

   end
 else
   begin

vivado综合的时候就会报critical warning:

[Netlist 29-358] Reg 'pio_tx_ins0/tx_data_reg[98]' of type 'FDCP' cannot be timed accurately. Hardware behavior may be unpredictable. Use check_timing command for more information. ["E:/vivado_wsp/pio_verify/pio_verify.srcs/sources_1/new/pio_tx.v":174]


参考连接:

https://forums.xilinx.com/t5/Versal-and-UltraScale/FDCP-cannot-be-timed-accurately/m-p/693321#M2854

推断大概是因为跨时钟域的问题(异步时钟问题)导致:

尝试在寄存器定义前增加vivado的命令看看:(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)

再次综合问题还是一样:仔细看警告提示就定位在那一行,分析可以发现,由于rst_n是个异步信号,而在异步信号的驱动下去采样另一个寄存器是有可能导致时序不满足的,就是可能发生亚稳态。这个很好理解,只要对异步信号多打几拍就可以解决这个问题。现在把rst_n信号触发的执行语句改为赋值一个固定初始值,再次综合问题就解决啦。

always @ ( posedge clk_125mhz or negedge rst_n)
begin 
 if(!rst_n)
   begin
     tx_data <= 0;//{tx_rst,TDATA0};
     tx_cnt <= 'b0;
     tx_sync_s <= 'b0;

   end
 else
   begin

总结:

  FDCP警告一般就是异步时序问题,往这方面去想应该就对了。

 

错误情况二:下图中faddr_iod信号,看上去并没有在rst_i赋给一个可变的值,但实际也会触发该错误“netlist29-358

有always语法可以,只要rst_i上升沿就会触发这个电路(这个触发是异步触发),可以推断上面的代码相当于存在一个隐式的异步赋值,可做如下修改:将代码拆开即可

参考:

http://xilinx.eetrend.com/d6-xilinx/article/2018-02/12599.html

 

 

 

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
vivado安装常见问题包括导入license无法正确显示和找不到板卡信息。对于导入license无法正确显示的问题,有两种解决方式。第一种是手动在用户目录下创建.Xilinx文件夹,并将root目录中的.Xilinx文件复制到此处。具体步骤是在命令行中执行以下命令:mkdir ~/.Xilinx、sudo su、cd /root/.Xilinx、cp ./ /home/xxx(你自己的用户名)/.Xilinx,然后重新启动vivado即可。第二种方式是在安装时将安装文件的权限修改为普通用户,或者在安装完成后将权限修改为普通用户。使用chmod 777 -R命令修改安装目录的权限,然后重新导入license即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ubuntu安装Vivado常见问题](https://blog.csdn.net/qq_36457355/article/details/117263794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [在安装和启动vivado 2017.1时可能出现的问题以及解决方法](https://blog.csdn.net/Hnutcracker/article/details/129376344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值