前言
提示:1:任务和函数学习 2:verilog中的层次化结构3:结构生成 4:状态机的介绍和使用 5:同步复位 异步复位 异步复位同步
6:高阻态 7:三态门 8:单工 半双工 全双工
一、任务和函数学习
任务和函数作用就是定义一个可以被重复使用的块。在程序的不同位置之中被调用。
任务和函数区别
1:函数中不可以包含时间控制语句 # @ wait 而任务没有限制。
2:函数中不可以非阻塞赋值和过程连续赋值语句。
3:函数中不可以有任何触发器。
4:函数中必须要有一个输入的参数。
二、@事件控制
@的作用是进行事件的控制,可以理解为只有@以后的事件发生了才会执行后面的代码。
三、disable使用
disable可以用于终止任务块的执行。
begin :block_name
if(t条件1)
disable block_name
end
执行这个任务块,如果条件1满足那么就会跳出 块的执行。
四、结构生成
目的:有条件的 成倍的例化 常常用于模块生成。
genevar 控制循环生成的次数
generate
endgenerate
五、FSM
有限状态机 主要是确定输入输出 所有的状态 和状态状态之间的转移条件。
通常使用3个always 块实现
always 1 使用同步时序保持状态转移
always 2 判断状态转移条件 描述状态转移规律
always 3 描述状态输出和寄存器输出
六、同步复位 异步复位 异步复位同步释放
同步复位:需要两个条件都满足才可以复位,一个是复位信号使能,另一个是时钟的上升沿。
异步复位:只要复位信号使能就复位。
异步复位 同步释放 :复位信号到来时候不受时钟限制,复位信号释放的时候需要和时钟信号同步。
七、三态门
多个设备连接到总线上,每一个设备和总线之间需要通过一个三态门和总线相连,作用是只保证同一时刻只有一个设备拥有总线的访问权。
三门指的是 0,1,高阻态;
三态门通过一个使能端控制。当使能端使能的时候 输出是由输入决定,使能端使能的时候 输出高阻态。
高阻态就是可以保证下一级设备不受这一级的影响。
八、单工 全双工 半双工
单工 一段接受 一端发送 不可以逆 BB机
半双工 两端都可以发送和接受 ,但是同一时刻只可以发送和接受,不可以同时进行,对讲机。
全双工:可以同时发送和接受 ,电话。