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

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 電子技術(shù)資源
[導(dǎo)讀]VHDL 的注釋以?xún)蓚€(gè)連字符“--”開(kāi)始,到該行尾自動(dòng)結(jié)束,不支持成塊的注釋語(yǔ)句。 VHDL設(shè)計(jì)實(shí)體的組成:庫(kù)和程序包(Library,Package),實(shí)體(Entity),結(jié)構(gòu)體(Architecture),配置(Configuration).

VHDL 的注釋以?xún)蓚€(gè)連字符“--”開(kāi)始,到該行尾自動(dòng)結(jié)束,不支持成塊的注釋語(yǔ)句。

VHDL設(shè)計(jì)實(shí)體的組成:庫(kù)和程序包(Library,Package),實(shí)體(Entity),結(jié)構(gòu)體(Architecture),配置(Configuration).

--- VHDL Example

library ieee;

use ieee.std_logic_1164.all; --庫(kù)聲明

entity TONE is

port(A,B:in std_logic; --實(shí)體定義

C:out std_logic);

end TONE;

architecture EX of TONE is --結(jié)構(gòu)體定義

begin

C<=A OR B;

end EX;

VHDL不區(qū)分大小寫(xiě)

1:實(shí)體的語(yǔ)句格式

ENTITY 實(shí)體名 IS

GENERIC(------); --可選

PORT(------);

END實(shí)體名;

類(lèi)屬說(shuō)明的書(shū)寫(xiě)格式是:

GENERIC(常數(shù)名:數(shù)據(jù)類(lèi)型:設(shè)定值;

常數(shù)名:數(shù)據(jù)類(lèi)型:設(shè)定值);

端口語(yǔ)句的格式:

PORT(端口信號(hào)名:端口模式數(shù)據(jù)類(lèi)型;

端口信號(hào)名:端口模式數(shù)據(jù)類(lèi)型);

IN 輸入

OUT 輸出

INOUT 雙向

BUFFER 緩沖

2.結(jié)構(gòu)體

結(jié)構(gòu)體的任務(wù)是:定義結(jié)構(gòu)體中的各項(xiàng)內(nèi)部使用元素,如數(shù)據(jù)類(lèi)型(TYPE),常數(shù)(CONSTAND),信號(hào)(SIGNAL),元件(COMPONENT),過(guò)程(POCEDURE),變量(VARIABLE)和進(jìn)程(PROCESS)等。通過(guò)VHDL語(yǔ)句描述實(shí)體所要求的具體行為和邏輯功能。描述各元件之間的連接。

結(jié)構(gòu)體格式:

結(jié)構(gòu)體名 OF 實(shí)體名IS

說(shuō)明部分(可選,課用于對(duì)結(jié)構(gòu)體中使用的信號(hào)等進(jìn)行說(shuō)明,這樣做有利于提高程序的可讀性)

BEGIN

功能描述語(yǔ)句法

END 結(jié)構(gòu)體名稱(chēng)

VHDL內(nèi)部是并發(fā)執(zhí)行的,但是process內(nèi)部的代碼是順序執(zhí)行的。要實(shí)現(xiàn)時(shí)序電路,必須使用順序執(zhí)行代碼。順序執(zhí)行代碼可以同時(shí)實(shí)現(xiàn)組合邏輯電路和時(shí)序邏輯電路。

從本質(zhì)上講,VHDL代碼是并發(fā)執(zhí)行的。只有PROCESS,F(xiàn)UNCTION或者PROCEDURE內(nèi)部的代碼才是順序執(zhí)行的。值得注意的是,盡管這些模塊中的代碼是順序執(zhí)行的,但是當(dāng)它們作為一個(gè)整體是,與其他模塊之間又是并發(fā)的。IF,WAIT,CASE,LOOP語(yǔ)句都是順序代碼,用在PROCESS,FUNCTION和PROCEDURE內(nèi)部。

我們將一系列的并發(fā)描述語(yǔ)句放在一個(gè)simple block中,目的僅僅是為了增強(qiáng)整個(gè)代碼的可讀性和可維護(hù)性。但是,一個(gè)特殊的例子是利用guarded BLOCK可以構(gòu)造時(shí)序電路。

類(lèi)屬 GENERIC 參量是一種端口界面常數(shù),常以一種說(shuō)明的形式放在實(shí)體或塊結(jié)構(gòu)體前的說(shuō)明部分。

類(lèi)屬參量以關(guān)鍵詞 GENERIC 引導(dǎo)一個(gè)類(lèi)屬參量表,在表中提供時(shí)間參數(shù)或總線寬度等靜態(tài)信息。

一般在結(jié)構(gòu)體中,類(lèi)屬的應(yīng)用與常數(shù)是一樣的,例如:當(dāng)用實(shí)體例化一個(gè)設(shè)計(jì)實(shí)體的器件時(shí),可以用類(lèi)屬表中的參數(shù)項(xiàng)定制這個(gè)器件,如可以將一個(gè)實(shí)體的傳輸延遲,上升和下降延時(shí)等參數(shù)加到類(lèi)屬參數(shù)表中,然后根據(jù)這些參數(shù)進(jìn)行定制,這對(duì)于系統(tǒng)仿真控制是十分方便的。其中的常數(shù)名是由設(shè)計(jì)者確定的類(lèi)屬常數(shù)名,數(shù)據(jù)類(lèi)型通常取INTEGER 或TIME 等類(lèi)型,設(shè)定值即為常數(shù)名所代表的數(shù)值,但需注意 VHDL 綜合器僅支持?jǐn)?shù)據(jù)類(lèi)型為整數(shù)的類(lèi)屬值。

GENERIC詳細(xì)描述見(jiàn)以下網(wǎng)址

http://hi.baidu.com/rebornlinlin/item/0caedc0f8b0a058e03ce1b5a

一個(gè)元件 component是一個(gè)結(jié)構(gòu)完整的常用代碼,(包括庫(kù)聲明、實(shí)體和結(jié)構(gòu)體這些基本的組成部分)。然而如果將這些代碼聲明為component,就可以被其他電路調(diào)用,從而使代碼具有了層次化的結(jié)構(gòu)。

COMPONENT是已有元件在別的文件中已經(jīng)定義,在此聲明之后,你的程序里就可以用了

就比如我在設(shè)計(jì)文件中定義了一個(gè)實(shí)體

entity cnt6 is

port

(clr,en,clk :in std_logic;

q :out std_logic_vector(2 downto 0)

);

end entity;

然后我要在測(cè)試文件中使用它,需要例化它,但首先要使用component對(duì)它進(jìn)行聲明。

architecture rtl of cnt6_tb is

component cnt6

port(

clr,en,clk :in std_logic;

q :out std_logic_vector(2 downto 0)

);

end component;

關(guān)于VHDL 的testbench 的編寫(xiě),請(qǐng)參照以下網(wǎng)址,寫(xiě)的蠻好

http://blog.csdn.net/wangjun403/article/details/6246830

http://www.cnblogs.com/zlh840/archive/2011/07/08/2101504.html

?COMPONENT語(yǔ)句

COMPONENT 元件名

【GENERIC 說(shuō)明】;

PORT 說(shuō)明;

END COMPONENT;

COMPONENT語(yǔ)句可以在

ARCHITECTURE,PACKAGE及BLOCK

的說(shuō)明部分中使用

?COMPONENT_INSTANT語(yǔ)句

標(biāo)號(hào)名:元件名 PORT MAP(信號(hào),???)

該語(yǔ)句使得使用已有元件或模塊成為

可能,該語(yǔ)句將元件或模塊的端口信號(hào)

映射成為高層次電路中的信號(hào)。

?COMPONENT_INSTANT語(yǔ)句

標(biāo)號(hào)名:元件名 PORT MAP(信號(hào),???)

該語(yǔ)句使得使用已有元件或模塊成為

可能,該語(yǔ)句將元件或模塊的端口信號(hào)

映射成為高層次電路中的信號(hào)。

例:已有設(shè)計(jì)and2的端口說(shuō)明如下

Port(a,b:in bit;

c:out bit);

元件調(diào)用

u1:and2 portmap(x,y,q);

u2: and2 port map(a=>x,b=>y,c=>q);

在輸出信號(hào)沒(méi)有連接的情況下,其對(duì)應(yīng)

端口的描述可以忽略

程序包說(shuō)明格式如下:

package 程序包名 is

說(shuō)明語(yǔ)句;

end 程序包名;

程序包名:設(shè)計(jì)者自定義便于記憶的標(biāo)識(shí)符

說(shuō)明語(yǔ)句:包括各種類(lèi)型的說(shuō)明語(yǔ)句

程序包體

描述函數(shù)和過(guò)程功能的函數(shù)體與過(guò)程等的集合稱(chēng)程序包體

程序包說(shuō)明中,定義了數(shù)據(jù)類(lèi)型和子程序中的函數(shù)、過(guò)程說(shuō)明,而程序包體中才具體地描述該函數(shù)、過(guò)程功能的語(yǔ)句和數(shù)據(jù)的賦值。

程序包體格式:

package body 程序包名 is

順序語(yǔ)句;

end 程序包名;

程序包名:與程序包說(shuō)明中的程序包名相同

順序語(yǔ)句:描述函數(shù)、過(guò)程及其他功能的程序流

子程序——過(guò)程

VHDL中,所謂子程序指主程序調(diào)用它后能將處理結(jié)果返回主程序的程序模塊。

VHDL語(yǔ)言中,子程序有兩種類(lèi)型,過(guò)程(procedure)和函數(shù)(function)。

他們的區(qū)別:

1、過(guò)程可具有多個(gè)返回值,而函數(shù)只能有一個(gè)

2、過(guò)程通常用來(lái)定義一個(gè)算法,而函數(shù)往往用來(lái)產(chǎn)生一個(gè)特定的值

3、過(guò)程中的參數(shù)可具有3種端口模式:in、out、inout,而函數(shù)中的參數(shù)只能具有一直端口模式:in

過(guò)程的書(shū)寫(xiě)結(jié)構(gòu)

對(duì)于VHDL子程序來(lái)說(shuō),它通常包括子程序說(shuō)明部分和子程序定義部分。

其中,子程序說(shuō)明部分定義了其他設(shè)計(jì)調(diào)用子程序的接口;子程序定義部分則描述該子程序具體功能的實(shí)現(xiàn)。

因此,通常將子程序說(shuō)明部分和子程序定義部分的書(shū)寫(xiě)結(jié)構(gòu)分別介紹

在VHDL中,過(guò)程說(shuō)明部分的書(shū)寫(xiě)結(jié)構(gòu):

procedure:過(guò)程名

(對(duì)象類(lèi)型1 參數(shù)名1: 端口模式1 數(shù)據(jù)類(lèi)型1;

對(duì)象類(lèi)型2 參數(shù)名2:端口模式2 數(shù)據(jù)類(lèi)型2;......);

其中對(duì)象類(lèi)型、端口模式是可選項(xiàng)。

在VHDL語(yǔ)言中,過(guò)程定義部分

procedure 過(guò)程名

(對(duì)象類(lèi)型1 參數(shù)名1: 端口模式1 數(shù)據(jù)類(lèi)型1;

對(duì)象類(lèi)型2 參數(shù)名2:端口模式2 數(shù)據(jù)類(lèi)型2;......)is

過(guò)程說(shuō)明部分;

begin

過(guò)程順序語(yǔ)句部分;

end 過(guò)程名;

參數(shù)列表中:每個(gè)參數(shù)包括它的對(duì)象類(lèi)型、參數(shù)名、端口模式以及數(shù)據(jù)類(lèi)型

參數(shù)的對(duì)象類(lèi)型包括:常量、信號(hào)、變量

參數(shù)名是用來(lái)表示參數(shù)的唯一標(biāo)識(shí)

端口模式:包括in、out、inout

若過(guò)程中沒(méi)有指明參數(shù)的對(duì)象類(lèi)型,那么參數(shù)的對(duì)象類(lèi)型將默認(rèn)為一個(gè)變量

過(guò)程定義在程序包中的定義規(guī)則為:過(guò)程說(shuō)明部分書(shū)寫(xiě)在程序包的說(shuō)明部分,過(guò)程定義部分書(shū)寫(xiě)在程序包體部分

過(guò)程定義在結(jié)構(gòu)體中:即將過(guò)程定義部分書(shū)寫(xiě)在結(jié)構(gòu)體的說(shuō)明部分,然后在結(jié)構(gòu)體進(jìn)程語(yǔ)句里調(diào)用

函數(shù)

函數(shù)包括:函數(shù)說(shuō)明部分和函數(shù)定義部分

函數(shù)說(shuō)明部分定義了主程序調(diào)用函數(shù)的接口

函數(shù)定義部分描述了該函數(shù)具體邏輯功能的實(shí)現(xiàn)

函數(shù)的書(shū)寫(xiě)結(jié)構(gòu)

function 函數(shù)名

(對(duì)象類(lèi)型1 參數(shù)名1; in 數(shù)據(jù)類(lèi)型1;

對(duì)象類(lèi)型2 參數(shù)名2; in 數(shù)據(jù)類(lèi)型2;......) return 數(shù)據(jù)類(lèi)型;

其中對(duì)象類(lèi)型和端口模式in是可選項(xiàng)

函數(shù)定義部分書(shū)寫(xiě)結(jié)構(gòu)

function 函數(shù)名

(對(duì)象類(lèi)型1 參數(shù)名1; in 數(shù)據(jù)類(lèi)型1;

對(duì)象類(lèi)型2 參數(shù)名2; in 數(shù)據(jù)類(lèi)型2;......) return 數(shù)據(jù)類(lèi)型is

函數(shù)說(shuō)明部分:

begin

函數(shù)順序語(yǔ)句部分;

return(參數(shù)值);

end 函數(shù)名;

函數(shù)參數(shù)的對(duì)象類(lèi)型只能包括常量和信號(hào):參數(shù)的端口模式只能是in,因此參數(shù)端口模式可以省略。

函數(shù)的返回值只能有一個(gè)。

函數(shù)定義在程序包中:函數(shù)說(shuō)明部分書(shū)寫(xiě)在程序包說(shuō)明部分,函數(shù)定義部分書(shū)寫(xiě)在程序包體部分。如果需要使用程序包中定義的函數(shù),那么只需要通過(guò)use語(yǔ)句使其對(duì)設(shè)計(jì)實(shí)體可見(jiàn)。

函數(shù)定義在結(jié)構(gòu)體中:只需將函數(shù)定義部分書(shū)寫(xiě)在結(jié)構(gòu)體說(shuō)明部分即可。然后在結(jié)構(gòu)體中調(diào)用這個(gè)函數(shù)。

function內(nèi)是不允許加入進(jìn)程process的。函數(shù)function的通常應(yīng)用是作邏輯組合、判決和轉(zhuǎn)移。

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉