vcom -work work ../src/rom.vhd
vcom -work work ../src/rom_b.vhd
vcom -work work ../src/r_w_ram.vhd
+vcom -work work ../src/r_w_ram_be.vhd
+vcom -work work ../src/r_w_ram_be_b.vhd
vcom -work work ../src/r_w_ram_b.vhd
vcom -work work ../src/r2_w_ram.vhd
vcom -work work ../src/r2_w_ram_b.vhd
add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/uart/w4_uart_receive
add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/uart/uart_data_read_nxt
add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/uart/ext_reg.sel
-
-
-run 5000 ns
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/uart/rs232_rx_inst/rx_data_nxt
+
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/reg_we
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/write_en
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/wb_reg.dmem_en
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/wb_reg.dmem_write_en
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/ext_anysel
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/alu_jmp
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/wb_reg.address
+add wave -group test -radix hexadecimal /pipeline_tb/writeback_st/data_ram_read
+add wave -group test -radix hexadecimal /pipeline_tb/exec_st/dmem_write_en
+
+run 100000 ns
--constant BAUD_RATE : integer := 115200;
--constant CLK_PER_BAUD : integer := integer((CLK_FREQ_MHZ * 1000000.0) / real(BAUD_RATE) - 0.5);
-- constant CLK_PER_BAUD : integer := 434;
--- constant CLK_PER_BAUD : integer := 2083; -- @uni, bei 20MHz und 9600 Baud
-constant CLK_PER_BAUD : integer := 15; -- @modelsim
+constant CLK_PER_BAUD : integer := 2083; -- @uni, bei 20MHz und 9600 Baud
+-- constant CLK_PER_BAUD : integer := 50; -- @modelsim
component extension_uart is
--some modules won't need all inputs/outputs
begin
for i in 0 to 9 loop
rx_pin <= trans_data(i);
+ report "bit: " & std_logic'image(trans_data(i));
dummy <= not dummy;
wait on dummy;
-- icwait(BAUD_COUNT);
- icwait(15);
+ icwait(50);
end loop;
end txd;
-- initial reset
-----------------------------------------------------------------------------
sys_res_n_pin <= '0';
+ rx_pin <= '1';
-- reg_w_addr_pin <= (others => '0');
-- reg_wr_data_pin <= (others => '0');
-- reg_we_pin <= '0';
icwait(10);
- txd("0100000101");
+ txd("0000100101");
+ icwait(600);
+ icwait(600);
- icwait(1000000000);
+ txd("0000100101");
+ icwait(600000000);
---------------------------------------------------------------------------
-- exit testbench