没有合适的资源?快使用搜索试试~ 我知道了~
(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri, (2)所有综合工具都不支持的结构:time,def
资源详情
资源评论
资源推荐
( 1 ) 所有综合工具都支持的结构 : always , assign , begin , end , case , wire , tri
,
aupply0 , supply1 , reg , integer , default , for , function , and , nand , or , nor , xor
,
xnor , buf , not , bufif0 , bufif1 , notif0 , notif1 , if , inout , input , instantitation
,
module , negedge , posedge , operators , output , parameter 。
( 2 ) 所有综合工具都不支持的结构 : time , defparam , $finish , fork , join , initial
,
delays , UDP , wait 。
( 3 ) 有些工具支持有些工具不支持的结构 : casex , casez , wand , triand , wor , trior
,
real , disable , forever , arrays , memories , repeat , task , while 。
建立 可综合 模型的原则
要保证 Verilog HDL 赋值语句的可综合性,在建模时应注意以下要点:
( 1 )不使用 initial 。
( 2 )不使用 #10 。
( 3 )不使用循环次数不确定的循环语句,如 forever 、 while 等。
( 4 )不使用用户自定义原语( UDP 元件 ) 。
( 5 )尽量使用同步方式设计电路。
( 6 ) 除非是关键路径的设计 , 一般不采用调用门级元件来描述设计的方法 , 建议采用
行为语句来完成设计。
( 7 )用 always 过程块描述组合逻辑,应在敏感信号列表中列出所有的输入信号。
( 8 )所有的内部寄存器都应该能够被复位,在使用 FPGA 实现设计时,应尽量使用器
件的全局复位端作为系统总的复位。
( 9 )对时序逻辑描述和建模,应尽量使用非阻塞赋值方式。对组合逻辑描述和建模
,
既可以用阻塞赋值,也可以用非阻塞赋值。但在同一个过程块中,最好不要同时用阻塞赋
值和非阻塞赋值。
( 10 ) 不能在一个以上的 always 过程块中对同一个变量赋值 。 而对同一个赋值对象不
能既使用阻塞式赋值,又使用非阻塞式赋值。
( 11 )如果不打算把变量推导成锁存器,那么必须在 if 语句或 case 语句的所有条件
分支中都对变量明确地赋值。
( 12 )避免混合使用上升沿和下降沿触发的触发器。
( 13 )同一个变量的赋值不能受多个时钟控制,也不能受两种不同的时钟条件(或者
不同的时钟沿)控制。
( 14 )避免在 case 语句的分支项中使用 x 值或 z 值。
不可综合 verilog 语句 2009-04-14 19:33
1 、 initial
只能在 test bench 中使用,不能综合 。 (我用 ISE9.1 综合时,有的简单的 initial 也
可以综合,不知道为什么)
2 、 events
event 在同步 test bench 时更有用,不能综合。
3 、 real
不支持 real 数据类型的综合。
4 、 time
不支持 time 数据类型的综合。
奔跑的楠子
- 粉丝: 22
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0