找回密码
 注册
关于网站域名变更的通知
查看: 146|回复: 4
打印 上一主题 下一主题

关于fpga/cpld的不可综合语句

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-17 13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
1.不可综合语句既然不能对应生成电路,貌似是用来仿真的(可以这么说吧?),那么我们在程序中写它不就是没什么实际意义了么?反正不生成电路,写了反倒显得的程序复杂了,搞不清那些可综合那些不可以(我知道这么想不对,但是就是不明白)7 S; D3 A) c/ x  \+ F
2.我想设计一个简单的计数器,那么计数器重置时初值该如何赋给?
/ B+ b( `" ?! u  i6 o" Y2 w- Ialways @ (posedge clk)5 @# P5 z! S# O7 n# i
begin
; _& n; {% H. t1 m) zif(reset==0)
+ y$ h: Y! |0 F& [dout=12'b1;; ~- g, P& N; y( i- }% h
else
( w  G% j7 e6 Y+ Sdout=dout+1;
8 h( i3 @2 |  }6 O  k) y3 }8 Pend
+ j4 {- f% m* i这样写合适么? 在程序中直接给一个值?这样可综合么?(初始值是确定的,不会变,我想不用设置成input吧)
- N( f# _! `% c3 Q7 Z; @% E

该用户从未签到

2#
发表于 2022-8-17 13:59 | 只看该作者
第一,注释也是非常重要的,良好的代码中至少要有三分之一是注释。/ }; T  g& x5 h- b
第二,随着FPGA的快速发展,目前最大规模已经达到200万个查找表。仿真也是一个非常大的工程,不可综合的断言、延时、宏等语句在仿真之中可以起到非常大的调试作用。当您的代码在数万行之上,您会发现其强大的作用。这些不可综合的语句在很大的程度上是给您调试和测试工程师增加的方便。
1 x2 q  P4 m0 F5 t& H+ v1 G

该用户从未签到

3#
发表于 2022-8-17 14:30 | 只看该作者
=和<=要规范,复位值可以的reset后跟的就是了。
/ M( A+ [+ e( }) L8 T

该用户从未签到

4#
发表于 2022-8-17 15:03 | 只看该作者
1. 你平时所使用的Verilog语言,最多只是RTL级的代码。因此,你只能用到综合代码,最多仿真时所使用的语句(不可综合)。除了这些,Verilog语言还有很强大的CMOS级代码编写。其实,你平时编码用到的可综合性语句都是很少的,找本书来看看吧。; q; @: R) B; e; l& y! F8 x3 `
2. 计数器重置,一般需要有上电复位和逻辑复位/置位。你代码中所写的,是一种同步复位逻辑(注意看下DFF电路)。可以完成综合。
# h/ ^8 v9 Y. L6 A顺便说下,设计还是要先有硬件思想,再有HDL语言。
2 Z* E3 t4 m- X

该用户从未签到

5#
发表于 2022-8-19 15:42 | 只看该作者
第二个问题,这样写是可以的。这就是复位的时候赋初值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 05:32 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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