色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

SpinalHDL中的一別兩寬式設計方式介紹

冬至配餃子 ? 來源:Spinal FPGA ? 作者:玉騏 ? 2022-08-09 14:45 ? 次閱讀

在SpinalHDL里,其lib庫處處可見Stream的身影,而在常用的邏輯設計里,尤其接口的處理中,握手信號的處理也是老生常談的話題。而在接受設計里,SpinalHDL中的“一別兩寬”式設計方式,著實讓我贊同。

》》Stream

Stream本質上是一個帶數據的握手協議:

pYYBAGLyAeeAQudEAABsdJZDejI825.png

在數字邏輯電路里,無論是普通的模塊接口之間,還是標準的AMBA、Avalon等總線,都處處可見Stream的身影:

pYYBAGLyAgCACDW5AABltE0LoO4450.png

》》握手之殤,糾纏不清

無論是新手還是老手,對于Stream這種握手形式的邏輯處理還是挺煩的。Stream這種握手形式的邏輯僅僅是添加一級寄存器還是頗顯得繁瑣的,需要小心翼翼的處理。更遑論當設計里還牽涉到數據的處理。這種在處理功能邏輯的同時又要考慮握手信號的處理時在設計邏輯電路時還是顯得頗頭大的,畢竟“一心二用”還是頗有不便……

仔細想想,在接口信號處理時,功能性的設計往往是組合邏輯頗多,而為了更好的滿足時序約束,往往需要添加寄存器來優化時序,單獨處理或許并不顯得復雜,但當把兩者混在一塊兒便極易“按起葫蘆浮起瓢”,導致設計功能性錯誤了。倘若糾纏不清令人頭大,那一別兩寬呢?把功能邏輯和為了優化時序的pipeline分開豈不是設計極其簡單。

》》Stream pipeline

Stream的pipeline處理在SpinalHDL里提供了很好的封裝:

pYYBAGLyAiKATTnJAACkV2_B_dY034.png

Stream接口的pipeline里有三種類型:

m2sPipe: 為兩個Stream接口之間的valid,payload之間添加一級寄存器。

s2mPipe:為兩個Stream接口之間的ready路徑添加一級寄存器。

s2mPipe().m2sPipe():在兩個Stream接口之間的valid,payload、ready之間均添加一級寄存器。

上面的三種接口pipeline方式能夠很好的滿足接口中的時序優化。SpinalHDL里也提供了相應簡單的連接符(箭頭指向誰誰就是目的端)。關于這里面的源代碼分析可參見文章《打個拍,握個手可以么》。

》》功能處理

有了前面Stream接口的pipeline方式,在Stream接口信號中的處理功能性邏輯時,我們便可以采用組合邏輯的方式進行處理。舉個簡單的例子,在邏輯設計里對輸入的Stream信號中的payload如果大于0x80加1輸出,小于0x80減1輸出。那么這里便可以僅以組合邏輯的形式進行處理:

pYYBAGLyAj6ABHgvAAB4mVS2_oE958.png

在上面的邏輯處理里,整個設計均采用組合邏輯的形式進行處理。

》》合二為一

有了上面的那些,那么合二為一便很容易了。功能處理采用組合邏輯,時序處理采用pipeline。“一別兩寬”之后,合二為一便好了:



》》寫在最后

就個人使用來講,在SpinalHDL的設計里,這種方式極大的簡化了電路設計的復雜度。理解了Stream的使用,那么對于SpinalHDL中lib的大多數功能也能夠有一個很好的了解與使用。


審核編輯:劉清

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

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • AMBA
    +關注

    關注

    0

    文章

    68

    瀏覽量

    14980
  • 數字邏輯電路

    關注

    0

    文章

    106

    瀏覽量

    15812
收藏 人收藏

    評論

    相關推薦

    用TAS5630分路橋接、四路單端和四路橋接,只要有種模式起工作,輸出端有很尖銳的高頻噪聲,為什么?

    我用TAS5630分路橋接、四路單端和四路橋接,當每個模式單獨工作時都正常,但只要有種模式起工作,輸出端有很尖銳的高頻噪聲,求高手指點
    發表于 10-30 07:36

    什么是電流保護的接線方式?有哪種接線方式?

    方式。下面將對這種接線方式進行介紹、完全星形接線方式 完全星形接線
    的頭像 發表于 10-06 17:37 ?1027次閱讀
    什么是電流保護的接線<b class='flag-5'>方式</b>?有哪<b class='flag-5'>兩</b>種接線<b class='flag-5'>方式</b>?

    Linux應用層控制外設的種不同的方式

    眾所周知,linux下切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現的,那么應用層控制硬件層通常有方式
    的頭像 發表于 10-05 19:03 ?446次閱讀
    Linux應用層控制外設的<b class='flag-5'>兩</b>種不同的<b class='flag-5'>方式</b>

    電阻在電路的基本連接方式

    電阻在電路的基本連接方式主要包括串聯、并聯以及混聯三種。 、電阻的串聯 1. 定義與原理 電阻的串聯是指將個或個以上的電阻依次首尾相
    的頭像 發表于 08-20 10:49 ?2302次閱讀

    wdm設備的種傳輸方式

    系統,有多種傳輸方式,其中最常見的種是密集波分復用(DWDM)和粗波分復用(CWDM)。 1. 密集波分復用(DWDM) 1.1 DWDM技術原理 密集波分復用(Dense Wavelength Division Multi
    的頭像 發表于 07-18 09:45 ?470次閱讀

    三相負載的連接方式有哪

    三相負載的連接方式主要有星形連接(Y連接)和三角形連接(Δ連接)種。這種連接方式在電氣工程中非常常見,它們各自具有不同的特性和應用場景。下面將
    的頭像 發表于 07-17 10:33 ?3923次閱讀

    控制器有哪種實現方式?各有何優缺點?

    控制器是計算機系統個關鍵組件,負責協調和管理計算機硬件和軟件資源。在不同的應用場景和系統,控制器的實現方式可能會有所不同。以下是
    的頭像 發表于 06-30 10:33 ?1209次閱讀

    PCBA加工中常見的種焊接方式詳解

    ,在PCBA行業中經常被使用。接下來深圳PCBA加工廠家為大家詳細介紹PCBA加工手工焊接的方式,為您揭秘行業內的技術細節。 PCBA加工過程中常用焊接方式
    的頭像 發表于 06-14 09:18 ?537次閱讀

    C/C++種宏實現方式

    #ifndef的方式受C/C++語言標準支持。它不僅可以保證同個文件不會被包含多次,也能保證內容完全相同的個文件(或者代碼片段)不會被不小心同時包含。
    的頭像 發表于 04-19 11:50 ?605次閱讀

    淺析SpinalHDLPipeline的復位定制

    之前有系列文章介紹SpinalHDLPipeline的使用,最近在個功能模塊真實的使用了這個lib。
    的頭像 發表于 03-17 17:31 ?1036次閱讀
    淺析<b class='flag-5'>SpinalHDL</b><b class='flag-5'>中</b>Pipeline<b class='flag-5'>中</b>的復位定制

    2024國云計算大分野:重回當年,還是走向未來?

    從你追我趕,到一別
    的頭像 發表于 03-04 09:47 ?2120次閱讀

    ARM的編碼方式與尋址方式有何不同?

    ARM的編指方式與尋址方式有何不同? ARM處理器是種廣泛應用的微處理器架構,被廣泛用于移動設備、嵌入式設備以及智能家居等領域。在ARM架構
    的頭像 發表于 01-29 18:10 ?676次閱讀

    #2024,立Flag了嘛? #在win平臺搭建SpinalHDL開發環境

    ,這個步需要勾選紅框的這項; 對應的IDEA的插件安裝Scala和SBT: Scala插件安裝: SBT插件安裝 2.2、JDK安裝 直接到JDK官網下載安裝包下載即可: JD
    發表于 01-21 10:52

    變阻器在電路的連接方式有哪些?

    變阻器在電路的連接方式有哪些? 變阻器是電子電路中常用的元件之,在電路中有多種不同的連接方式。下面將詳細介紹變阻器的三種常見連接
    的頭像 發表于 01-18 15:28 ?1711次閱讀

    配置KubernetesPod使用代理的種常見方式

    的需要。本文將介紹配置KubernetesPod使用代理的種常見方式:通過ConfigMap和直接在應用程序環境變量設置。
    的頭像 發表于 01-05 11:22 ?1127次閱讀
    配置Kubernetes<b class='flag-5'>中</b>Pod使用代理的<b class='flag-5'>兩</b>種常見<b class='flag-5'>方式</b>
    主站蜘蛛池模板: 入禽太深在线观看免费高清| 国模精品一区二区三区视频| 99精品电影一区二区免费看| 云南14学生真实初次破初视频 | 成人影院午夜久久影院| 97成人在线| 中文字幕在线播放| 真人裸交有声性动态图| 亚洲色t图| 亚洲无吗精品AV九九久久| 亚洲男人天堂网| 亚洲看片无码免费视频| 亚洲精品乱码久久久久久直播| 亚洲AV噜噜88| 亚欧成人毛片一区二区三区四区| 无限资源日本2019版| 天天久久狠狠色综合| 性派对xxxhd| 亚洲AV永久无码精品老司机蜜桃| 亚洲成av人影院| 亚洲嫩草AV永久无码精品无码| 夜蒲团之5阳性之教| 尤物yw193can入口| 2022久久精品国产色蜜蜜麻豆| 92午夜理论第1000集 app| wwwwwwwww日本电影| 大稥焦伊人一本dao| 国产精品人妻无码免费A片导航 | 中文中幕无码亚洲视频| 最近的2019中文字幕国语完整版| 中文字幕视频免费在线观看| 中文字幕亚洲综合小综合在线| 18禁黄久久久AAA片| 九九热精品免费观看| 好男人社区| 啦啦啦 中文 中国 免费 高清在线 | 色窝窝777欧美午夜精品影院| 忘忧草研究所 麻豆| 亚洲成人三级| 中文字幕不卡免费高清视频| av在线观看地址|