国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
HDL :: BackerShu’s Garden

HDL

對配置的理解

12月 4th, 2007  |  Published in HDL

VHDL語言中,除了設(shè)計(jì)實(shí)體和結(jié)構(gòu)體外,還存在程序包、庫和配置,共五種可獨(dú)立編譯的源設(shè)計(jì)單元。后三者主要包括的內(nèi)容如下:

程序包主要用來存放各個(gè)設(shè)計(jì)都能共享的數(shù)據(jù)類型、子程序說明、屬性說明和元件說明等。

庫主要用來存放已經(jīng)編譯的實(shí)體、結(jié)構(gòu)體、程序包和配置。

配置用來從庫中選取所需的各個(gè)模塊來完成硬件電路的描述(主要描述實(shí)體與元件之間以及實(shí)體與結(jié)構(gòu)體之間的連接關(guān)系)。

由此看來,程序包和庫主要用來存放相關(guān)信息,而配置則完成硬件電路的描述,下面主要談?wù)剬ε渲玫睦斫猓?/p>

按照配置所在的位置可以將配置分成兩類:配置說明(結(jié)構(gòu)體內(nèi)的配置)和配置聲明(結(jié)構(gòu)體外的配置);也可以根據(jù)被配置的“對象”將其分為元件配置,結(jié)構(gòu)體配置和塊配置,各種分類的大致內(nèi)容都是一樣的,下面以第一種分類方式來介紹配置的具體寫法。

配置說明:在結(jié)構(gòu)體內(nèi)將元件例化與設(shè)計(jì)庫中的特定實(shí)體綁定,一般出現(xiàn)在包含例化元件的結(jié)構(gòu)體或塊的聲明部分?;靖袷綖椋?/p>

for 元件標(biāo)簽列表: 元件名 綁定指示;

綁定指示指定了由實(shí)體—結(jié)構(gòu)體對所代表的實(shí)體,以及類書和端口綁定。主要有以下三種形式:

use  entity實(shí)體名[(結(jié)構(gòu)體名)]   

[generic  map(類屬相關(guān)內(nèi)容列表)]   

[port  map(端口相關(guān)內(nèi)容列表)]     –形式1

如:for A3: AND2     use entity HS_LIB.AND2HS(AND2STR)       port map(HS_B=>A1, HS_Z=>Z, HS_A=>A0);  –將這個(gè)實(shí)體的一個(gè)元件例化綁定

use  configuration  配置名         形式2(表明元件例化要綁定到由配置名所指定的低一層已存在的實(shí)體配置中)

use  open                        –形式3(綁定還沒有被指定,即暫緩指定)注:這三種綁定指示的形式在配置說明和配置聲明中都是可用的。 

配置聲明:為避免配置說明在結(jié)構(gòu)體內(nèi)出現(xiàn)帶來的改變綁定則必須改變和重新分析結(jié)構(gòu)體的麻煩,而使用配置聲明。配置聲明是一個(gè)獨(dú)立的設(shè)計(jì)單元,允許元件的延遲綁定,既可以在結(jié)構(gòu)體完成后再進(jìn)行配置聲明,其作用與配置說明是一樣的,典型格式如下:

configuration  配置名 of  實(shí)體名 is  

配置塊

end [configuration][配置名];

在這個(gè)聲明語句中,配置名指定名字的配置,并應(yīng)用到實(shí)體名所指定的實(shí)體中。配置塊定義塊中的元件綁定,這個(gè)塊可以是一個(gè)結(jié)構(gòu)體,也可以是一個(gè)塊語句或生成語句。從結(jié)構(gòu)上看,配置聲明的外層是結(jié)構(gòu)體,然后是塊語句或生成語句(如果有的話),最后是對具體元件的綁定。所以更確切的,可以將塊聲明語句的格式具體化為:

configuration  配置名 of  實(shí)體名 is    

for 結(jié)構(gòu)體名;     

for 塊名;      

end for    

end for;

end [configuration][配置名];

遺漏之處待補(bǔ)充~~~

VHDL與VerilogHDL中端口的理解與比較

12月 3rd, 2007  |  Published in HDL

     

在VHDL中共有in , out, inout, buffer, linkage 五種類型的端口,其中第5種不指定端口方向,基本不用。端口行為的差別可以通過他們在實(shí)體內(nèi)部和外部的行為比不同來區(qū)分,特別是可以通過判斷該端口是否能夠同其他類型的端口相連接來加以區(qū)分。下圖表明了各種端口的實(shí)體內(nèi)部行為和實(shí)體外部行為。

  • 1、 實(shí)體內(nèi)部

in端口:僅能讀一個(gè)值,不能對它賦值;

out端口:不能讀,可以賦值,且可以有多個(gè)驅(qū)動(dòng)器;

inout端口:能讀??梢再x值,且可以有多個(gè)驅(qū)動(dòng)器;

buffer端口:能讀??梢再x值,但連接到該端口的最多只能由一個(gè)驅(qū)動(dòng)器(包括實(shí)體內(nèi)部和實(shí)體外部)

  • 2、 實(shí)體外部
  • a) 網(wǎng)絡(luò)連接規(guī)則:

in、out、inout端口:可以連接到任一個(gè)網(wǎng)絡(luò)上,有沒有多個(gè)驅(qū)動(dòng)器都行;

buffer端口:僅能連接最多有一個(gè)驅(qū)動(dòng)器的網(wǎng)絡(luò)(包括實(shí)體內(nèi)外)

  • b) 端口連接規(guī)則:

該規(guī)則說明什么樣的端口(父實(shí)體)可以直接連接到子實(shí)體的端口上。

in端口:可以連接到一個(gè)模式為in、inout和buffer的父實(shí)體端口;

out端口:僅能連接到一個(gè)模式為out或inout的父實(shí)體的端口;

inout端口:僅能連接到模式為inout的端口;

buffer端口:僅能連接到另外一個(gè)模式為buffer的端口。(保證連接到buffer端口的網(wǎng)絡(luò)總是由同一個(gè)驅(qū)動(dòng)器驅(qū)動(dòng),同時(shí)也表明buffer端口不需要求解,因?yàn)橛肋h(yuǎn)只有一個(gè)驅(qū)動(dòng)器)

在Verilog HDL中,各種端口的含義與VHDL中類似,端口類型和驅(qū)動(dòng)端口的類型匹配關(guān)系如下圖:

(注:不知在Verilog中是否有Buffer類型的端口,請指教)

在上圖中,表明了在Verilog中,各種端口所對應(yīng)的信號類型及驅(qū)動(dòng)與被驅(qū)動(dòng)的關(guān)系,如in端口,其對應(yīng)的數(shù)據(jù)類型為net類型(我們常用的wire類型是其中的一種),而驅(qū)動(dòng)它的信號可以是net類型或register類型(同樣,常用的reg類型是其中的一種)的信號。

     這些關(guān)系在寫Testbench的時(shí)候是很有用,可以避免一些信號驅(qū)動(dòng)之類的錯(cuò)誤,通常需要將設(shè)計(jì)文件中的wire(reg)類型的信號在Testbench中分別用reg(wire)類型的信號來驅(qū)動(dòng)也是這個(gè)原因。

     在VHDL中,testbench中的驅(qū)動(dòng)信號均為signal類型(buffer類型的端口除外),所以從對象類型(信號類型)上來說似乎可以理解成signal類型包含了wire和reg類型,但由于兩種語言在對象種類、賦值方式等方面的不同,這樣的理解肯定是片面的,甚至是錯(cuò)誤的。不過有一點(diǎn)是正確的,在兩種語言中它們都可以分別表示電路的物理連接,與高級語言中的數(shù)據(jù)類型還是存在差別的。

     寫得比較亂,由于自己正在學(xué)習(xí)過程中,存在很多不懂的地方,不妥或紕漏之處在所難免,請路人多指教。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何對SQL Server配置動(dòng)態(tài)端口?
從Verilog到VHDL(上):基本語法
STM8學(xué)習(xí)筆記
配置網(wǎng)絡(luò)交換機(jī)的時(shí)候你必須要了解有哪些端口類型?
世界頂級防火墻LooknStop的配置詳解(1)
VHDL學(xué)習(xí)筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服