女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內(nèi)不再提示

FPGA學(xué)習系列:24. FIFO控制器的設(shè)計

FPGA學(xué)習交流 ? 2018-08-07 11:11 ? 次閱讀

設(shè)計背景:

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

設(shè)計原理:

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

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

image.png

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

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

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

image.png

設(shè)計架構(gòu)圖:

設(shè)計代碼:

頂層模塊:

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

設(shè)計模塊

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; //寫使能關(guān)閉

15 rdreg<=0; //讀使能關(guān)閉

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) //判斷是否讀空,讀空關(guān)閉讀使能

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,如果要生成雙口的結(jié)局跨時鐘問題可以在設(shè)置時,下面頁面選擇

image.png來進行設(shè)置

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

    關(guān)注

    1643

    文章

    21967

    瀏覽量

    614261
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

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

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

    xilinx7系列FPGA新設(shè)計的IO專用FIFO解析

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

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

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

    FPGA零基礎(chǔ)學(xué)習之Vivado-FIFO使用教程

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

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

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

    基于FPGAFIFO設(shè)計和應(yīng)用

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

    基于FPGA的LCD控制器設(shè)計

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

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計

    異步FIFO結(jié)構(gòu)及FPGA設(shè)計,解決亞穩(wěn)態(tài)的問題
    發(fā)表于 11-10 15:21 ?4次下載

    自定義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屏控制器設(shè)計

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

    Virtex-7 FPGA系列的內(nèi)存控制器介紹

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

    學(xué)習SDRAM控制器設(shè)計 能讓你掌握很多FPGA知識

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

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

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

    FPGA學(xué)習-基于FIFO的行緩存結(jié)構(gòu)

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