HOME Corporate Product Verilog VHDL Link Contact Site map


「簡単」な組み合わせ回路の記述はassign文で記述します。
assign文は継続処理を示し、回路でいえば、接続され常に駆動されている状態です。


   assign na = ~[in1 &in2];            //2入力nand
   assign out = [sel == 1]? d1 : d0;       //セレクタ
   assign carry = [cnt10 == 4'h9];        //カウンタの桁上がり信号
   assign sum = a + b;                //加算回路
   assign adr14wr = wr & [addr == 8'h14];  //アドレスライトコマンド


?:を使用した組合せ回路

   module SEL4TO1[in,sel,out];
      input  [3:0]   in;
      input  [1:0]   sel;
      output        out;
       assign out = [sel == 2'h0]? in[0];   //if SEL=0ならばin[0]
                 [sel == 2'h1]? in[1];   //else if SEL=1ならばin[1]
                  [sel == 2'h2]? in[2]   //else if SEL=2ならばin[2]
                                    //上記以外ならin[3]
   endmodule


ステートバッファの記述

   output  [7:0]   data;
   wire          sel;
   wire    [7:0]   dataout; 

   assign data = [sel]? dataout : 8'hzz;


双方向バッファの記述

   inout   [7:0]   data;
   wire          sel;
   wire    [7:0]   dataout;

   assign data = (sel) ? dataout : 8'hzz;

   always@(posedge CLK)
          din <= data;



Back

HOME Corporate Product Verilog VHDL Link Contact Site map