always_comb/always_latch/always_ff
always_comb/always_latch/always_ffの例題です。
添付ファイル(always_ff.sv)をModelSim AE 6.4a Starter Editionでシミュレーションした結果は、次のようになります。
# vsim -c test
# Loading sv_std.std
# Loading work.test
run -all
# 0 -- CLK = 1, RST = 1, A = 0xxx, B = x, C = x
# 1 -- CLK = 1, RST = 1, A = 01x0, B = 1, C = 0
# 6 -- CLK = 1, RST = 1, A = 0110, B = 1, C = 0
# 10 -- CLK = 0, RST = 1, A = 0110, B = 1, C = 0
# 20 -- CLK = 1, RST = 1, A = 0110, B = 1, C = 0
# 25 -- CLK = 1, RST = 0, A = 0110, B = 1, C = 0
# 30 -- CLK = 0, RST = 0, A = 0110, B = 1, C = 0
# 40 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 50 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 60 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 70 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 80 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 90 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 100 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 110 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 111 -- CLK = 0, RST = 0, A = 1110, B = 0, C = 0
# 116 -- CLK = 0, RST = 0, A = 1100, B = 0, C = 0
# 120 -- CLK = 1, RST = 0, A = 0000, B = 0, C = 0
# 121 -- CLK = 1, RST = 0, A = 0000, B = 0, C = 1
# 126 -- CLK = 1, RST = 0, A = 0010, B = 0, C = 1
# 130 -- CLK = 0, RST = 0, A = 0010, B = 0, C = 1
# 131 -- CLK = 0, RST = 0, A = 0011, B = 1, C = 1
# 140 -- CLK = 1, RST = 0, A = 1111, B = 1, C = 1
# 141 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 150 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 160 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 170 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# 180 -- CLK = 1, RST = 0, A = 1110, B = 1, C = 0
# 190 -- CLK = 0, RST = 0, A = 1110, B = 1, C = 0
# ** Note: Data structure takes 1703952 bytes of memory
# Process time 0.00 seconds
# $finish : always.sv(42)
# Time: 191 ns Iteration: 0 Instance: /test