新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于Verilog HDL語言的32X8 FIFO設計

        基于Verilog HDL語言的32X8 FIFO設計

        作者: 時間:2012-09-03 來源:網絡 收藏

        3  實現

        硬件描述語言 是一種廣泛應用于集成電路設計的高層次描述語言,適合行為級、寄存器傳輸級和門級等多層次的設計和描述,并且具有簡單、易讀、易修改和與工藝無關等優點。因此利用 語言進行電路設計可以節約開發成本和周期。

        各個部分均采用Verilog HDL代碼實現。限于篇幅,下面僅列出Memery模塊的程序清單。整個

        FIFO設計應用全球著名EDA軟件供應商Synopsys公司的DesignCompiler進行了邏輯綜合,并應用Synopsys公司的仿真軟件VCS做了仿真驗證。(VCS是Synopsys公司的VerilogHDL仿真軟件) FIFO Memery模塊程序清單如下:

        module fifo_mem(data,clk,rstN,wrN,rdN,empty,full);

        inout [7:0] data;

        input clk,rstN,wrN,rdN;

        output empty,full;

        reg [4:0] _cntr,rd_cntr;

        wire [3:0] add;

        ram16X8 ram(.data(data),.addr(addr),.wrN(wrN),.oe(wrN));

        always @(posedge clk or negedge rstN)

        if(!rstN) wr_cntr=0;

        else if (!wrN) wr_cntr=wr_cntr+1;

        always @ (posedge clk or negedge rstN)

        if(!rstN) rd_cntr=0;

        else if(!rdN) rd_cntr=rd_cntr+1;

        assign addr=wrN?rd_cntr [3:0]: wr_cntr [3:0];

        assign empty=(wr_cntr [3:0] == rd_cntr [3:0])!(wr_cntr[4]^rd_cntr[4]);

        assign full=(wr_cntr [3:0] ==rd_cntr [3:0])(wr_cntr[4]^rd_cntr[4]);

        endmodule

        4 結語

        本文通過兩個分立存儲器間的交替讀、寫機制,實現32X8 FIFO的可同時讀、寫功能,提高了數據存取的速度,并且提出了新穎的空、滿標志位的實現方法。采用Verilog HDL硬件描述語言進行電路設計,應用Synopsys公司的DesignCompiler和VCS進行電路綜合和仿真,電路功能得到驗證。


        上一頁 1 2 3 下一頁

        關鍵詞: Verilog 32X8 FIFO HDL

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 渝北区| 香河县| 万宁市| 高邑县| 武山县| 阳原县| 富川| 缙云县| 荔波县| 新郑市| 贺州市| 陇西县| 北辰区| 南京市| 铁岭县| 铁力市| 德安县| 霍林郭勒市| 荆州市| 海盐县| 城市| 富源县| 泌阳县| 台州市| 拜城县| 洪江市| 任丘市| 廉江市| 景宁| 诸城市| 当雄县| 武宁县| 师宗县| 泊头市| 神农架林区| 台东县| 景东| 凌源市| 缙云县| 东乡县| 临沭县|