end if;--if (pi_rst_n = '0') then\r
end process;\r
\r
- --state change to next.\r
+ --fixed length sub status change (0 - 31 because cpu clock is 1/32 of base clock).\r
tx_next_sub_stat_p : process (reg_sub_state, pi_cpu_en)\r
begin\r
case reg_sub_state is\r
end case;\r
end process;\r
\r
+\r
+ po_r_nw <= reg_r_nw;\r
+ po_addr <= reg_addr;\r
+ pio_d_io <= reg_d_out;\r
+\r
--addressing general process...\r
--pc, io bus, r/w, instruction regs...\r
ad_general_p : process (pi_rst_n, pi_base_clk)\r
reg_inst <= (others => '0');\r
reg_addr <= (others => 'Z');\r
reg_d_out <= (others => 'Z');\r
+ reg_d_in <= (others => '0');\r
reg_r_nw <= 'Z';\r
elsif (rising_edge(pi_base_clk)) then\r
+\r
+ --general input data register.\r
+ reg_d_in <= pio_d_io;\r
+ \r
+ --i/o data bus state change.\r
if (reg_main_state = ST_RS_T0) then\r
reg_pc_l <= (others => '0');\r
reg_pc_h <= (others => '0');\r
end if;--if (pi_rst_n = '0') then\r
end process;\r
\r
- po_r_nw <= reg_r_nw;\r
- po_addr <= reg_addr;\r
- pio_d_io <= reg_d_out;\r
- reg_d_in <= pio_d_io;\r
-\r
--internal data latch...\r
--fetch first and second operand.\r
idl_p : process (pi_rst_n, pi_base_clk)\r