⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 writer_pointer.vhd.bak

📁 32bits FIFO with synchronizer. pass the synthesis using Synopsys tools
💻 BAK
字号:
-- The Writer Pointer will control the Writer operationLIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.numeric_std.ALL;--use IEEE.std_logic_arith.all;ENTITY writer_pointer IS    PORT(        wclk   :   IN   std_logic;        rstb   :   IN   std_logic;        wload  :   IN   std_logic;        wenb   :   IN   std_logic;        wldata :   IN   std_logic_vector(4 DOWNTO 0);                waddr  :   OUT  std_logic_vector(4 DOWNTO 0)        );END writer_pointer;ARCHITECTURE behav OF writer_pointer ISSIGNAL loadflag   :   std_logic;SIGNAL enbflag   :   std_logic;SIGNAL counter   :   unsigned(4 DOWNTO 0);BEGIN    wcounter: PROCESS (rstb, wclk)    BEGIN        IF (rstb /= '1') THEN            counter <= (OTHERS => '0');        ELSIF (wclk'EVENT AND wclk = '1') THEN            IF (loadflag = '1') THEN                --counter <= (OTHERS => '0');                counter <= UNSIGNED(wldata);            ELSIF (enbflag = '1') THEN                counter <= counter + 1;            ELSE                counter <= counter;            END IF;                        waddr <= std_logic_vector(counter);        END IF;    END PROCESS;        wcomb: PROCESS (counter,wload, wenb)    BEGIN         --ALL_ONES(counter'LENGTH - 1 DOWNTO 0)        IF (counter > "11111" OR wload = '1') THEN            loadflag <= '1';        ELSE            loadflag <= '0';        END IF;                IF (wenb = '1') THEN            enbflag <= '1';        ELSE            enbflag <= '0';        END IF;        END PROCESS;        --waddr <= std_logic_vector(counter);    END behav;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -