色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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>
    主站蜘蛛池模板: 成人免费观看国产高清| 女性爽爽影院免费观看| 伊人情人网综合| 狠狠色狠狠色综合| 亚洲成人综合在线| 黑人干日本美女| 亚洲这里只有精品| 久久婷婷国产五月综合色啪最新| 在线二区 中文 无码| 久久综合九色综合国产| 97 sese| 免费在线视频成人| xxxjapanese丰满奶水| 秋秋影视午夜福利高清| 调教日本美女| 无码欧美XXXXX在线观看裸| 国产午夜精品一区二区三区| 亚洲精品国产拍在线观看| 久久国产乱子伦免费精品| 中俄两军在日本海等上空战略巡航| 伦理在线影院伦理电影| 99精品观看| 日本欧美午夜三级| 国产成人精品久久一区二区三区| 国产性夜夜性夜夜爽91| 色偷偷男人天堂| 黄色片网站下载| 国产Av影片麻豆精品传媒| 日韩av国产av欧美天堂社区 | 内射人妻骚骚骚| 中文字幕 日韩 无码 在线| 久久青草在线视频精品| 在线综合 亚洲 欧美| 免费人妻AV无码专区五月| 99视频免费在线| 亚洲蜜桃AV永久无码精品放毛片| 麻豆精品传媒卡一卡二传媒短视频| 永久免费无码AV国产网站| 牛牛在线1视频| 国产成人在线网站| 亚洲午夜精品aaa级久久久久|