在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3934|回复: 9

[求助] verilog RTL coding, of synthesisible code

[复制链接]
发表于 2018-2-20 02:15:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
do we have a way to declare mutex, mutually exclusive, in verilog RTL, of synthesizable codeor in Design compiler runs to set constraints?

Many thanks
---------------my RTL code---------
   always @(posedge phck[0] or negedge reset_)
     begin
        if(!reset_)
          begin
             reg_phck[0] <= 0 ;
             reg_phck[1] <= 0 ;
             reg_phck[2] <= 0 ;
             reg_phck[3] <= 0 ;
          end
        else
          begin
               reg_phck[0] <= reg4dq_in[0] ;
               reg_phck[1] <= reg4dq_in[16] ;
               reg_phck[2] <= reg4dq_in[32] ;
               reg_phck[3] <= reg4dq_in[48] ;
          end
  end
   always @(posedge phck_[0] or negedge reset_)
     begin
        if(!reset_)
          begin
             reg_phck[0] <= 0 ;

             reg_phck[1] <= 0 ;
             reg_phck[2] <= 0 ;
             reg_phck[3] <= 0 ;
          end
        else
          begin
               reg_phck[0] <= reg4dq_in[1] ;
               reg_phck[1] <= reg4dq_in[17] ;
               reg_phck[2] <= reg4dq_in[33] ;
               reg_phck[3] <= reg4dq_in[49] ;
          end
  end

-----------------end of RTL code inclusion-----------

When I tried to read in  the code:
read_verilog ../ref/fifo_rtl/readfifo64to4.v
I got the
Error:  /home/dubeeloo/proj/dDesign/DFTcompiler/ref/fifo_rtl/readfifo64to4.v:53: Net 'reg_phck[3]' or a directly
connected net is driven by more than one source, and not all drivers are three-state. (ELAB-366)

but I know phck[0] and phck_[0] are mutually exclusive, they would not have rising edge at the same time
发表于 2018-2-24 15:55:51 | 显示全部楼层
multi drive,同一个信号不能在多个always里赋值
发表于 2018-2-26 09:36:21 | 显示全部楼层
看这意思是要双沿采样?
 楼主| 发表于 2018-2-27 02:43:41 | 显示全部楼层
回复 3# zsftm


   yes, 是要双沿采样
没有办法 mutex吗?
发表于 2018-2-27 08:59:50 | 显示全部楼层
仿真用的代码这么写是没事的,自己保证不可能同时赋值就可以了。综合用的代码这么写就是多驱了。有phck[0]的2倍频时钟么
 楼主| 发表于 2018-2-27 15:50:03 | 显示全部楼层
回复 5# zsftm


   Thank you for replying
没有2倍频, 我可以试一下用 standard cell build

DC 没有mutex吗?像C++ ?
发表于 2018-2-27 16:52:32 | 显示全部楼层
没有的。而且dc不做仿真,不会知道设计者的一块电路实现了什么。dc只做结构上的检查。
发表于 2018-3-1 16:09:16 | 显示全部楼层
看看!!!!!!!!!!!!!!
发表于 2018-5-17 15:48:17 | 显示全部楼层
看这意思是要双沿采样?
发表于 2018-7-15 17:30:06 | 显示全部楼层
这是不允许的,应采用双沿写法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 11:55 , Processed in 0.023819 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表