長沙畢業(yè)設(shè)計(jì)代做網(wǎng)站價(jià)格網(wǎng)域名查詢地址
VHDL-2008語言支持
介紹
AMD Vivado?合成支持VHDL-2008標(biāo)準(zhǔn)的可合成子集。這個(gè)以下部分介紹了支持的子集以及使用它的過程。將Vivado設(shè)置為使用VHDL-2008有幾種方法可以使用Vivado運(yùn)行VHDL-2008文件。您可以轉(zhuǎn)到源文件屬性窗口,并從可用文件類型的下拉列表中設(shè)置類型:VHDL 2008。這個(gè)Vivado工具將文件類型設(shè)置為VHDL-2008。也可以使用Tcl控制臺(tái)中的set_property命令將文件設(shè)置為VHDL-2008。這個(gè)語法如下:
最后,在非項(xiàng)目或Tcl流中,用于在VHDL中讀取的命令的VHDL-2008為跟隨:
如果要讀入多個(gè)文件,可以使用多個(gè)read_vhdl命令或使用一個(gè)命令創(chuàng)建多個(gè)文件,如下所示:
支持的VHDL-2008功能
Vivado支持以下VHDL-2008功能。
操作員
匹配關(guān)系運(yùn)算符
VHDL-2008現(xiàn)在提供了返回位或std_logic類型的關(guān)系運(yùn)算符。在上一個(gè)VHDL標(biāo)準(zhǔn),關(guān)系運(yùn)算符(=,<,>=…)返回布爾類型。對(duì)于新的類型,需要寫成的代碼:

最大和最小運(yùn)算符
VHDL-2008中新的最大和最小運(yùn)算符采用兩個(gè)不同的值和分別返回較大或較小的。例如
out1 <= maximum(const1, const2);
移位運(yùn)算符(rol、ror、sll、srl、sla和sra)
sla和sra運(yùn)算符以前只定義了位和布爾元素。現(xiàn)在VHDL-2008標(biāo)準(zhǔn)在有符號(hào)庫和無符號(hào)庫中定義了它們。
一元邏輯歸約算子
在VHDL的早期版本中,和、nand或等運(yùn)算符取兩個(gè)不同的值和返回了一個(gè)位或布爾值。對(duì)于VHDL-2008,添加了對(duì)這些的一元支持操作員。它們返回輸入的邏輯函數(shù)。例如,代碼:
out1 <= and("0101");
將這4個(gè)比特加在一起并返回0。具有一元支持的邏輯函數(shù)是:and,nand、or、nor、xor和xnor。
混合數(shù)組和標(biāo)量邏輯運(yùn)算符
以前在VHDL中,邏輯運(yùn)算符的兩個(gè)操作數(shù)需要具有相同的大小。
VHDL-2008支持在其中一個(gè)操作數(shù)是數(shù)組而另一個(gè)是時(shí)使用邏輯運(yùn)算符標(biāo)量。例如,要將一個(gè)比特與向量的所有比特進(jìn)行“與”運(yùn)算,需要以下代碼:
聲明
如果其他-如果和案例生成
以前在VHDL中,if generate語句采用以下形式: