Verilog-混合设计描述方式
在模块中,结构的和行为的结构可以自由混合。也就是说,模块描述中可以包含实例化的门、模块实例化语句、连续赋值语句以及always语句和initial语句的混合。它们之间可以相互包含。来自always语句和initial语句(切记只有寄存器类型数据可以在这两种语句中赋值)的值能够驱动门或开关,而来自于门或连续赋值语句(只能驱动线网)的值能够反过来用于触发always语句和initial语句。
下面是混合设计方式的1位全加器实例。
- module FA_Mix (A, B, Cin, Sum, Cout);
- input A,B, Cin;
- output Sum, Cout;
- reg Cout;
- reg T1, T2, T3;
- wire S1;
- xor X1(S1, A, B); // 门实例语句。
- always
- @ ( A or B or Cin ) begin // always 语句。
- T1 = A & Cin;
- T2 = B & Cin;
- T3 = A & B;
- Cout = (T1| T2) | T3;
- end
- assign Sum = S1 ^ Cin; // 连续赋值语句。
- endmodule
只要A或B上有事件发生,门实例语句即被执行。只要A、B或Cin上有事件发生,就执行always 语句,并且只要S 1或C i n上有事件发生,就执行连续赋值语句。
- 上一篇:Verilog-设计模拟
- 下一篇:Verilog的结构化描述形式