![]() |
![]() |
TOP > Verilog > if文 |
![]() |
![]() |
if文
verilogでのif文は、functionおよびalways内で記述できる。
(書式)
if (条件式)
//処理
else if (条件式)
//処理2
else
//処理3
function内でのif文の例
///////////////////////////////////////////////////////////////////////////////// //TESTBENCH // テストベンチ ///////////////////////////////////////////////////////////////////////////////// module TESTBENCH; reg SEL; wire XOUT; MODULEIF MODULEIF(SEL, XOUT); initial begin $dumpfile("test.vcd"); $dumpvars(0, TESTBENCH); $monitor ("%t: SEL = %b XOUT = %b", $time, SEL, XOUT); #10 SEL = 0; #10 SEL = 1; #10; $finish; end endmodule ///////////////////////////////////////////////////////////////////////////////// //if文 ///////////////////////////////////////////////////////////////////////////////// module MODULEIF(SEL, XOUT); input SEL; output XOUT; function IFTEST; input sel; if (sel == 1'b0) IFTEST = 0; else IFTEST = 1; endfunction assign XOUT = IFTEST(SEL); endmodule always内でのif文の例
///////////////////////////////////////////////////////////////////////////////// //TESTBENCH // テストベンチ ///////////////////////////////////////////////////////////////////////////////// module TESTBENCH; reg SEL; wire XOUT; MODULEIF MODULEIF(SEL, XOUT); initial begin $dumpfile("test.vcd"); $dumpvars(0, TESTBENCH); $monitor ("%t: SEL = %b XOUT = %b", $time, SEL, XOUT); #10 SEL = 0; #10 SEL = 1; #10; $finish; end endmodule ///////////////////////////////////////////////////////////////////////////////// //if文 ///////////////////////////////////////////////////////////////////////////////// module MODULEIF(SEL, XOUT); input SEL; output XOUT; reg XOUT; always@(SEL) begin if (SEL == 0) XOUT = 0; else XOUT = 1; end endmodule |
![]() |
![]() |
Copyright 2007 ためになるホームページ All Rights Reserved. |