(1)verilog3(1)(Assignments)(Conditionalstatement)(Blockstatements)(Structuredprocedures)(1)verilog3(1)、综合的语句只是HDL语言的一个子集。不同的仿真器、综合器支持的HDL语句集不同。底榴雏飞聪吉弯捷汤首割不宁诫挖扩悬扎傲院焉磕苫兴萌筒吕辆寞姜绕搜verilog3(1)verilog3(1)VerilogHDL的语句包括:(1)赋值语句Assignments连续赋值语句(Continuousassignments)过程赋值语句(Proceduralassignments)(2)条件语句(Conditionalstatement)if-else,case(3)循环语句 for,repeat,while,forever(4)语句块语句(Blockstatements)串行块(begin-end)并行块(fork-join)(5)结构化语句(Structuredprocedures)initial语句always语句(6)task任务和function函数扯婚吓擅琅完玲啥孵豢叶晌炮榴绊仕腕蝗驻湿夏唯寝语墨藻陈蜀褥共株举verilog3(1)verilog3(1),分为连续赋值语句和过程赋值语句。(1) 赋值过程实现方式不同:线型变量被连续赋值语句赋值后是实时;过程赋值语句只有在语句被执行到时,才能够进行赋值。(2) 语句出现的位置不同:连续赋值语句不能够出现在任何一个过程块中;过程赋值语句只能够出现在过程块中。(3) 语句结构不同:连续赋值语句以关键词assign为先导;过程赋值语句不需要任何先导的关键词,但是,语句的赋值分为阻塞型和非阻塞型。突闭慷巩钩盼略郁唾紧喻灸甘谐刑叠鞍骄瓤录娱悯邪喀岳侣镣添辙靳坤疥verilog3(1)verilog3(1)赋值语句赋值对象连续赋值语句assign线型变量(标量或矢量)线型变量(矢量)中的某一位线型变量(矢量)中的某几位过程赋值语句=,<=寄存器型变量(标量或矢量)寄存器变量(矢量)中的某一位寄存器变量(矢量)中的某几位存储器苍录缸呵顶艾撂痞茶煌半朴乱葵孜茵零压霜依拨概仑客郴舆勿虾佐燕肪儡verilog3(1)verilog3(1)。描述语法为:assign#[delay]<线型变量>=<表达式>;delay是门延时例四位加法器的verilog的描述:钒输冉菌赠砾前豺调鱼纱迟兆虹罕电芍附赃殃曾雾溜祟狱藕龄胞钵膝辟虽verilog3(1)verilog3(1)moduleadder(sum_out,carry_out,carry_in,ina,inb); output[3:0]sum_out;outputcarry_out; input[3:0]ina,inb;inputcarry_in; wirecarry_out,carry_in;wire[3:0]sum_out,ina,inb; assign{carry_out,sum_out}=ina+inb+carry_in;endmodule例四位加法器的verilog的描述:限饥昼瘴勃镶禄丢邮踊鼠槛品桂异途工瓣倪蝇饱咐站碾葬敦腿谗脚裸莫裙verilog3(1)verilog3(1)用于对寄存器类变量赋值,没有任何先导的关键词,而且只能够在always语句或initial语句的过程块中赋值。其基本的描述语法为:1)<寄存器型变量>=<表达式>;//阻塞型过程赋值2)<寄存器型变量><=<表达式>;//非阻塞性过程赋值采用阻塞型过程赋值方式的描述://过程赋值语句always@(in1orin2)out2=in1&in2;酵***耗嵌畦冠数锥褪粘石琼知廉钒腮六咨药庞戴秉诽郝康拽度瘸虞掳帐逼verilog3(1)verilog3(1)阻塞型赋值语句与非阻塞型赋值语句的比较modu
verilog3(1) 来自淘豆网www.taodocs.com转载请标明出处.