initial blocksneed to be moved to a test bench.
- You cannot connect the outputs with an
assignstatement and directly change the values in an initial block.
- Synchrounus logic should use non-blocking (
inoutis a tri-state which need to be assigned as:
assign adbus = output_enable ? adbus_out : 8'bz;
always #10 clk = ~clk;) needs to be in the test bench.