日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

  1概述

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

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

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

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

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

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

  2編程舉例

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

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

  解:(注:VHDL語言中使用“--”作為注釋符號)

  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è)管腳定義命令后面,不可加分號;

  );

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

  ARCHITECTURE a OF hf IS

  Begin --以上是本例題解答過程中的公共部分,其后分別接各解法語句。

  --******************************

  --解法1:使用“hen -Else”表達(dá)方式②

  z<=‘0’when (s="000") else --此語句只能將s的各個(gè)值分開寫,而不能寫成如下形式:

  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 Select

  z<=‘0’ when "000", --注意:除了最后一句的語句結(jié)束標(biāo)志是分號外,其余各句均是逗號;

  ‘0’ when "011",

  ‘0’ when "110",

  ‘0’ when "111", -- when后選擇信號的值也只能分別列出,不可寫成組合條件形式。

  ‘1’ when others;

  End a;

  --解法3:使用“If-Else”表達(dá)方式:

  Process--If-Else語句必須要與process配合使用;

  Begin --Process中此句必不可少,否則編譯時(shí)出錯(cuò);

  if s="000" or s="011" or s="110" or s="111" then --If后若為組合條件可用括號也可不用;

  z<=‘0’;

  else

  z<=‘1’;

  end if;

  end process;

  End a;

  --解法4:使用“Case-Is-When”表達(dá)方式:

  Process --“Case-Is-When”也只能與“Process”配合使用;

  Begin

  case s is

  when "000"|"011"|"110"|"111" =>

  --此處不能將“|”改成“or”但可以像解法1或解法1或解法2那樣將不同信號值分開寫;

  when others=> --When句末尾是“=>”而不是逗號或者分號。

  z<=‘1’;

  end case;

  end process;

  End a;

  備注:

  (1) VHDL語言對所有字母的大小寫狀態(tài)不敏感,關(guān)鍵在于語句要正確規(guī)范。

  (2) 在VHDL語言中,所使用的標(biāo)點(diǎn)符號均是英文標(biāo)點(diǎn)符號。凡是設(shè)置單個(gè)的信號值均需使用 單引號,而設(shè)置序列信號值必須使用雙引號。

  (3) 請參看相關(guān)資料。

  3討論

  3.1本例能否使用“Wait Until”表達(dá)方式

  很遺憾,類似此例的情況不能使用這個(gè)語 句。起碼筆者經(jīng)過多次嘗試之后均沒有通過編譯檢查。但是在使用此語句時(shí)應(yīng)該注意以下事項(xiàng):

  (1) Wait Until 后面緊接的語句中不能出現(xiàn)序列信號的值,例如不能寫成如下形式:

  Wait Until s="000" 也不能寫成組合條件形式(無論是否使用括號):

  Wait Until s="000" or s="011" or s="110" or s="111"

  (2) 使用此表達(dá)方式編寫程序代碼時(shí),不能設(shè)定輸出引腳的初始值(通過第三方信號傳遞也不 行,但是在進(jìn)行仿真時(shí)可以設(shè)定初始輸出值),不能寫成如下形式:

  ……

  s: in std_logic;

  ……

  Architecture a of hf is

  Begin

  z<=0; --就算z的初、終值通過兩個(gè)常量信號(如c=‘0’,d=‘1 ’)傳遞

  Process --也不行,因?yàn)閦不能規(guī)定兩個(gè)狀態(tài)。否則編譯時(shí)出錯(cuò);

  Begin

  wait until s=‘0’; --此處也不可以寫成序列信號形式,更不能使用邏輯運(yùn)算符將其

  z<=1; --寫成組合條件形式。Wait Until語句不支持組合條件。

  End process;

  END a;

  3.2更簡單的實(shí)現(xiàn)方法

  順序語句除了前文所敘的幾種基本表達(dá)方式以 外,還有一種循環(huán)語句:For-Loop;而并行同時(shí)語句也還有方塊語句(Block)、組件定義(Component)與組件映像(Port Map)等多個(gè)模塊化語法。而使用“For-Loop”編寫此類有重復(fù)動(dòng)作需求的代碼無疑是最簡單直觀的:

  ……

  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;

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

  4結(jié)束語

  從以上不同解法可以看出,各種基本的表達(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)是直觀與簡單并舉,尤其是允許使用由邏輯運(yùn)算符(And、Or等等)寫成的組合條件更是精簡了不少代碼。

  另外,在編寫VHDL程序的過程中,不同的 表達(dá)式中,表示語句結(jié)束的符號是不同的,這一點(diǎn)在 我們學(xué)習(xí)和使用VHDL的過程中值得特別留意。

  參考文獻(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

  [4]何鋒 男,1979年出生,本科,研究方向?yàn)橛布枋稣Z言設(shè)計(jì),嵌入式系統(tǒng)開發(fā)。



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

在高速電路設(shè)計(jì)領(lǐng)域,差分信號憑借其卓越的抗干擾能力與信號完整性表現(xiàn),成為USB、HDMI、PCIe等高速接口的標(biāo)配信號類型。而在原理圖階段就為差分信號添加正確的屬性,是確保后續(xù)PCB布線精準(zhǔn)實(shí)現(xiàn)設(shè)計(jì)意圖的關(guān)鍵前提。

關(guān)鍵字: 差分信號 信號

在高速電子系統(tǒng)設(shè)計(jì)中,電源完整性(Power Integrity, PI)和信號完整性(Signal Integrity, SI)是確保系統(tǒng)可靠性和性能的核心要素。電源完整性關(guān)注配電網(wǎng)絡(luò)(PDN)提供穩(wěn)定、清潔電源的能...

關(guān)鍵字: 電源 信號

在智能手機(jī)導(dǎo)航精準(zhǔn)指引、自動(dòng)駕駛平穩(wěn)行駛、物流車輛實(shí)時(shí)調(diào)度的當(dāng)下,GPS(Global Positioning System)早已從軍事專屬技術(shù),深度融入大眾生活的方方面面。作為全球首個(gè)成熟的衛(wèi)星導(dǎo)航系統(tǒng),GPS憑借其全...

關(guān)鍵字: GPS 信號

隨著電子設(shè)備向高速、高密度、小型化方向發(fā)展,高速PCB(Printed Circuit Board,印制電路板)設(shè)計(jì)逐漸成為電子工程領(lǐng)域的核心挑戰(zhàn)。當(dāng)系統(tǒng)時(shí)鐘頻率超過50MHz,或信號上升時(shí)間小于1ns時(shí),傳統(tǒng)PCB設(shè)計(jì)...

關(guān)鍵字: PCB 信號

在電子系統(tǒng)與信號處理領(lǐng)域,濾波電路是不可或缺的核心組件,它如同精準(zhǔn)的“頻率閘門”,能夠依據(jù)需求篩選特定頻率的信號,抑制干擾與噪聲,保障信號的純凈度與有效性。濾波電路的形式豐富多樣,不同類型的電路在原理、特性與應(yīng)用場景上各...

關(guān)鍵字: 濾波電路 信號

在電子設(shè)備的硬件架構(gòu)中,印刷電路板(PCB)是承載元器件、傳輸電信號的核心載體。隨著電子設(shè)備向高性能、小型化、多功能方向發(fā)展,多層PCB的應(yīng)用愈發(fā)廣泛。細(xì)心的從業(yè)者會(huì)發(fā)現(xiàn),市場上主流的多層PCB幾乎都是4層、6層、8層等...

關(guān)鍵字: PCB 信號

地環(huán)路干擾(Ground Loop Interference)是電子系統(tǒng)中常見的電磁兼容性問題,其本質(zhì)是通過閉合導(dǎo)電路徑形成的干擾電流對信號完整性的影響。

關(guān)鍵字: 電流 信號

上海2026年2月25日 /美通社/ -- 北京時(shí)間2026年2月25日,君實(shí)生物(1877.HK,688180.SH)宣布與德琪醫(yī)藥(6996.HK)達(dá)成戰(zhàn)略合作,雙方將共...

關(guān)鍵字: PD CD 信號 PI

上海2026年1月19日 /美通社/ -- 近日,新華社發(fā)布一組2025經(jīng)濟(jì)熱詞圖鑒,令人印象深刻。而當(dāng)經(jīng)濟(jì)熱詞從新聞標(biāo)題涌向產(chǎn)業(yè)深處,往往最先發(fā)生變化的,是人才市場。eRo...

關(guān)鍵字: AI 工程師 機(jī)器人 信號

示波器作為電子測量領(lǐng)域的核心儀器,能直觀捕捉電信號的時(shí)域變化,但僅靠儀器自帶功能難以實(shí)現(xiàn)復(fù)雜數(shù)據(jù)處理與深度分析。將示波器采集的完整信號數(shù)據(jù)導(dǎo)出,結(jié)合Matlab的強(qiáng)大運(yùn)算與可視化能力,可完成信號濾波、特征提取、頻譜分析等...

關(guān)鍵字: 示波器 信號 測量領(lǐng)域
關(guān)閉