www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:通過(guò)一個(gè)偶同位產(chǎn)生器邏輯功能的實(shí)現(xiàn)過(guò)程,介紹了VHDL語(yǔ)言中信號(hào)設(shè)置的不同方 式及注意事項(xiàng),并給出了完整的程序代碼。關(guān)鍵詞:VHDL;程序中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-353X(2002)03-0045-

摘要:通過(guò)一個(gè)偶同位產(chǎn)生器邏輯功能的實(shí)現(xiàn)過(guò)程,介紹了VHDL語(yǔ)言中信號(hào)設(shè)置的不同方 式及注意事項(xiàng),并給出了完整的程序代碼。

關(guān)鍵詞:VHDL;程序

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-353X(2002)03-0045-03

Different expression andsome advertences of VHDL for signals setting He Feng(The 34th Electronic Research Institute,Ministry of Information Industry,Guilin 541004,China)

Abstract: This paper introduces how to use different expression of VHDL to set signals based on the Even Parity Bit Generator design, and the advertences and the whole programs are given.

Key words: VHDL;Program1概述 VHDL是一種快速的電路設(shè)計(jì)工具,功能涵蓋 了電路描述、電路合成、電路仿真等三大電路設(shè)計(jì)工作。目前廣泛使用的軟件有Altera公司出品的 MAX+PLUSII,Xinlinx公司的Foundation等。

VHDL語(yǔ)言中有兩種基本的語(yǔ)句命令:并行同 時(shí)語(yǔ)句命令以及順序語(yǔ)句命令。兩者之間最大的不同點(diǎn)是,并行同時(shí)語(yǔ)句命令就像是電路板的動(dòng)作方 式,不論幾個(gè)命令,是一次且同時(shí)執(zhí)行,產(chǎn)生結(jié)果;順序語(yǔ)句命令類似一般的程序語(yǔ)言,如Basic 等的執(zhí)行方式,是一次一個(gè)命令,且依書(shū)寫方式由上而下地執(zhí)行。

并行同時(shí)語(yǔ)句命令主要有以下幾種表達(dá)方式: 直接設(shè)置語(yǔ)句(使用<=運(yùn)算符)、條件式信號(hào)設(shè)置語(yǔ)句(When-Else)與選擇式信號(hào)設(shè)置語(yǔ)句 (With-Select-When)等;

順序語(yǔ)句命令主要有以下幾種表達(dá)方式:Pro cess(過(guò)程)、If-Else(判斷比較)、Wait Until(等待)、Case-Is-When(描述選擇)等。

熟練而靈活地使用上述兩類命令,可以節(jié)省大 量的工作量,使程序簡(jiǎn)單直觀、可讀性增強(qiáng)而且有利于提高程序的編譯執(zhí)行效率。

在數(shù)據(jù)通信過(guò)程中,同位器與同位檢查器常用 于數(shù)據(jù)糾錯(cuò)。本文就以一個(gè)簡(jiǎn)單偶同位產(chǎn)生器(Even Parity Bit Generator)真值表功能的實(shí)現(xiàn)方法來(lái)探討上述表達(dá)方式選擇問(wèn)題,以及編程 過(guò)程中的注意事項(xiàng)。

2編程舉例例:試設(shè)計(jì)VHDL程序完成如表1偶同位器的 真值表功能:

輸入輸出S2S1S0Z00000011010101101011101111001110分析:由真值表可以看出,所要實(shí)現(xiàn)的是一個(gè)由三個(gè)數(shù)據(jù)位、一個(gè)同位位組成的偶同位產(chǎn)生器功 能。不難得出各位之間的簡(jiǎn)單邏輯關(guān)系:P=S0S1S2 。但是本文的主要目的在于通過(guò)此例闡述如何靈活運(yùn)用不同的基本表達(dá)式設(shè)置信號(hào),因此 某些可能更加簡(jiǎn)單的方法以及比較高級(jí)一點(diǎn)語(yǔ)句本文不予詳細(xì)討論。

解: (注:VHDL語(yǔ)言中使用“--”作為注釋符號(hào))library ieee; ①

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.

all;

ENTITY hf is --假設(shè)建立的芯片電路名稱以及保存后的文件名為“hf”;

Port (
s: in std_logic_vector(2 downto 0);
z: out std_logic--最后一個(gè)管腳定義命令后面,不可加分號(hào);
);

end hf; --應(yīng)該保證電路單元名稱與存盤的文件名一致,否則編譯時(shí) 出錯(cuò);

ARCHITECTURE a OF hf ISBegin --以上是本例題解答過(guò)程中的公共部分,其后分別接各解法語(yǔ)句。--******************************

--解法1:使用“hen -Else”表達(dá)方式②z<=‘0’when (s="000") else --此語(yǔ)句只能將s的各個(gè)值分開(kāi)寫,而不能寫成如下形式:0’ when (s="011") else -- z<=‘0’when (s="000" or s="011" or s="110" or s="111")0’ when (s="110") else -- else ‘1’;

‘0’ when (s="111") else

‘1’ when (s="001") else

‘1’ when (s="001") else

‘1’ when (s="001") else

‘1’;

End a;

--解法2:使用揥ith -Select -When表達(dá)方式:With s Selectz<=‘0’ when "000", --注意:除了最后一句的語(yǔ)句結(jié)束標(biāo)志是分號(hào)外,其余各句均是逗號(hào);

‘0’ when "011",

‘0’ when "110",

‘0’ when "111", -- when后選擇信號(hào)的值也只能分別列出,不可寫成組合條件形式。
‘1’ when others;
End a;

--解法3:使用“If-Else”表達(dá)方式:Process --If-Else語(yǔ)句必須要與Process配合使用;Begin --Process中此句必不可少,否則編譯時(shí)出錯(cuò);if s="000" or s="011" or s="110" or s="111" then --If后若為組合條件可用括號(hào)也可不用;

z<=‘0’;
else
z<=‘1’;
end if;
end process;
End a;

--解法4:使用“Case-Is-When”表達(dá)方式:Process --“Case-Is-When”也只能與“Process”配合使用;Begincase s iswhen "000"|"011"|"110"|"111" =>--此處不能將“|”改成“or”但可以像解法1或解法1或解法2那樣將不同信號(hào)值分開(kāi)寫;when others=> --When句末尾是“=>”而不是逗號(hào)或者分號(hào)。z<=‘1’;
end case;
end process;
End a;備注:(1) VHDL語(yǔ)言對(duì)所有字母的大小寫狀態(tài)不敏感,關(guān)鍵在于語(yǔ)句要正確規(guī)范。(2) 在VHDL語(yǔ)言中,所使用的標(biāo)點(diǎn)符號(hào)均是英文標(biāo)點(diǎn)符號(hào)。凡是設(shè)置單個(gè)的信號(hào)值均需使用 單引號(hào),而設(shè)置序列信號(hào)值必須使用雙引號(hào)。(3) 請(qǐng)參看相關(guān)資料。

3討論3.1本例能否使用“Wait Until”表達(dá)方式很遺憾,類似此例的情況不能使用這個(gè)語(yǔ) 句。起碼筆者經(jīng)過(guò)多次嘗試之后均沒(méi)有通過(guò)編譯檢查。但是在使用此語(yǔ)句時(shí)應(yīng)該注意以下事項(xiàng):

(1) Wait Until 后面緊接的語(yǔ)句中不能出現(xiàn)序列信號(hào)的值,例如不能寫成如下形式:Wait Until s="000" 也不能寫成組合條件形式(無(wú)論是否使用括號(hào)):Wait Until s="000" or s="011" or s="110" or s="111"

(2) 使用此表達(dá)方式編寫程序代碼時(shí),不能設(shè)定輸出引腳的初始值(通過(guò)第三方信號(hào)傳遞也不 行,但是在進(jìn)行仿真時(shí)可以設(shè)定初始輸出值),不能寫成如下形式:……s: in std_logic;……Architecture a of hf isBeginz<=0; --就算z的初、終值通過(guò)兩個(gè)常量信號(hào)(如c=‘0’,d=‘1 ’)傳遞Process --也不行,因?yàn)閦不能規(guī)定兩個(gè)狀態(tài)。否則編譯時(shí)出錯(cuò);Beginwait until s=‘0’; --此處也不可以寫成序列信號(hào)形式,更不能使用邏輯運(yùn)算符將其z<=1; --寫成組合條件形式。Wait Until語(yǔ)句不支持組合條件。End process;
END a;

3.2更簡(jiǎn)單的實(shí)現(xiàn)方法順序語(yǔ)句除了前文所敘的幾種基本表達(dá)方式以 外,還有一種循環(huán)語(yǔ)句:For-Loop;而并行同時(shí)語(yǔ)句也還有方塊語(yǔ)句(Block)、組件定義(Component)與組件映像(Port Map)等多個(gè)模塊化語(yǔ)法。而使用“For-Loop”編寫此類有重復(fù)動(dòng)作需求的代碼無(wú)疑是最簡(jiǎn)單直觀的:……
Architecture a OF hf IS
Begin
Process(s)
Variable Tmp: Std_Logic;
Begin
Tmp:=‘0’;
For I In 0 to 2 Loop
Tmp:=Tmp XOR s(I);
End Loop;
Z<=s & Tmp;
End Process;
End a;

其他更加簡(jiǎn)單的方法,限于篇幅與本文主 旨,在此就不予深究了。

4結(jié)束語(yǔ)從以上不同解法可以看出,各種基本的表達(dá)方式均有各自的特點(diǎn):采用“When -Else”表達(dá)式(解法1)與“When -Else-When”表達(dá)式(解法2)編寫編寫代碼的優(yōu)點(diǎn)是直觀,但是代碼很多,欲實(shí)現(xiàn)復(fù) 雜的功能時(shí)工作量將會(huì)很大;采用“IF-Else”表達(dá)式(解法4)編寫代碼的優(yōu)點(diǎn)是直觀與簡(jiǎn)單并舉,尤其是允許使用由邏輯運(yùn)算符(And、Or等等)寫成的組合條件更是精簡(jiǎn)了不少代碼。另外,在編寫VHDL程序的過(guò)程中,不同的 表達(dá)式中,表示語(yǔ)句結(jié)束的符號(hào)是不同的,這一點(diǎn)在 我們學(xué)習(xí)和使用VHDL的過(guò)程中值得特別留意。

參考文獻(xiàn) [1]盧毅、賴杰 .VHDL與數(shù)字電路設(shè)計(jì).北京:科學(xué)出版社,2001-04[2]李廣軍、孟憲元 .可編程ASIC設(shè)計(jì)及應(yīng)用.成都:電子科技大學(xué)出版社.2000-10[3]徐志軍等.大規(guī)模可編程邏輯器件及其應(yīng)用.成都:電子科技大學(xué)出版社.2000-11何鋒 男,1979年出生,本科,研究方向?yàn)橛布枋稣Z(yǔ)言設(shè)計(jì),嵌入式系統(tǒng)開(kāi)發(fā)。



來(lái)源:零八我的愛(ài)0次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉