Reg型数据常用作表示always模块内的自定信号,常代表触发器。
缩减运算符依次高位和地位实现逻辑运算。
关系运算符两个数据进行关系运算,输出真假和不确定X
等式运算符分为逻辑等和严格等。逻辑等输出01X,将X,Z视为不确定的数;关系等分为01,将X,Z视为两种符号。
位拼接运算符将两个数据的某几位拼接在一起
三目运算符相当于if和else,
阻塞赋值也就是说它阻塞了其他赋值语句的执行,只能进行一步一步的执行,
非阻塞赋值允许其他verilog语句同时进行操作,a<=b
当使用always时,阻塞赋值来描述组合逻辑,而非阻塞赋值描述时序逻辑。在一个always块中不要同时使用阻塞逻辑和非阻塞逻辑
在if嵌套中,else总是和它最上面的if来匹配。
Case语句中的case和endcase成对出现。case语句分为case语句,以常量为参考;casez则以高阻态为参考,当有一个Z是,其结果为真;ca***则以高阻态和不确定值为参考,当有一个为Z或X时,结果为真。
采用‘primitive’对于case的约束主要分为FULL_CASE和PARALLEL_CASE。FULL_CASE约束就是让编译器默认case语句为完全case。
10:verilog分为四种循环的方式,其中repeat,forever,while只能用于仿真,不能形成电路。
Forever循环常用于产生周期性波形。可以进行终止后执行forever之后的语句。
While是用作一定条件下的循环,满足条件是连续执行,当条件不满足时进入while之后的程序。
For循环部分可以进行仿真和综合,电路复杂。
11:
块语句有begin_end和fork_join。
Begin_end块内可以定义局部变量,其次块内使用的语句可以被其他语句调用。
Fork_join块内语句将同时开始并行执行,按照时间顺序,排在最后一个语句执行完之后跳出该程序块。
块内部赋值有assign的连续赋值语句,当右边的值发生变化时,计算右边的表达式的值,并将结果付给左边的变量。具有组合逻辑的特征。
Always块可以描述组合逻辑也可以描述时序逻辑。Always块主要由时序控制条件和执行语句构成。
12:抽象级别的描述主要分为系统级,算法级,RTL级,门级和开关级。
门级描述就是利用verilog内置的基本门级元件以及他们之间的连接来构筑逻辑电路的模型。
行为级描述关注的是逻辑电路的输入/输出的因果关系,即在任何输入条件下产生何级输出,描述的是一种行为特征。
13:组合逻辑通过assign实现。而时序的逻辑通过always实现。