国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA學習系列:24. FIFO控制器的設計

FPGA學習交流 ? 2018-08-07 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設計背景:

First Input First Output的縮寫,先入先出隊列,這是一種傳統(tǒng)的按序執(zhí)行方法,先進入的指令先完成并引退,跟著才執(zhí)行第二條指令。FIFO是隊列機制中最簡單的,每個接口上都存在FIFO隊列,表面上看FIFO隊列并沒有提供什么QoS(Quality of Service,服務質量)保證,甚至很多人認為FIFO嚴格意義上不算做一種隊列技術,實則不然,F(xiàn)IFO是其它隊列的基礎,F(xiàn)IFO也會影響到衡量QoS的關鍵指標:報文的丟棄、延時、抖動。既然只有一個隊列,自然不需要考慮如何對報文進行復雜的流量分類,也不用考慮下一個報文怎么拿、拿多少的問題,而且因為按順序取報文,F(xiàn)IFO無需對報文重新排序。簡化了這些實現(xiàn)其實也就提高了對報文時延的保證。

設計原理:

本次的設計主要通過調用FIFO的IP核來設置一個簡單的單口FIFO,也就是說讀寫時鐘為相同的時鐘。其設置流程如下所示也如rom,ram,設置一樣的打開步驟

如下如選擇FIFO,然后寫入生成的FIFO文件名,my_fifo,下一步

image.png

設置合適的數(shù)據(jù)位寬和深度,之后下一步

出現(xiàn)了空滿標志位,full,emty,我們去掉數(shù)據(jù)個數(shù)標志usedw.下一步

之后不停的下一步,出現(xiàn)下面的界面選擇生成的文件,然后就完成簡單的FIFO設計

image.png

設計架構圖:

設計代碼:

頂層模塊:

0moduletop (clk,rst_n,q);//輸入輸出端口

1 inputclk;

2 inputrst_n;

3 output[7:0]q;

4 wirewrreq; //寫使能信號

5 wirerdreq; //讀使能信號

6 wireempty; //空標志位

7 wirefull; //滿標志位

8 wire[7:0]data;

9

10fifo_control fifo_control (//FIFO控制器的例化

11 .clk(clk),

12 .rst_n(rst_n),

13 .full(full),

14 .empty(empty),

15 .wrreg(wrreq),

16 .rdreg(rdreq),

17 .data(data)

18 );

19my_fifo my_fifo ( //生成IP核的例化

20 .clock (clk ),

21 .data (data ),

22 .rdreq (rdreq ),

23 .wrreq (wrreq ),

24 .empty (empty ),

25 .full (full),

26 .q (q )

27 );

28

29endmodule

設計模塊

0modulefifo_control ( //端口列表

1 inputclk,

2 inputrst_n,

3 inputfull, //滿標志

4 inputempty, //空標志

5 outputregwrreg, //寫使能

6 outputregrdreg, //讀使能

7 outputreg[7:0]data

8 );

9 regstate;

10always@(posedgeclk ornegedgerst_n)

11 if(!rst_n)

12 begin

13 data<=0;

14 wrreg<=0; //寫使能關閉

15 rdreg<=0; //讀使能關閉

16 state <=0;

17 end

18 else

19 begin

20 case(state)

21 0:if(empty) //判斷是否為空,為空寫

22 begin

23 wrreg<=1;

24 data <=data +1;

25 end

26 elseif(full) //判斷否寫滿,為滿不寫

27 begin

28 state <=1;

29 wrreg<=0;

30 rdreg<=1;

31 data<=0;

32 end

33 else

34 begin

35 wrreg<=1;

36 data <=data +1;

37 end

38

39 1:begin

40 if(empty) //判斷是否讀空,讀空關閉讀使能

41 begin

42 rdreg<=0;

43 state <=0;

44 end

45 end

46 endcase

47 end

48

49endmodule

測試模塊

0`timescale1ns/1ps

1modulefifo_tb;

2

3 regclk;

4 regrst_n;

5 wire[7:0]q;

6initialbegin

7 clk =0;

8 rst_n =0;

9

10 #200rst_n=1;

11

12 end

13always#10clk=~clk;

14top top(

15 .clk(clk),

16 .rst_n(rst_n),

17 .q(q)

18 );

19

20endmodule

仿真:

從仿真空可以看到。我們寫入的數(shù)據(jù)是1--255--0,讀出的數(shù)據(jù)也是從1開始讀再到0。

這樣就完成了一個簡單的FIFO,如果要生成雙口的結局跨時鐘問題可以在設置時,下面頁面選擇

image.png來進行設置

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22408

    瀏覽量

    636227
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于FPGA的異步FIFO的實現(xiàn)

    大家好,又到了每日學習的時間了,今天我們來聊一聊基于FPGA的異步FIFO的實現(xiàn)。 一、FIFO簡介 FIFO是英文First In Fir
    的頭像 發(fā)表于 06-21 11:15 ?7253次閱讀
    基于<b class='flag-5'>FPGA</b>的異步<b class='flag-5'>FIFO</b>的實現(xiàn)

    xilinx7系列FPGA新設計的IO專用FIFO解析

    ,它是7系列FPGA新設計的IO專用FIFO,主要用于IOLOGIC(例如ISERDES、IDDR、OSERDES或ODDR)邏輯功能的擴展。 FPGA的每個BANK有4個IN_
    的頭像 發(fā)表于 11-29 10:08 ?3812次閱讀
    xilinx7<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>新設計的IO專用<b class='flag-5'>FIFO</b>解析

    FPGA干貨分享三】基于FPGA的LBS控制器設計

    。2.5 LBS狀態(tài)機工作流程FPGA作為LBS的邏輯控制器,負責協(xié)調好與DDR_FIFO數(shù)據(jù)和PEX8311之間的時序關系。系統(tǒng)接收數(shù)據(jù)時,首先由驅動程序向PEX8311發(fā) 送復位信號,通過
    發(fā)表于 01-29 14:09

    FPGA零基礎學習之Vivado-FIFO使用教程

    Generate。 此外,我們還需要兩個不同時鐘,在這里我們使用鎖相環(huán)生成。 在管理界面搜索clock。配置過程我們在此前已經(jīng)講過,就不在過多敘述。 接下來我們寫一下fifo的寫控制器,代碼如下
    發(fā)表于 06-16 17:50

    基于Altera FPGA的彩屏控制器的設計和實現(xiàn)

    本設計基于FPGA的彩色觸摸屏控制器能夠實現(xiàn)顏色深度為24 bit,分辨率為480×272的TFT-LCD控制和ADS7843芯片的時序控制
    發(fā)表于 01-07 11:08 ?3500次閱讀
    基于Altera <b class='flag-5'>FPGA</b>的彩屏<b class='flag-5'>控制器</b>的設計和實現(xiàn)

    基于FPGAFIFO設計和應用

    為實現(xiàn)目標識別與跟蹤的應用目的 ,在基于 TMS320DM642 的 FIFO 基礎上擴展存儲空間 ,提出一種基于 FPGA實現(xiàn) SDRAM 控制器的方法。分析所用 SDRAM 的特點和工作原理
    發(fā)表于 10-29 14:05 ?2次下載

    基于FPGA的LCD控制器設計

    基于 FPGA的LCD控制器設計的論文。
    發(fā)表于 10-29 14:05 ?19次下載

    自定義fifo接口控制器

    自定義fifo接口控制器,利用sopc builder實現(xiàn)。
    發(fā)表于 03-22 14:09 ?1次下載

    基于XILINX的XC3系列FPGA的VGA控制器的VHDL源程

    Xilinx FPGA工程例子源碼:基于XILINX的XC3系列FPGA的VGA控制器的VHDL源程序
    發(fā)表于 06-07 15:07 ?12次下載

    基于FPGA的LED屏控制器設計

    基于FPGA的LED屏控制器設計基于FPGA的LED屏控制器設計
    發(fā)表于 06-21 17:56 ?60次下載

    Virtex-7 FPGA系列的內存控制器介紹

    本視頻介紹了可用于構建7系列FPGA內存控制器的軟IP。 這些模塊討論了如何使用Xilinx存儲接口生成器構建存儲
    的頭像 發(fā)表于 11-22 06:05 ?5170次閱讀

    學習SDRAM控制器設計 能讓你掌握很多FPGA知識

    學習FPGA的過程中,注意是在學習過程中,聯(lián)系FPGA的使用技巧,強烈建議嘗試設計一個SDRAM控制器,不要使用IP核。
    發(fā)表于 02-15 15:04 ?1120次閱讀

    Verilog數(shù)字系統(tǒng)設計——復雜數(shù)字電路設計2(FIFO控制器設計)

    的不斷發(fā)展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容。提示:以下是本篇文章正文內容:FIFO
    發(fā)表于 12-05 15:51 ?9次下載
    Verilog數(shù)字系統(tǒng)設計——復雜數(shù)字電路設計2(<b class='flag-5'>FIFO</b><b class='flag-5'>控制器</b>設計)

    FPGA學習-基于FIFO的行緩存結構

    FPGA中對圖像的一行數(shù)據(jù)進行緩存時,可以采用FIFO這一結構,如上圖所示,新一行圖像數(shù)據(jù)流入到FIFO1中,FIFO1中會對圖像數(shù)據(jù)進行緩存,當
    的頭像 發(fā)表于 05-10 09:59 ?4867次閱讀

    探索MCX E24系列控制器:工業(yè)與物聯(lián)網(wǎng)應用的理想之選

    探索MCX E24系列控制器:工業(yè)與物聯(lián)網(wǎng)應用的理想之選 在工業(yè)和物聯(lián)網(wǎng)(IIoT)領域,對高性能、高可靠性微控制器的需求與日俱增。NXP的MCX E
    的頭像 發(fā)表于 12-24 11:10 ?405次閱讀