哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

使用函數(shù)表示組合邏輯的方法

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-12-21 09:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

使用函數(shù)表示組合邏輯

當(dāng)編碼正確時,函數(shù)的行為和綜合就像組合邏輯一樣。

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

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

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

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

圖7-2顯示了綜合該函數(shù)的結(jié)果,以及從連續(xù)賦值語句調(diào)用該函數(shù)的模塊。

示例7-2:定義乘法運算的算法函數(shù)

//`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的綜合結(jié)果:作為組合邏輯的函數(shù)

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

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

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

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

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    957

    瀏覽量

    45449
  • 組合邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    10397
  • and
    and
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    7766

原文標(biāo)題:使用函數(shù)表示組合邏輯

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    村田電感LQH系列型號表示方法

    村田電感LQH系列型號采用結(jié)構(gòu)化編碼規(guī)則,由12位字符組成,遵循 “LQ+結(jié)構(gòu)+尺寸+應(yīng)用+類別+電感值+精度+特征+電極+包裝” 的邏輯。以下以型號 LQH32MN331K23L 為例,拆解其含義
    的頭像 發(fā)表于 04-07 15:08 ?68次閱讀
    村田電感LQH系列型號<b class='flag-5'>表示</b><b class='flag-5'>方法</b>

    函數(shù)指針介紹

    ; 取地址運算符 不是必需的,因為一個函數(shù)標(biāo)識符就表示了它的地址,如果是函數(shù)調(diào)用,還必須包含一個圓括號括起來的參數(shù)表。 調(diào)用函數(shù)指針的方式也
    發(fā)表于 01-21 08:11

    函數(shù)指針及指針函數(shù)的區(qū)別

    = fun(a);   注意指針函數(shù)函數(shù)指針表示方法的不同,千萬不要混淆。最簡單的辨別方式就是看函數(shù)名前面的指針*號有沒有被括號()包含
    發(fā)表于 12-12 06:34

    車載功放選型避坑:別被 “參數(shù)表” 騙了!CD7377CZ/CD7388 的場景適配真相

    設(shè)計,避開了多數(shù)芯片的 “參數(shù)好看、裝車?yán)琛?陷阱。作為華潤微授權(quán)代理商,深智微科技帶你撕開參數(shù)表的偽裝,看懂真正的選型邏輯。 避坑點 1:別迷信 “大功率”,喇叭阻抗才是隱藏關(guān)鍵 最易踩的坑 :看到 CD7388 的 41W 功率就盲目下單,結(jié)果用它推 4Ω 原
    的頭像 發(fā)表于 12-11 10:09 ?780次閱讀

    結(jié)構(gòu)體聲明與定義

    int year;//入學(xué)年份,用無符號整數(shù)表示 unsigned int years;//學(xué)制,用無符號整數(shù)表示 }; int main(void) { /** *在main函數(shù)中聲明結(jié)構(gòu)體
    發(fā)表于 12-11 07:52

    檢查函數(shù)返回值的錯誤和異常處理方法

    檢查函數(shù)返回值:這是最常見也最基本的錯誤處理和異常處理方法,就是在調(diào)用一個函數(shù)后,檢查其返回值是否符合預(yù)期或是否表示出錯或失敗。如果出錯或失敗,則根據(jù)返回值或者全局變量errno(定義
    發(fā)表于 12-11 06:48

    使用信號處理函數(shù)

    使用信號處理函數(shù):這是一種用于處理運行時異常的方法,就是在程序中注冊一些信號處理函數(shù),用于響應(yīng)系統(tǒng)或用戶發(fā)送的一些信號。信號是一種軟件中斷,用于通知進(jìn)程發(fā)生了某些異?;蚴录@?,當(dāng)程序試圖訪問非法
    發(fā)表于 12-11 06:40

    定點數(shù)表示實數(shù)的方法以及定點數(shù)在硬件上的運算驗證

    本篇主要介紹定點數(shù)表示實數(shù)的方法以及定點數(shù)在硬件上的運算驗證 為什么選定點數(shù) 32位單精度浮點數(shù): 32位的單精度浮點數(shù)為例,IEE754標(biāo)準(zhǔn)規(guī)定,一個flaot類型的浮點數(shù)X可以
    發(fā)表于 10-28 08:13

    電壓放大器驅(qū)動的混凝土組合結(jié)構(gòu)界面損傷高靈敏檢測方法研究

    鋼-混組合結(jié)構(gòu)無損檢測技術(shù),可用于指導(dǎo)MASW方法的實際工程應(yīng)用。 測試設(shè)備: ATA-2041高壓放大器、采集卡、示波器、任意函數(shù)波形發(fā)生器。 實驗過程: 圖:MASW試驗檢測系統(tǒng) 搭建MASW檢測系統(tǒng),MASW檢測系統(tǒng)的硬件
    的頭像 發(fā)表于 08-05 11:42 ?827次閱讀
    電壓放大器驅(qū)動的混凝土<b class='flag-5'>組合</b>結(jié)構(gòu)界面損傷高靈敏檢測<b class='flag-5'>方法</b>研究

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    在C編程中,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復(fù)用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?2042次閱讀
    C語言中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    深入理解C語言:函數(shù)—編程中的“積木塊”藝術(shù)

    在編程的世界里,函數(shù)就像建筑中的“積木塊”——它們是構(gòu)建復(fù)雜程序的基石。通過靈活組合這些模塊,開發(fā)者能打造出功能強大且結(jié)構(gòu)清晰的代碼。函數(shù)之所以成為C語言的核心,正是因為它解決了編程中的三大關(guān)
    的頭像 發(fā)表于 06-30 17:26 ?2023次閱讀
    深入理解C語言:<b class='flag-5'>函數(shù)</b>—編程中的“積木塊”藝術(shù)

    電阻上的數(shù)字如何表示電阻大小?

    電阻是電子電路中的重要元件,用于控制電流的流動。電阻的大小,也就是電阻值,通常通過其上的數(shù)字或顏色環(huán)來表示。了解這些表示方法對于電路設(shè)計和維修至關(guān)重要。今天昂洋科技將詳細(xì)介紹電阻上數(shù)字如何表示
    的頭像 發(fā)表于 06-09 14:38 ?4019次閱讀
    電阻上的數(shù)字如何<b class='flag-5'>表示</b>電阻大???

    實用電子電路設(shè)計(全6本)——數(shù)字邏輯電路的ASIC設(shè)計

    門電路、邏輯壓縮、組合電路、Johnson計數(shù)器、定序器設(shè)計及應(yīng)用等,并介紹了實現(xiàn)最佳設(shè)計的各種工程設(shè)計方法。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~)
    發(fā)表于 05-15 15:22

    WP4000變頻功率分析儀的精度表示與常規(guī)儀表精度表示方法有什么不同?

    WP4000變頻功率分析儀的精度表示與常規(guī)儀表精度表示方法有什么不同呢? 一 相對誤差與引用誤差的概念 相對誤差是指測量所造成的絕對誤差與被測量真值之比,一般以百分數(shù)表示。 由于被測量
    的頭像 發(fā)表于 05-13 09:58 ?765次閱讀

    基于 IAR Embedded Workbench 的自研 MCU 芯片軟件函數(shù)與變量內(nèi)存布局優(yōu)化精控方法

    函數(shù)和變量指定section放置方法與操作流程,兼具過程記錄與詳細(xì)說明,旨在打造一份實用的參考指南,助力開發(fā)者精準(zhǔn)掌控程序的內(nèi)存分布與執(zhí)行邏輯。文檔涵蓋從默認(rèn)section表的介紹,到多種放置手段的闡釋,以及實際配置示例的展示
    的頭像 發(fā)表于 04-30 16:38 ?857次閱讀
    基于 IAR Embedded Workbench 的自研 MCU 芯片軟件<b class='flag-5'>函數(shù)</b>與變量內(nèi)存布局優(yōu)化精控<b class='flag-5'>方法</b>
    平乐县| 舒兰市| 东丰县| 北宁市| 太湖县| 黑山县| 富平县| 郁南县| 苍南县| 锡林郭勒盟| 钟祥市| 公主岭市| 镇宁| 廉江市| 乌兰浩特市| 周至县| 蒙阴县| 岳普湖县| 福泉市| 江都市| 延川县| 南康市| 洛川县| 肥东县| 犍为县| 鄂伦春自治旗| 新闻| 都昌县| 墨脱县| 永济市| 寿光市| 金堂县| 玛纳斯县| 沭阳县| 新丰县| 麻栗坡县| 和林格尔县| 仙桃市| 色达县| 东乡族自治县| 富锦市|