国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

VHDL的運(yùn)算操作符

這篇具有很好參考價(jià)值的文章主要介紹了VHDL的運(yùn)算操作符。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在VHDL語言中共有4類操作符,可以分別進(jìn)行邏輯運(yùn)算(logical)、關(guān)系運(yùn)算(relational)、算術(shù)運(yùn)算(Arithmetic)和并置運(yùn)算(Concatenation)。需要注意的是,被操作符所操作的對象是操作數(shù),且操作數(shù)的類型應(yīng)該和操作符所要求的類型相一致。另外,運(yùn)算操作符是有優(yōu)先級的,例如邏輯運(yùn)算符NOT,在所有操作符中其優(yōu)先級最高。下表所有操作符的優(yōu)先次序。

VHDL的運(yùn)算操作符

操作符的優(yōu)先級

一、邏輯運(yùn)算符

在VHDL語言中邏輯運(yùn)算符共有6種,它們分別是:

NOT——取反;

AND——與;

OR——或;

NAND——與非;

NOR——或非;

XOR——異或。

這6種邏輯運(yùn)算符可以對“STD_LOGIC”和“STD_LOGIC_VECTOR”等數(shù)據(jù)進(jìn)行邏輯運(yùn)算。必須注意,運(yùn)算符的左邊和右邊,以及代入的信號的數(shù)據(jù)類型必須是相同的。

當(dāng)一個(gè)語句中存在兩個(gè)以上的邏輯表達(dá)式時(shí),在C語言中運(yùn)算有自左至右的優(yōu)先級順序的規(guī)定,而在VHDL語言中,左右沒有優(yōu)先級差別。例如,在下例中,如去掉式中的括號,那么從語法上來說是錯(cuò)誤的:

x <=(a AND b)OR(NOT c AND d);

當(dāng)然,如果一個(gè)邏輯表達(dá)式中只有“AND”,“OR”,“XOR”運(yùn)算符,那么改變運(yùn)算順序?qū)⒉粫?huì)導(dǎo)致邏輯的改變。此時(shí),括號是可以省略的。例如:

a <= b AND c AND d AND e;

a <= b OR c OR d OR e;

在所有邏輯運(yùn)算符中NOT的優(yōu)先級最高。

二、 算術(shù)運(yùn)算符

VHDL語言有10種算術(shù)運(yùn)算符,它們分別是:

十——加;

— ——減;

* ——乘;

/——除;

MOD ——求模;

REM ——取余;

+——正;(一元運(yùn)算)

— ——負(fù);(一元運(yùn)算)

** ——指數(shù);

ABS ——取絕對值。

在算術(shù)運(yùn)算中,對于一元運(yùn)算的操作數(shù)(正、負(fù))可以為任何數(shù)值類型(整數(shù)、實(shí)數(shù)、物理量)。加法和減法的操作數(shù)也和上面一樣,具有相同的數(shù)據(jù)類型,而且參加加、減運(yùn)算的操作數(shù)的類型也必須相同。乘除法的操作數(shù)可以同為整數(shù)和實(shí)數(shù)。物理量可以被整數(shù)或?qū)崝?shù)相乘或相除,其結(jié)果仍為一個(gè)物理量。物理量除以同一類型的物理量即可得到一個(gè)整數(shù)量。求模和取余的操作數(shù)必須是同一整數(shù)類型數(shù)據(jù)。一個(gè)指數(shù)的運(yùn)算符的左操作數(shù)可以是任意整數(shù)或?qū)崝?shù),而右操作數(shù)應(yīng)為一整數(shù)。

若對“STD_LOGIC_VECTOR”進(jìn)行“+”(加)、“一”(減)運(yùn)算時(shí),兩邊的操作數(shù)和代入的變量位長如不同,則會(huì)產(chǎn)生語法錯(cuò)誤。另外,“*”運(yùn)算符兩邊的位長相加后的值和要代入的變量的位長不相同時(shí),同樣也會(huì)出現(xiàn)語法錯(cuò)誤。

三、關(guān)系運(yùn)算符

VHDL語言中有6種關(guān)系運(yùn)算符,它們分別是:

=——等于;

/=———不等于;

<——小于;

<=———小于等于;

>——大于;

>=——大于等于。

在關(guān)系運(yùn)算符的左右兩邊是運(yùn)算操作數(shù),不同的關(guān)系運(yùn)算符對兩邊的操作數(shù)的數(shù)據(jù)類型有不同的要求。其中等號“=”和不等號“/=”可以適用所有類型的數(shù)據(jù)。其它關(guān)系運(yùn)算符則可使用于整數(shù)(INTEGER)和實(shí)數(shù)(REAL)、位(STD_LOGIC)等校舉類型以及位矢量(STD_LOGIC_VECTOR)等數(shù)組類型的關(guān)系運(yùn)算。在進(jìn)行關(guān)系運(yùn)算時(shí),左右兩邊的操作數(shù)的數(shù)據(jù)類型必須相同,但是位長度不一定相同。當(dāng)然也有例外的情況,在利用關(guān)系運(yùn)算符對位矢量數(shù)據(jù)進(jìn)行比較時(shí),比較過程是從最左邊的位開始。自左至右按位進(jìn)行比較的。在位長不同的情況下,只能按自左至右的比較結(jié)果作為關(guān)系運(yùn)算的結(jié)果。例如,對3位和4位的位矢量進(jìn)行比較:

SIGNAL a:STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL b:STD_LOGIC_VECTOR(2 DOWNTO 0);

a <= “1010”; --10

b <= “111”; --7

IF( a > b) THEN

ELSE

上例a的值為10,而b的值為7,a應(yīng)該比b大。但是,由于位矢量是從左至右按位比較的,當(dāng)比較到次高位時(shí),a的次高位為“0”而b的次高位為“1”,故比較結(jié)果b比a大。這樣的比較結(jié)果顯然是不符合實(shí)際情況的。

為了能使位矢量進(jìn)行關(guān)系運(yùn)算,在包集合“STD_LOGIC_UNSIGNED”中對“STD_LOGIC_VECTOR”關(guān)系運(yùn)算重新作了定義,使其可以正確的進(jìn)行關(guān)系運(yùn)算。注意在用時(shí)必須首先說明調(diào)用該包集合。

四、并置運(yùn)算符

并置運(yùn)算符“&”用于位的連接。例如,將4個(gè)位用并置運(yùn)算符”&”連接起來就可以構(gòu)成一個(gè)具有4位長度的位矢量。兩個(gè)4位的位矢量用并置運(yùn)算符“&”連接起來就可以構(gòu)成8位長度的位矢量。

如en是b(0)~b(3)的允許輸出信號,

tmp_b <= b AND (en & en & en & en)

這個(gè)語句表示b的4位位矢量由en進(jìn)行選擇得到一個(gè)4位位矢量的輸出。文章來源地址http://www.zghlxwxcb.cn/news/detail-462655.html

到了這里,關(guān)于VHDL的運(yùn)算操作符的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++】類和對象(中)之拷貝構(gòu)造與運(yùn)算符、操作符重載

    【C++】類和對象(中)之拷貝構(gòu)造與運(yùn)算符、操作符重載

    ?? 樊梓慕: 個(gè)人主頁 ??? 個(gè)人專欄: 《C語言》《數(shù)據(jù)結(jié)構(gòu)》《藍(lán)橋杯試題》《LeetCode刷題筆記》《實(shí)訓(xùn)項(xiàng)目》《C++》 ?? 每一個(gè)不曾起舞的日子,都是對生命的辜負(fù) 我們繼續(xù)學(xué)習(xí)默認(rèn)成員函數(shù),本篇文章博主帶來的是拷貝構(gòu)造函數(shù)與運(yùn)算符、操作符重載的講解,并且還有

    2024年02月05日
    瀏覽(26)
  • C++ 賦值運(yùn)算重載,const成員,取地址及const取地址操作符重載

    C++ 賦值運(yùn)算重載,const成員,取地址及const取地址操作符重載

    所屬專欄:C“嘎嘎\\\" 系統(tǒng)學(xué)習(xí)?? ?? 博主首頁:初陽785?? ?? 代碼托管:chuyang785?? ?? 感謝大家的支持,您的點(diǎn)贊和關(guān)注是對我最大的支持?。?!?? ?? 博主也會(huì)更加的努力,創(chuàng)作出更優(yōu)質(zhì)的博文??!?? ?? 關(guān)注我,關(guān)注我,關(guān)注我,重要的事情說三遍?。。。?!

    2024年02月06日
    瀏覽(45)
  • c++類與對象(二)——賦值運(yùn)算符重載與取地址操作符重載

    c++類與對象(二)——賦值運(yùn)算符重載與取地址操作符重載

    前言: 本章將通過 日期類 的實(shí)現(xiàn),深入學(xué)習(xí) 運(yùn)算符重載 的實(shí)現(xiàn)方法。本章將完成6個(gè)默認(rèn)成員函數(shù)中剩余3個(gè)—— 賦值運(yùn)算符重載 與 取地址操作符重載 的學(xué)習(xí)。 C++ 為了增強(qiáng)代碼的可讀性引入了 運(yùn)算符重載 ,運(yùn)算符重載是具有 特殊函數(shù)名 的函數(shù),也具有其返回值類型,

    2024年02月03日
    瀏覽(21)
  • C++ operator關(guān)鍵字的使用(重載運(yùn)算符、仿函數(shù)、類型轉(zhuǎn)換操作符)

    C++ operator的使用(重載運(yùn)算符、仿函數(shù)、類型轉(zhuǎn)換操作符) C++11實(shí)用技術(shù)(一)auto與decltype的使用 C++11實(shí)用技術(shù)(二)std::function和bind綁定器 C++11實(shí)用技術(shù)(三)std::future、std::promise、std::packaged_task、async C++11 中,operator 是一個(gè),用于重載運(yùn)算符。通過重載運(yùn)算符

    2024年02月14日
    瀏覽(31)
  • C++修煉之筑基期第四層 ——透過日期類看運(yùn)算符重載 | 賦值運(yùn)算符重載 | 取地址操作符重載

    C++修煉之筑基期第四層 ——透過日期類看運(yùn)算符重載 | 賦值運(yùn)算符重載 | 取地址操作符重載

    ??作者簡介: 花想云 ,在讀本科生一枚,致力于 C/C++、Linux 學(xué)習(xí)。 ?? 本文收錄于 C++系列 ,本專欄主要內(nèi)容為 C++ 初階、C++ 進(jìn)階、STL 詳解等,專為大學(xué)生打造全套 C++ 學(xué)習(xí)教程,持續(xù)更新! ?? 相關(guān)專欄推薦: C語言初階系列 、 C語言進(jìn)階系列 、 數(shù)據(jù)結(jié)構(gòu)與算法 本章主要

    2023年04月09日
    瀏覽(21)
  • [C++] 類與對象(中)類中六個(gè)默認(rèn)成員函數(shù)(2)-- 運(yùn)算符重載 -- 取地址及const取地址操作符重載

    [C++] 類與對象(中)類中六個(gè)默認(rèn)成員函數(shù)(2)-- 運(yùn)算符重載 -- 取地址及const取地址操作符重載

    ? 本篇我們以日期類來展開講。對于一個(gè)日期,我們?nèi)绾稳ケ却笮∧兀繉δ暝氯找来芜M(jìn)行比較可以,但是可以直接比較嗎? 我們可以看到,對于自定義類型的日期類直接去比較兩個(gè)日期的大小是錯(cuò)誤的,因此我們需要對運(yùn)算符賦予特殊的功能,去實(shí)現(xiàn)可以對自定義類型的比較

    2024年02月13日
    瀏覽(34)
  • 【C語言初階】帶你輕松玩轉(zhuǎn)所有常用操作符(1) ——算數(shù)操作符,移位操作符,位操作符

    【C語言初階】帶你輕松玩轉(zhuǎn)所有常用操作符(1) ——算數(shù)操作符,移位操作符,位操作符

    君兮_的個(gè)人主頁 勤時(shí)當(dāng)勉勵(lì) 歲月不待人 C/C++ 游戲開發(fā) Hello,這里是君兮_,最近要準(zhǔn)備期末復(fù)習(xí)了,可能更新的就不會(huì)那么頻繁了,下個(gè)星期恢復(fù)正常更新。 今天給大家?guī)淼氖遣僮鞣斀?,由于這部分的內(nèi)容比較多,可能會(huì)分成幾部分講,今天帶來的是第一部分的內(nèi)容,廢

    2024年02月11日
    瀏覽(32)
  • 【PostgreSQL】函數(shù)與操作符-比較函數(shù)和操作符

    PostgreSQL中的比較函數(shù)和操作符用于比較兩個(gè)表達(dá)式的值。它們的作用是確定表達(dá)式的值是否滿足某種條件,例如等于、大于、小于等。 比較函數(shù)是一個(gè)接受兩個(gè)參數(shù)的函數(shù),返回一個(gè)布爾值,表示兩個(gè)參數(shù)是否滿足某種條件。例如,equal()函數(shù)用于判斷兩個(gè)參數(shù)是否相等,

    2024年01月17日
    瀏覽(58)
  • 初始C語言——詳細(xì)講解操作符以及操作符的易錯(cuò)點(diǎn)

    初始C語言——詳細(xì)講解操作符以及操作符的易錯(cuò)點(diǎn)

    ?第一章?“C“滸傳——初識C語言(更適合初學(xué)者體質(zhì)哦?。??第二章?詳細(xì)認(rèn)識分支語句和循環(huán)語句以及他們的易錯(cuò)點(diǎn)? ?第三章?初階C語言——特別詳細(xì)地介紹函數(shù) ?第四章?初始C語言——詳細(xì)地講解數(shù)組的內(nèi)容以及易錯(cuò)點(diǎn) ?第五章? 初始C語言——詳細(xì)講解操作符以及操

    2024年02月13日
    瀏覽(36)
  • Js中.?和??語法(可選鏈操作符和雙問號操作符)

    Js中.?和??語法(可選鏈操作符和雙問號操作符)

    Tips:為啥起這么一個(gè)標(biāo)題呢,因?yàn)槲易约寒?dāng)時(shí)看代碼,看到這個(gè)語法的時(shí)候就感覺有些遺忘,但是又不知道他叫做什么名字,所以只能直接搜索.?和??這樣搜索,哈哈哈相信不少人可能跟我一樣,不知道他叫做什么名字嘿嘿。 可選鏈 操作符( ?. )允許讀取位于連接對象鏈深

    2024年01月21日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包