原创 可综合的verilog语法子

2011-10-5 13:25 820 0 分类: FPGA/CPLD
常用的RTL语法结构如下:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

模块声明: 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条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /3 下一条