精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

三種write mode,你真的理解嗎?

電子工程師 ? 來源:lp ? 2019-03-20 16:55 ? 次閱讀

無論是用XPM_MEMORY還是IP Core的方式調用各種類型的RAM(單端口、簡單雙端口或真雙端口),都會遇到這樣一個參數:Write Mode。該參數有三個可選值,分別為write_first、read_first和no_change。那么這三個值到底有什么區別呢?應用場景又如何?本質上,這個參數是用來解決讀寫沖突即同時對同一地址進行讀寫操作時,寫入該地址的數據是什么,讀出該地址的數據是什么。

write_first

首先看write_first(又稱為Read after Write,即先寫后讀或寫優先),如圖1所示,相應的讀寫時序如圖2所示。不難看出,當寫使能WEA有效時(高有效),此時讀依然有效,故該模式下從地址bb和cc讀出的是新寫入的數據1111和2222,也意味著寫入地址bb和cc的數據分別為1111和2222。

圖1

圖2

read_first

再看read_first(又稱為Read before Write,即先讀后寫或讀優先),如圖3所示,相應的讀寫時序如圖4所示。此時,從時序圖中可以看出讀出的是該地址上的原有數據,同時會把新數據寫入該地址。

圖3

圖4

no_change

最后我們看看no_change(No Read on Write,保持模式),如圖5所示,相應的讀寫時序如圖6所示。可以看出,一旦寫操作有效,讀操作即無效,此時輸出端口保持寫操作之前讀出的數據不變。

圖5

圖6

三種模式讓很多初學者覺得困惑。實際上,這并沒有什么神秘感,我們可以通過RTL代碼實現這三種功能,如圖7~圖9所示。可以看到write_first由if else語句完成,we有效時寫入新數據,同時輸出等于輸入,無效時輸出等于該地址原有數據。read_first由if語句完成,寫法類似于移位寄存器,這就是為什么寫有效時讀出的是該地址上的原有數據。no_change由if else語句完成,dout在if分支上沒有被賦值,故保持不變,這是實現no_change的關鍵點。

write_fisrt Verilog代碼:

圖7

read_fisrt Verilog代碼:

圖8

no_change Verilog代碼:

圖9

從代碼風格的角度而言,實現這三種功能是非常容易的。這也進一步驗證了RTL代碼風格對設計的影響。因此,對于初學者而言,可以多花些時間研究代碼風格,很可能會有事半功倍的效果。

思考一下:

對于一個單端口RAM,采用RTL代碼描述,如何在同一個模塊中實現如下功能:

(1)寬度可配置

(2)深度可配置

(3)寫模式可配置

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

    關注

    8

    文章

    6892

    瀏覽量

    88828
  • 代碼
    +關注

    關注

    30

    文章

    4748

    瀏覽量

    68356
  • 讀寫操作
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7115

原文標題:write_first/read_first/no_change什么區別

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    運放的三種應用

    運放在電路中主要存在三種應用,放大器,濾波器,振蕩器。再這三種應用電路中,運放的兩大特點虛短虛斷仍然成立嗎? 在阻尼振蕩器中,工作過程是否按照我描述的這樣,在反相輸入端加一個近似鋸齒波的電流源,正半
    發表于 01-26 16:18

    SRAM的基礎模塊存有三種情況

    介紹的是關于SRAM的基礎模塊存有三種情況:standby(空余),read(讀)和write(寫)。 第一情況:standby假如WL沒有選為上拉電阻,那么M5和M62個做為操縱用的晶體
    發表于 09-02 11:56

    關于In-Cell、On-Cell、OGS三種屏幕技術的知識點看完就懂了

    關于In-Cell、On-Cell、OGS三種屏幕技術的知識點看完就懂了
    發表于 06-03 06:22

    STM32的三種開發方式

    1 STM32的三種開發方式通常新手在入門STM32的時候,首先都要先選擇一要用的開發方式,不同的開發方式會導致編程的架構是完全不一樣的。一般大多數都會選用標準庫和HAL庫,而極少部分人會通
    發表于 08-05 06:56

    STM32的三種開發方式分享

    STM32的三種開發方式通常新手在入門STM32的時候,首先都要先選擇一要用的開發方式,不同的開發方式會導致編程的架構是完全不一樣的。一般大多數都會選用標準庫和HAL庫,而極少部分人會...
    發表于 12-01 07:59

    STM32的三種boot模式介紹

    淺識STM32的三種boot模式文章目錄淺識STM32的三種boot模式任務摘要一、認識boot1.三種BOOT模式介紹2.開發BOOT模式選擇3.STM32三種啟動模式4.
    發表于 12-10 07:46

    是否真的理解點燈了

    是否真的理解點燈了?
    發表于 01-24 06:22

    真的理解SPI是怎么通信的嗎

    基于DSP***的模擬SPI————真的理解SPI通信嗎?? 真的理解SPI是怎么通信的嗎?
    發表于 02-17 06:37

    半導體極管的三種基本放大電路的三種連接法電路圖

    半導體極管的三種基本放大電路的三種連接法電路圖
    發表于 05-06 14:55 ?5576次閱讀
    半導體<b class='flag-5'>三</b>極管的<b class='flag-5'>三種</b>基本放大電路的<b class='flag-5'>三種</b>連接法電路圖

    三種投影機散熱技術是哪三種

    三種投影機散熱技術是哪三種 如今在日常的學習、工作、生活中,投影機的應用越來越頻繁。由于投影機屬于高
    發表于 02-06 10:33 ?561次閱讀

    三種不同的“防 Ping”技巧

    三種不同的“防 Ping”技巧 淺析三種不同的“防 Ping”方法   眾所周知,Ping命令是一個非常有用的網絡命令,大家常用它
    發表于 04-14 13:53 ?1121次閱讀

    最推薦的三種手機內存配置

    手機內存到底怎么選?這三種配置最推薦,選對了嗎?
    的頭像 發表于 08-28 17:17 ?1w次閱讀

    交換機三種端口模式Access、Hybrid和Trunk的理解

    這篇文章主要介紹了交換機三種端口模式Access、Hybrid和Trunk的理解,需要的朋友可以參考下
    發表于 10-09 14:24 ?11次下載

    狀態機的三種騷操作,值得了解

    狀態機的三種騷操作,值得了解
    的頭像 發表于 09-21 18:06 ?461次閱讀
    狀態機的<b class='flag-5'>三種</b>騷操作,值得<b class='flag-5'>你</b>了解

    vim的三種工作模式有哪些

    Vim是一個功能強大的文本編輯器,它具有三種工作模式:普通模式、插入模式和命令行模式。以下是對這三種模式的介紹: 普通模式(Normal Mode) 普通模式是Vim的默認模式,當啟動Vim時,它會
    的頭像 發表于 08-30 14:52 ?631次閱讀