原创 可综合的verilog语法子集

2008-9-4 19:02 9326 12 12 分类: FPGA/CPLD

可综合的verilog语法子集<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


      常用的RTL语法结构如下:


 


模块声明: module……endmodule


端口声明:input,output,inoutinout的用法比较特殊,需要注意)


信号类型:wire,reg,tri等,integer常用语for语句中(reg,wire时最常用的,一般triinteger不用)


参数定义:parameter


运算操作符:各种逻辑操作符、移位操作符、算术操作符大多时可综合的(注:===与!==是不可综合的)


比较判断:if……else,case(casex,casez)……default  endcase


连续赋值:assign,问号表达式(?:)


always模块:(敏感表可以为电平、沿信号posedge/negedge;通常和@连用)


begin……end(通俗的说,它就是C语言里的 “{ }”


任务定义:task……endtask


循环语句:for(用的也比较少,但是在一些特定的设计中使用它会起到事半功倍的效果)


☆ 赋值符号:= <= (阻塞和非阻塞赋值,在具体设计中时很有讲究的)


 


      可综合的语法时verilog可用语法里很小的一个子集,用最精简的语句描述最复杂的硬件,这也正是硬件描述语言的本质。对于做RTL级设计来说,掌握好上面这些基本语法是很重要。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
12
关闭 站长推荐上一条 /3 下一条