Compare commits
2 Commits
83c6632415
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 59cb94480e | |||
| 8b5b3095a0 |
@@ -327,11 +327,10 @@ begin
|
|||||||
when stEXEC => s_cycle_cnt <= stWB;
|
when stEXEC => s_cycle_cnt <= stWB;
|
||||||
when others => s_cycle_cnt <= stIF;
|
when others => s_cycle_cnt <= stIF;
|
||||||
end case;
|
end case;
|
||||||
else
|
end if;
|
||||||
if falling_edge(reset) then
|
if falling_edge(reset) then
|
||||||
s_cycle_cnt <= stIF;
|
s_cycle_cnt <= stIF;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
|
||||||
end process pc_cycle_control;
|
end process pc_cycle_control;
|
||||||
|
|
||||||
end implementation;
|
end implementation;
|
||||||
|
|||||||
12
src/pc.vhd
12
src/pc.vhd
@@ -26,8 +26,11 @@ architecture pro_count of pc is
|
|||||||
signal addr_out : ram_addr_t := (others => '0');
|
signal addr_out : ram_addr_t := (others => '0');
|
||||||
signal addr_out_plus : ram_addr_t := (others => '0');
|
signal addr_out_plus : ram_addr_t := (others => '0');
|
||||||
begin
|
begin
|
||||||
process (clk)
|
process (clk, reset)
|
||||||
begin
|
begin
|
||||||
|
if falling_edge(reset) then
|
||||||
|
addr_out <= (others => '0');
|
||||||
|
else
|
||||||
if rising_edge(clk) then
|
if rising_edge(clk) then
|
||||||
if en_pc = "1" then
|
if en_pc = "1" then
|
||||||
-- count
|
-- count
|
||||||
@@ -39,13 +42,6 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end process;
|
|
||||||
|
|
||||||
process (reset)
|
|
||||||
begin
|
|
||||||
if falling_edge(reset) then
|
|
||||||
addr_out <= (others => '0');
|
|
||||||
addr_out_plus <= (others => '0');
|
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,11 @@ architecture structure of registers is
|
|||||||
begin
|
begin
|
||||||
|
|
||||||
-- react only on clock changes
|
-- react only on clock changes
|
||||||
process (clk) -- runs only, when clk changed
|
process (clk, reset) -- runs only, when clk changed
|
||||||
begin
|
begin
|
||||||
|
if falling_edge(reset) then
|
||||||
|
registerbench <= initRegs;
|
||||||
|
else
|
||||||
if rising_edge(clk) then
|
if rising_edge(clk) then
|
||||||
-- check if write is enabled
|
-- check if write is enabled
|
||||||
if to_integer(unsigned(write_enable)) = 1 then
|
if to_integer(unsigned(write_enable)) = 1 then
|
||||||
@@ -50,13 +53,6 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
registerbench(0) <= std_logic_vector(to_unsigned(0, wordWidth));
|
registerbench(0) <= std_logic_vector(to_unsigned(0, wordWidth));
|
||||||
end if;
|
end if;
|
||||||
end process;
|
|
||||||
|
|
||||||
-- reset if reset is activated
|
|
||||||
process (reset)
|
|
||||||
begin
|
|
||||||
if falling_edge(reset) then
|
|
||||||
registerbench <= initRegs;
|
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user