- reworked FIFOs

- use synchronous resets

git-svn-id: http://moon:8086/svn/vhdl/trunk@1090 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
2015-05-16 15:05:04 +00:00
parent bbd2673d42
commit deefbcffb3
5 changed files with 145 additions and 120 deletions
+16 -20
View File
@@ -60,25 +60,21 @@ begin
bcnt <= cntb;
gcnt <= cntg;
process(rst, clk, ce, cntb, nxtb)
begin
if rst = '1' then
cntb <= to_unsigned(init_value, width);
nxtb <= to_unsigned(init_value, width);
nxtg <= to_unsigned(init_value, width);
cntg <= to_unsigned(init_value, width);
else
if rising_edge(clk) then
cntg <= nxtg;
cntb <= nxtb;
end if;
nxtg <= bin2gray(nxtb);
nxtb <= cntb;
if ce = '1' then
nxtb <= cntb + 1;
end if;
end if;
end process;
nxtg <= bin2gray(nxtb);
nxtb <= (cntb + 1) when ce = '1' else cntb;
process(clk)
begin
if rising_edge(clk) then
if rst = '1' then
cntb <= to_unsigned(init_value, width);
cntg <= to_unsigned(init_value, width);
else
cntg <= nxtg;
cntb <= nxtb;
end if;
end if;
end process;
end Behavioral;