\r
architecture rtl of render is\r
\r
+--secondary oam ram.\r
+component ram\r
+ generic (abus_size : integer := 16; dbus_size : integer := 8);\r
+ port (\r
+ pi_base_clk : in std_logic;\r
+ pi_ce_n : in std_logic;\r
+ pi_oe_n : in std_logic;\r
+ pi_we_n : in std_logic;\r
+ pi_addr : in std_logic_vector (abus_size - 1 downto 0);\r
+ pio_d_io : inout std_logic_vector (dbus_size - 1 downto 0)\r
+ );\r
+end component;\r
\r
--------- VGA screen constant -----------\r
constant VGA_W : integer := 640;\r
REG_SET3\r
);\r
\r
+-------------bg registers.\r
signal reg_v_cur_state : vac_state;\r
signal reg_v_next_state : vac_state;\r
\r
signal reg_plt_addr : std_logic_vector (4 downto 0);\r
signal reg_plt_data : std_logic_vector (7 downto 0);\r
\r
+---------------oam registers.\r
+\r
+type s_oam_state is (\r
+ IDLE,\r
+ AD_SET0,\r
+ AD_SET1,\r
+ AD_SET2,\r
+ AD_SET3,\r
+ REG_CLR0,\r
+ REG_CLR1,\r
+ REG_CLR2,\r
+ REG_CLR3,\r
+ REG_CP0,\r
+ REG_CP1,\r
+ REG_CP2,\r
+ REG_CP3,\r
+ REG_NT0,\r
+ REG_NT1,\r
+ REG_NT2,\r
+ REG_NT3,\r
+ REG_AT0,\r
+ REG_AT1,\r
+ REG_AT2,\r
+ REG_AT3,\r
+ REG_PL0,\r
+ REG_PL1,\r
+ REG_PL2,\r
+ REG_PL3,\r
+ REG_PH0,\r
+ REG_PH1,\r
+ REG_PH2,\r
+ REG_PH3\r
+ );\r
+\r
+\r
+signal reg_s_oam_cur_state : s_oam_state;\r
+signal reg_s_oam_next_state : s_oam_state;\r
+\r
+signal reg_s_oam_ce_n : std_logic;\r
+signal reg_s_oam_rd_n : std_logic;\r
+signal reg_s_oam_wr_n : std_logic;\r
+signal reg_s_oam_addr : std_logic_vector (4 downto 0);\r
+signal reg_s_oam_data : std_logic_vector (7 downto 0);\r
+\r
begin\r
\r
--position and sync signal generate.\r
end if;--if (pi_rst_n = '0') then\r
end process;\r
\r
- --vram access state machine (state transition)...\r
- vac_set_stat_p : process (pi_rst_n, pi_base_clk)\r
+ --state transition process...\r
+ set_stat_p : process (pi_rst_n, pi_base_clk)\r
begin\r
if (pi_rst_n = '0') then\r
+ reg_s_oam_cur_state <= IDLE;\r
reg_v_cur_state <= IDLE;\r
elsif (rising_edge(pi_base_clk)) then\r
reg_v_cur_state <= reg_v_next_state;\r
+ reg_s_oam_cur_state <= reg_s_oam_next_state;\r
end if;--if (pi_rst_n = '0') then\r
end process;\r
\r
end if;--if (pi_rst_n = '0') then\r
end process;\r
\r
+ --vga output process...\r
rgb_out_p : process (pi_rst_n, pi_base_clk)\r
begin\r
if (pi_rst_n = '0') then\r
end if;--if (rst_n = '0') then\r
end process;--output_p\r
\r
+ ---secondary oam ram inst.\r
+ secondary_oam_inst : ram generic map (5, 8) port map (\r
+ pi_base_clk,\r
+ reg_s_oam_ce_n,\r
+ reg_s_oam_rd_n,\r
+ reg_s_oam_wr_n,\r
+ reg_s_oam_addr,\r
+ reg_s_oam_data\r
+ );\r
+\r
+\r
+ --state change to next.\r
+ s_oam_next_stat_p : process (reg_s_oam_cur_state, pi_rnd_en, pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y)\r
+function is_idle (\r
+ pm_ssp : in std_logic;\r
+ pm_nes_x : in integer range 0 to VGA_W_MAX - 1;\r
+ pm_nes_y : in integer range 0 to VGA_H_MAX - 1\r
+ )return integer is\r
+begin\r
+ if (pm_ssp = '0' or\r
+ (pm_nes_x > HSCAN_SPR_MAX) or\r
+ (pm_nes_y >= VSCAN and pm_nes_y < VSCAN_NEXT_START)) then\r
+ return 1;\r
+ else\r
+ return 0;\r
+ end if;\r
+end;\r
+ begin\r
+ case reg_s_oam_cur_state is\r
+ when IDLE =>\r
+ if (pi_ppu_mask(PPUSSP) = '1' and reg_nes_x = 0 and\r
+ (reg_nes_y < VSCAN or reg_nes_y = VSCAN_NEXT_START) and\r
+ pi_rnd_en(2) = '1') then\r
+ --start sprite clear.\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when AD_SET0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= AD_SET1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when AD_SET1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= AD_SET2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when AD_SET2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= AD_SET3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when AD_SET3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ if (reg_nes_x < HSCAN_OAM_EVA_START) then\r
+ --first 64 is oam clear.\r
+ reg_s_oam_next_state <= REG_CLR0;\r
+ elsif (reg_nes_x <= HSCAN) then\r
+ --next until 256 is evaluate.\r
+ --TODO: must add evaluation logic...\r
+ reg_s_oam_next_state <= REG_CP0;\r
+ else\r
+ if (reg_nes_x mod 8 = 1) then\r
+ reg_s_oam_next_state <= REG_NT0;\r
+ elsif (reg_nes_x mod 8 = 3) then\r
+ reg_s_oam_next_state <= REG_AT0;\r
+ elsif (reg_nes_x mod 8 = 5) then\r
+ reg_s_oam_next_state <= REG_PL0;\r
+ elsif (reg_nes_x mod 8 = 7) then\r
+ reg_s_oam_next_state <= REG_PH0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ end if;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CLR0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_CLR1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CLR1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_CLR2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CLR2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_CLR3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CLR3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CP0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_CP1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CP1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_CP2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CP2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_CP3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_CP3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_NT0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_NT1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_NT1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_NT2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_NT2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_NT3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_NT3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_AT0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_AT1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_AT1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_AT2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_AT2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_AT3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_AT3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PL0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_PL1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PL1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_PL2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PL2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_PL3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PL3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PH0 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(3) = '1') then\r
+ reg_s_oam_next_state <= REG_PH1;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PH1 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(0) = '1') then\r
+ reg_s_oam_next_state <= REG_PH2;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PH2 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(1) = '1') then\r
+ reg_s_oam_next_state <= REG_PH3;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ when REG_PH3 =>\r
+ if (is_idle(pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then\r
+ reg_s_oam_next_state <= IDLE;\r
+ elsif (pi_rnd_en(2) = '1') then\r
+ reg_s_oam_next_state <= AD_SET0;\r
+ else\r
+ reg_s_oam_next_state <= reg_s_oam_cur_state;\r
+ end if;\r
+ end case;\r
+ end process;\r
+\r
po_ppu_status <= (others => '0');\r
\r
po_spr_ce_n <= 'Z';\r
add wave -label d_io -radix hex sim:/testbench_motones_sim/sim_board/wr_d_io;\r
\r
\r
-add wave -divider ppu\r
-add wave -label pi_ce_n -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/pi_ce_n;\r
-add wave -label ppu_ctrl -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_ctrl;\r
-add wave -label ppu_mask -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_mask;\r
-add wave -label ppu_status -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/pi_ppu_status;\r
-add wave -label oam_addr -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_oam_addr;\r
-add wave -label oam_data -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_oam_data;\r
-add wave -label ppu_scroll_x -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_scroll_x;\r
-add wave -label ppu_scroll_y -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_scroll_y;\r
-add wave -label ppu_addr -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_addr;\r
-add wave -label ppu_data -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_data;\r
-\r
-add wave -divider vram\r
-add wave -label v_rd_n -radix hex sim:/testbench_motones_sim/sim_board/wr_v_rd_n;\r
-add wave -label v_wr_n -radix hex sim:/testbench_motones_sim/sim_board/wr_v_wr_n;\r
-add wave -label vram_addr -radix hex sim:/testbench_motones_sim/sim_board/wr_v_addr;\r
-add wave -label vram_data -radix hex sim:/testbench_motones_sim/sim_board/wr_v_data;\r
+#add wave -divider ppu\r
+#add wave -label pi_ce_n -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/pi_ce_n;\r
+#add wave -label ppu_ctrl -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_ctrl;\r
+#add wave -label ppu_mask -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_mask;\r
+#add wave -label ppu_status -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/pi_ppu_status;\r
+#add wave -label oam_addr -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_oam_addr;\r
+#add wave -label oam_data -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_oam_data;\r
+#add wave -label ppu_scroll_x -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_scroll_x;\r
+#add wave -label ppu_scroll_y -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_scroll_y;\r
+#add wave -label ppu_addr -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_addr;\r
+#add wave -label ppu_data -radix hex sim:/testbench_motones_sim/sim_board/ppu_inst/reg_ppu_data;\r
+#\r
+#add wave -divider vram\r
+#add wave -label v_rd_n -radix hex sim:/testbench_motones_sim/sim_board/wr_v_rd_n;\r
+#add wave -label v_wr_n -radix hex sim:/testbench_motones_sim/sim_board/wr_v_wr_n;\r
+#add wave -label vram_addr -radix hex sim:/testbench_motones_sim/sim_board/wr_v_addr;\r
+#add wave -label vram_data -radix hex sim:/testbench_motones_sim/sim_board/wr_v_data;\r
\r
add wave -divider render\r
#add wave -label vga_x sim:/testbench_motones_sim/sim_board/render_inst/reg_vga_x;\r
add wave -label nes_x sim:/testbench_motones_sim/sim_board/render_inst/reg_nes_x;\r
add wave -label nes_y sim:/testbench_motones_sim/sim_board/render_inst/reg_nes_y;\r
#add wave -label wr_rnd_en sim:/testbench_motones_sim/sim_board/wr_rnd_en;\r
-add wave -label reg_v_cur_state sim:/testbench_motones_sim/sim_board/render_inst/reg_v_cur_state;\r
+#add wave -label reg_v_cur_state sim:/testbench_motones_sim/sim_board/render_inst/reg_v_cur_state;\r
#add wave -label prf_x sim:/testbench_motones_sim/sim_board/render_inst/reg_prf_x;\r
#add wave -label prf_y sim:/testbench_motones_sim/sim_board/render_inst/reg_prf_y;\r
\r
-add wave -label disp_nt -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_disp_nt;\r
-add wave -label disp_attr -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_disp_attr;\r
-add wave -label sft_ptn_l -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_sft_ptn_l;\r
-add wave -label sft_ptn_h -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_sft_ptn_h;\r
+#add wave -label disp_nt -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_disp_nt;\r
+#add wave -label disp_attr -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_disp_attr;\r
+#add wave -label sft_ptn_l -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_sft_ptn_l;\r
+#add wave -label sft_ptn_h -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_sft_ptn_h;\r
\r
+add wave -divider sprite\r
+add wave -label reg_s_oam_cur_state sim:/testbench_motones_sim/sim_board/render_inst/reg_s_oam_cur_state;\r
+\r
+add wave -divider palette\r
add wave -label plt_addr -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_plt_addr;\r
add wave -label plt_data -radix hex sim:/testbench_motones_sim/sim_board/render_inst/reg_plt_data;\r
\r
run 4 us\r
wave zoom full\r
\r
-run 166 us\r
+run 190 us\r
\r