学海荡舟手机网
导航

主页 > 电子设备技术 > 电器电路基础 > > 详细内容

Verilog-混合设计描述方式

在模块中,结构的和行为的结构可以自由混合。也就是说,模块描述中可以包含实例化的门、模块实例化语句、连续赋值语句以及always语句和initial语句的混合。它们之间可以相互包含。来自always语句和initial语句(切记只有寄存器类型数据可以在这两种语句中赋值)的值能够驱动门或开关,而来自于门或连续赋值语句(只能驱动线网)的值能够反过来用于触发always语句和initial语句。  

下面是混合设计方式的1位全加器实例。
 

  1. module FA_Mix (A, B, Cin, Sum, Cout);  
  2.   input A,B, Cin;  
  3.   output Sum, Cout;  
  4.   reg Cout;  
  5.   reg T1, T2, T3;  
  6.   wire S1;  
  7.   xor X1(S1, A, B); // 门实例语句。  
  8.   always  
  9.     @ ( A or B or Cin ) begin // always 语句。  
  10.       T1 = A & Cin;  
  11.       T2 = B & Cin;  
  12.       T3 = A & B;  
  13.       Cout = (T1| T2) | T3;  
  14.     end  
  15.    assign Sum = S1 ^ Cin; // 连续赋值语句。  
  16.   endmodule 


      只要A或B上有事件发生,门实例语句即被执行。只要A、B或Cin上有事件发生,就执行always 语句,并且只要S 1或C i n上有事件发生,就执行连续赋值语句。


相关文章