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