在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

使用函數表示組合邏輯的方法

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-12-21 09:18 ? 次閱讀

數字門級電路可分為兩大類:組合邏輯和時序邏輯。鎖存器是組合邏輯和時序邏輯的一個交叉點,在后面會作為單獨的主題處理。

組合邏輯描述了門級電路,其中邏輯塊的輸出直接反映到該塊的輸入值的組合,例如,雙輸入AND門的輸出是兩個輸入的邏輯與。如果輸入值發生變化,輸出值將反映這一變化,組合邏輯的RTL模型需要反映這種門級行為,這意味著邏輯塊的輸出必須始終反映該邏輯塊當前輸入值的組合。

SystemVerilog有三種在可綜合RTL級別表示組合邏輯的方法:連續賦值語句、always程序塊和函數。接下來幾篇文章將探討每種編碼風格,并推薦最佳實踐編碼風格。

425b3fb4-80cc-11ed-8abf-dac502259ad0.png

使用函數表示組合邏輯

當編碼正確時,函數的行為和綜合就像組合邏輯一樣。

最佳實踐指南7-7
將RTL模型中使用的函數聲明為自動automatic

為了表示組合邏輯行為,每次調用函數時都必須計算一個新的函數返回值。如果調用了靜態函數,但沒有指定返回值,則靜態函數將隱式返回其上一次調用的值。這是鎖存邏輯的行為,而不是組合邏輯。通過將RTL模型中使用的所有函數聲明為自動函數(automatic),可以避免這種編碼錯誤。

例7-2定義了一個使用Russian Peasant Multiplication算法(一系列加法和移位運算)計算乘法運算的函數。該函數被定義在一個包中,任何模塊都可以使用該乘法器算法。

SystemVerilog會推斷出一個與函數名稱和數據類型相同的變量,示例7-2中的代碼就是利用了這一點。函數名multiply_f被用作臨時變量來保存for循環中的中間計算結果,函數名中存儲的最終值在函數退出時成為函數返回值。

圖7-2顯示了綜合該函數的結果,以及從連續賦值語句調用該函數的模塊。

示例7-2:定義乘法運算的算法函數

//`begin_keywords"1800-2012"http://useSystemVerilog-2012keywords
packagedefinitions_pkg;
timeunit1ns;timeprecision1ns;

//RussianPeasantMultiplicationAlgorithm
functionautomatic[7:0]multiply_f([7:0]a,b);
multiply_f=0;
for(inti=0;i<=3;?i++)?begin?
??????if?(b?==?0)?continue;?//?all?done,?finish?looping
??????else?begin?
?????????if?(b?&?1)?multiply_f?+=?a;
?????????a?<<=?1;??//?multiply?by?2
?????????b?>>=1;//divideby2
end
end
endfunction
endpackage:definitions_pkg
//`end_keywords

//`begin_keywords"1800-2012"http://useSystemVerilog-2012keywords
modulealgorithmic_multiplier
importdefinitions_pkg::*;
(inputlogic[3:0]a,b,
outputlogic[7:0]result
);
timeunit1ns;timeprecision1ns;

assignresult=multiply_f(a,b);

endmodule:algorithmic_multiplier
//`end_keywords
圖7-2:示例7-2的綜合結果:作為組合邏輯的函數

42abd94c-80cc-11ed-8abf-dac502259ad0.png

最佳實踐指南7-8
在可能的情況下,使用SystemVerilog運算符,如*,而不是使用循環和其他編程語句。

算法乘法器的示例7-2還說明了為什么在乘法和除法等復雜運算中最好使用SystemVerilog運算符。如果在示例7-2中使用了乘法運算符(*),則綜合編譯器可以將該運算符映射到ASICFPGA的最有效的乘法器。

設計工程師在使用算術運算符或算法來表示復雜操作時需要謹慎。RTL模型不是在具有大量內存資源的通用計算機上運行的軟件程序。RTL模型是門級實現的抽象。所表示的功能需要在物理上適合目標ASIC或FPGA,并且在時間上在有限的數量或時鐘周期內。之前的文章有詳細介紹了在RTL模型中使用算術運算符(如乘法和除法)的指導原則。

審核編輯:郭婷

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

    關注

    8

    文章

    906

    瀏覽量

    41508
  • 組合邏輯
    +關注

    關注

    0

    文章

    47

    瀏覽量

    10041
  • and
    and
    +關注

    關注

    0

    文章

    32

    瀏覽量

    7257

原文標題:使用函數表示組合邏輯

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    時序邏輯電路的功能表示方法有哪些

    復雜邏輯功能的關鍵組成部分。它們能夠存儲信息,并根據輸入信號和當前狀態產生輸出。時序邏輯電路的設計和分析對于理解和實現數字系統至關重要。 2. 時序邏輯電路的基本概念 2.1 時序邏輯
    的頭像 發表于 08-28 11:41 ?651次閱讀

    邏輯函數的化簡方法有哪兩種

    邏輯函數的化簡是數字電路設計中的重要步驟,它有助于減少電路中的門數量,提高電路的性能和可靠性。邏輯函數的化簡方法主要可以分為兩大類: 公式化
    的頭像 發表于 08-22 16:40 ?811次閱讀

    組合邏輯電路輸出狀態取決于哪些因素

    組合邏輯電路的輸出狀態主要取決于以下因素: 核心因素 輸入信號的現態 :組合邏輯電路的輸出狀態在任何時刻僅由其當前輸入狀態的邏輯
    的頭像 發表于 08-11 11:24 ?1053次閱讀

    組合邏輯電路的基本概念、組成及設計方法

    組合邏輯電路是一種數字電路,其輸出狀態完全取決于當前輸入狀態。這種電路沒有記憶功能,即不包含存儲元件。組合邏輯電路廣泛應用于數字系統中,如計算機、通信設備和控制系統等。
    的頭像 發表于 08-11 11:22 ?1425次閱讀

    組合邏輯電路的結構特點是什么?

    組合邏輯電路是一種基本的數字電路,它由邏輯門組成,用于實現各種邏輯功能。組合邏輯電路的結構特點主
    的頭像 發表于 08-11 11:14 ?993次閱讀

    常用的組合邏輯電路有哪些

    組合邏輯電路是數字邏輯電路的一種,其特點是輸出只依賴于當前的輸入狀態,而與輸入信號的變化歷史無關。組合邏輯電路廣泛應用于數字系統中,如計算機
    的頭像 發表于 07-30 14:41 ?1594次閱讀

    組合邏輯電路邏輯功能的測試方法

    一、引言 組合邏輯電路是數字電路中的重要組成部分,它僅由邏輯門電路(如與門、或門、非門等)和輸入/輸出端組成,不包含任何存儲元件。組合邏輯
    的頭像 發表于 07-30 14:38 ?1227次閱讀

    組合邏輯控制器的設計步驟是什么

    組合邏輯控制器(Combinatorial Logic Controller)是一種數字電路,用于根據輸入信號生成輸出信號。它不包含存儲元件,因此輸出僅取決于當前的輸入信號。組合邏輯
    的頭像 發表于 06-30 10:30 ?726次閱讀

    組合邏輯控制器是什么設備

    邏輯運算和控制功能。在本文中,我們將詳細介紹組合邏輯控制器的基本概念、工作原理、應用領域和設計方法。 基本概念 1.1 什么是組合
    的頭像 發表于 06-30 10:29 ?649次閱讀

    組合邏輯控制器的基本概念、實現原理及設計方法

    廣泛應用于計算機、通信、控制等領域。 本文將詳細介紹組合邏輯控制器的基本概念、實現原理、設計方法、應用場景等方面的內容,以幫助讀者全面了解組合邏輯
    的頭像 發表于 06-30 10:26 ?2079次閱讀

    組合邏輯控制器的工作原理是什么

    基本概念、設計方法、實現技術以及應用領域。 組合邏輯控制器的基本概念 1.1 組合邏輯的定義 組合
    的頭像 發表于 06-30 10:15 ?1109次閱讀

    組合邏輯控制器是用什么實現的

    組合邏輯控制器是一種用于控制和管理復雜系統中各個組件之間交互的邏輯設備。它可以應用于各種領域,如計算機科學、通信、自動化控制等。在這篇文章中,我們將詳細探討組合
    的頭像 發表于 06-30 10:11 ?508次閱讀

    基于VHDL的組合邏輯設計

    電子發燒友網站提供《基于VHDL的組合邏輯設計.ppt》資料免費下載
    發表于 03-11 09:23 ?2次下載

    組合邏輯電路的定義及電路分析方法

    對于一個邏輯電路,其輸出狀態在任何時刻只取決于同一時刻的輸入狀態,而與電路原來的狀態無關,這種電路被定義為組合邏輯電路。
    的頭像 發表于 02-04 15:33 ?2310次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路的定義及電路分析<b class='flag-5'>方法</b>

    組合邏輯電路之與或邏輯

    邏輯電路由多個邏輯門組成且不含存儲電路,對于給定的輸入變量組合將產生確定的輸出,則這種邏輯電路稱為組合
    的頭像 發表于 02-04 11:46 ?1731次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路之與或<b class='flag-5'>邏輯</b>
    主站蜘蛛池模板: 最新国产在线播放| 四虎国产精品影库永久免费| 色五月在线视频| 国模精品| 欧美一级特黄aaaaaa在线看片 | 午夜两性网| xxxx日本69护士| 69日本xxxxxxxxx29| 五月婷婷一区| 国产一级爱c片免费播放| 日日做日日摸夜夜爽| 双性受粗大撑开白浊| 欧美精品一级| 国产精品美女免费视频大全| 国产亚洲papapa| 亚洲激情视频| 成年午夜一级毛片视频| 亚洲精品91大神在线观看| 五月婷婷婷婷婷| free性欧美高清另类| 中文字幕一二三四区2021| 色婷婷综合激情| 天天干天天舔天天射| 久久精品国产99精品最新| 九色欧美| 在线黄视频网站| 色男人的天堂| 天天插插| 一级做受毛片免费大片| 国产精品麻豆va在线播放| 啪一啪日一日| 全部在线播放免费毛片| 人人做人人爽人人爱| 伊人久久亚洲综合| xx肥妇人爽妇网| 一区二区免费播放| 男人天堂色男人| 成人夜夜嗨| 欧美色视频日本片高清在线观看 | 亚洲高清免费视频| 一区在线观看|