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

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

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

同步FIFO設(shè)計(jì)分析

CHANBAEK ? 來源:數(shù)字電路IC ? 作者:lookoutwl ? 2023-09-11 17:11 ? 次閱讀

模塊雖小但是要有新意,首先寫一個(gè)同步FIFO,這是一個(gè)爛大街的入門級(jí)項(xiàng)目,但是我肯定不會(huì)寫的那么簡單,需求如下:

  • size=3232(高寬)
  • 同時(shí)讀寫
  • 給出空滿、將空將滿信號(hào)
  • 單口sram接到讀使能下一拍出數(shù)據(jù)(或者n拍之后)

和大多數(shù)文章所寫描述的同步FIFO的需求不一樣的地方在于最后一個(gè)需求,內(nèi)部例化的sram的讀取動(dòng)作不是讀及讀出的操作。因此基于這種sram,又要兼顧FIFO的標(biāo)準(zhǔn)協(xié)議,以及需要FIFO邏輯速度到達(dá)最優(yōu),需要對設(shè)計(jì)進(jìn)行一些小的處理

下圖為本次同步FIFO設(shè)計(jì)的框圖:

圖片

設(shè)計(jì)分析:

  1. 使用reg0的原因
    由于sram延時(shí)一拍讀出,因此就需要有reg0處理延時(shí),既只要reg0為空,寄存器就向sram讀數(shù),達(dá)到提前取數(shù),消除延時(shí)的效果。(一般sram有幾拍延時(shí)就有幾個(gè)reg0)
  2. 使用reg1的原因
    reg1用于處理邊界條件,在sram和reg0為空時(shí),沒有讀使能的情況下寫入第一個(gè)數(shù),此時(shí)第一個(gè)數(shù)如果存入sram,則讀取流程將變成sram-reg0-output,中間延遲過長,但是假如使用reg1用于存儲(chǔ)第一個(gè)數(shù)據(jù),則可以把這一拍數(shù)據(jù)延時(shí)解決掉。(且同上述,一般有幾個(gè)reg0就有幾個(gè)reg1)
  3. 使用mux2的原因
    mux2也是用于處理邊界條件,在sram和所有寄存器都為空時(shí),寫使能和讀使能同時(shí)來到,則數(shù)據(jù)bypass通過SYNC_FIFO模塊。
  4. mux0和mux1則用于處理上述邏輯關(guān)于數(shù)據(jù)通道切換的處理。
  5. 關(guān)于sram存取、各種空滿信號(hào)的判斷,就不再一一敘述,想了解這方面設(shè)計(jì)可以參見網(wǎng)上各種同步FIFO設(shè)計(jì)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5421

    瀏覽量

    123290
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    780

    瀏覽量

    115657
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    400

    瀏覽量

    44607
  • 同步FIFO
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    5420
  • FIFO設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    5025
收藏 人收藏

    評論

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

    同步FIFO設(shè)計(jì)詳解及代碼分享

    FIFO (先入先出, First In First Out )存儲(chǔ)器,在 FPGA 和數(shù)字 IC 設(shè)計(jì)中非常常用。 根據(jù)接入的時(shí)鐘信號(hào),可以分為同步 FIFO 和異步 FIFO 。
    發(fā)表于 06-27 10:24 ?2610次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>設(shè)計(jì)詳解及代碼分享

    握手型接口的同步FIFO實(shí)現(xiàn)

    按照正常的思路,在前文完成前向時(shí)序優(yōu)化和后向時(shí)序優(yōu)化后,后面緊跟的應(yīng)該是雙向時(shí)序優(yōu)化策略了,不過不急,需要先實(shí)現(xiàn)一下握手型同步FIFO。
    的頭像 發(fā)表于 12-04 14:03 ?1056次閱讀
    握手型接口的<b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>實(shí)現(xiàn)

    可靠性設(shè)計(jì)分析系統(tǒng)

    要求,需要按照可靠性工作要求開展各種各樣的可靠性設(shè)計(jì)分析工作。其實(shí),這些可靠性工作,目的解決產(chǎn)品可靠性工程問題,嚴(yán)格控制和降低產(chǎn)品質(zhì)量風(fēng)險(xiǎn)。最近,看到有一個(gè)可靠性設(shè)計(jì)分析系統(tǒng)PosVim,功能還比較
    發(fā)表于 12-08 10:47

    VHDL實(shí)用電路模塊設(shè)計(jì)分析

    EDA與VHDL的實(shí)用電路模塊設(shè)計(jì)分析
    發(fā)表于 03-02 16:57 ?0次下載
    VHDL實(shí)用電路模塊設(shè)<b class='flag-5'>計(jì)分析</b>

    異步FIFO的設(shè)計(jì)分析及詳細(xì)代碼

    本文首先對異步 FIFO 設(shè)計(jì)的重點(diǎn)難點(diǎn)進(jìn)行分析,最后給出詳細(xì)代碼。 一、FIFO簡單講解 FIFO的本質(zhì)是RAM, 先進(jìn)先出 重要參數(shù):fifo
    發(fā)表于 11-15 12:52 ?8896次閱讀
    異步<b class='flag-5'>FIFO</b>的設(shè)<b class='flag-5'>計(jì)分析</b>及詳細(xì)代碼

    華秋PCB專業(yè)設(shè)計(jì)分析軟件-BOM智能分析

    華秋PCB專業(yè)設(shè)計(jì)分析軟件-BOM智能分析
    發(fā)表于 07-21 09:06 ?0次下載

    同步FIFO之Verilog實(shí)現(xiàn)

    FIFO的分類根均FIFO工作的時(shí)鐘域,可以將FIFO分為同步FIFO和異步FIFO。
    的頭像 發(fā)表于 11-01 09:57 ?2277次閱讀

    FIFO設(shè)計(jì)—同步FIFO

    FIFO是異步數(shù)據(jù)傳輸時(shí)常用的存儲(chǔ)器,多bit數(shù)據(jù)異步傳輸時(shí),無論是從快時(shí)鐘域到慢時(shí)鐘域,還是從慢時(shí)鐘域到快時(shí)鐘域,都可以使用FIFO處理。
    發(fā)表于 05-26 16:12 ?1771次閱讀
    <b class='flag-5'>FIFO</b>設(shè)計(jì)—<b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>

    FIFO設(shè)計(jì)—異步FIFO

    異步FIFO主要由五部分組成:寫控制端、讀控制端、FIFO Memory和兩個(gè)時(shí)鐘同步
    發(fā)表于 05-26 16:17 ?1810次閱讀
    <b class='flag-5'>FIFO</b>設(shè)計(jì)—異步<b class='flag-5'>FIFO</b>

    一個(gè)簡單的RTL同步FIFO設(shè)計(jì)

    FIFO 是FPGA設(shè)計(jì)中最有用的模塊之一。FIFO 在模塊之間提供簡單的握手和同步機(jī)制,是設(shè)計(jì)人員將數(shù)據(jù)從一個(gè)模塊傳輸?shù)搅硪粋€(gè)模塊的常用選擇。
    發(fā)表于 06-14 08:59 ?566次閱讀

    基于寄存器的同步FIFO

    ? FIFO 是FPGA設(shè)計(jì)中最有用的模塊之一。FIFO 在模塊之間提供簡單的握手和同步機(jī)制,是設(shè)計(jì)人員將數(shù)據(jù)從一個(gè)模塊傳輸?shù)搅硪粋€(gè)模塊的常用選擇。 在這篇文章中,展示了一個(gè)簡單的 RTL
    的頭像 發(fā)表于 06-14 09:02 ?994次閱讀

    基于Verilog的同步FIFO的設(shè)計(jì)方法

    同步FIFO的設(shè)計(jì)主要包括讀寫地址的產(chǎn)生、數(shù)據(jù)的讀寫、以及狀態(tài)的控制。下面我們將分別介紹這三個(gè)方面的設(shè)計(jì)。
    發(fā)表于 08-31 12:53 ?1151次閱讀

    為什么異步fifo中讀地址同步在寫時(shí)鐘域時(shí)序分析不通過?

    為什么異步fifo中讀地址同步在寫時(shí)鐘域時(shí)序分析不通過? 異步FIFO中讀地址同步在寫時(shí)鐘域時(shí)序分析
    的頭像 發(fā)表于 10-18 15:23 ?984次閱讀

    同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO各在什么情況下應(yīng)用

    同步FIFO和異步FIFO的區(qū)別 同步FIFO和異步FIFO各在什么情況下應(yīng)用? 1.
    的頭像 發(fā)表于 10-18 15:23 ?2032次閱讀

    同步FIFO和異步FIFO區(qū)別介紹

    1. FIFO簡介 FIFO是一種先進(jìn)先出數(shù)據(jù)緩存器,它與普通存儲(chǔ)器的區(qū)別是沒有外部讀寫地址線,使用起來非常簡單,缺點(diǎn)是只能順序讀寫,而不能隨機(jī)讀寫。 2. 使用場景 數(shù)據(jù)緩沖:也就是數(shù)據(jù)寫入過快
    的頭像 發(fā)表于 06-04 14:27 ?2511次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>FIFO</b>和異步<b class='flag-5'>FIFO</b>區(qū)別介紹

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品