ABEL-HDL語言介紹課件_第1頁
ABEL-HDL語言介紹課件_第2頁
ABEL-HDL語言介紹課件_第3頁
ABEL-HDL語言介紹課件_第4頁
ABEL-HDL語言介紹課件_第5頁
已閱讀5頁,還剩143頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第二章ABEL-HDL語言介紹第二章ABEL-HDL語言介紹1ABEL設(shè)計軟件

ABEL設(shè)計軟件是一種高級編譯型可編程邏輯設(shè)計軟件,只需要輸入符合語法規(guī)定的邏輯描述,就能設(shè)計各種不同類型的PLD器件。這種軟件可以對用戶的邏輯設(shè)計進行語法檢查、邏輯化簡、自動生成符合標準的JEDEC文件(“.JED”文件),還能將用戶的設(shè)計要求與所選器件的功能相結(jié)合,分析檢查用戶的設(shè)計目的是否切實可行,目前已經(jīng)成為國際通用的PLD輔助設(shè)計軟件之一。ABEL設(shè)計軟件ABEL設(shè)計軟件是一種高級編譯型可編2ABEL-HDL源文件格式ABEL-HDL語言簡介

1.什么是ABEL-HDL源文件

ABEL-HDL硬件描述語言是一種層次結(jié)構(gòu)的邏輯描述語言,是世界上可編程邏輯器件設(shè)計應(yīng)用最廣的語言之一。用ABEL-HDL語言設(shè)計的文件是ASCII格式的文本文件,叫做ABEL-HDL源文件。

2.ABEL-HDL設(shè)計的基本思想

不少EDA(電子設(shè)計自動化)軟件工具支持ABEL-HDL設(shè)計、原理圖設(shè)計、以及ABEL-HDL和原理圖混合設(shè)計等多種設(shè)計方式。由于ABEL-HDL設(shè)計對初學者易于入門,本試驗選用ABEL-HDL語言來進行教學。

ABEL-HDL包括兩部分:

一部分使用高級語言,用來描述邏輯設(shè)計;

另一部分是語言處理程序,用于將邏輯描述轉(zhuǎn)化為其下載文件中含有編程及測試可編程邏輯器件所需的信息。

ABEL-HDL源文件格式ABEL-HDL語言簡介

3ABEL-HDL有如下一些特點:

①適用于各種型號的PLD器件的通用語法;

②結(jié)構(gòu)化的高級設(shè)計語言;

③靈活的邏輯描述形式——布爾關(guān)系式、真值表、狀態(tài)圖;

④仿真與測試向量;

⑤省時的宏定義及指示字。

ABEL-HDL的處理程序提供了如下強大功能:

①語法檢查;

②檢驗所選器件能否實現(xiàn)設(shè)計要求;

③邏輯簡化;

④設(shè)計模擬;

⑤自動生成文件。

ABEL-HDL源文件格式ABEL-HDL有如下一些特點:

①適用于各種型號4

一個ABEL-HDL設(shè)計的基本單位是模塊。一個設(shè)計可能僅包括一個模塊,也可能包括若干模塊。如果包括若干模塊,則按照層次結(jié)構(gòu)把它們組織起來。頂層的模塊只有一個,它描述設(shè)計的總體輪廓。其他低層的模塊詳細描述頂層模塊中包含的各子功能塊,層次數(shù)不受限制。一般地說,層次設(shè)計中,總是較低層的模塊對較高層模塊中的子功能塊進行細化。層次設(shè)計不僅適用于ABEL-HDL設(shè)計,同時也適用于原理圖設(shè)計、ABEL-HDL和原理圖混合設(shè)計。一個設(shè)計的所有模塊,可以包含在一個文件中,也可以包含在幾個文件中。這些模塊經(jīng)過編譯、優(yōu)化、連接、模擬、器件適配等步驟,生成一個二進制代碼的JEDEC格式的文件。最后將JEDEC文件下載到器件中,完成對器件的編程。ABEL-HDL源文件格式

一個ABEL-HDL設(shè)計的基本單位是模塊。一個5

可編程邏輯器件模塊設(shè)計對模塊劃分的要求,同軟件程序設(shè)計中對模塊的要求原則上是一致的。劃分模塊的要求是:

◆每一個模塊都應(yīng)有一個確定的用途和功能。

◆把一個設(shè)計劃分為多個模塊應(yīng)能清楚地表明這個設(shè)計的結(jié)構(gòu)。

◆較低層的模塊應(yīng)能被盡可能多的高層模塊使用。如有可能,這個設(shè)計中產(chǎn)生的模塊應(yīng)盡可能被其他設(shè)計使用;或者此設(shè)計應(yīng)盡可能使用其他設(shè)計產(chǎn)生的模塊。ABEL-HDL源文件格式

可編程邏輯器件模塊設(shè)計對模塊劃分的要求,同軟件程6

3.ABEL-HDL格式

前面簡單介紹了若干基本概念。對一個模塊來說,它應(yīng)包括以下基本部分:

◆頭部

頭部是一個模塊的開始,它必須放在模塊的最前面。頭部由MODULE語句開始,它指出模塊的名字,如MODULEcounter語句。除此之外,頭部還可能包括INTERFACE語句,它用于模塊之間的接口。TITLE語句也屬于頭部,TITLE是關(guān)鍵字,后邊跟一個字符串,對模塊進行簡明扼要的解釋。由于編譯時不處理該語句,所以書寫時前面須加上單引號。TITLE語句是可選的。

◆說明部說明部對本模塊中使用的標識符(代表信號、常量等)進行說明。一個標識符必須首先予以說明,然后才能引用。未經(jīng)事先說明的標識符不能引用。說明部緊跟在頭部之后(省略關(guān)鍵字DECLARATIONS),或者用關(guān)鍵字DECLARATIONS明確指出一個說明部的開始。

ABEL-HDL源文件格式

3.ABEL-HDL格式

前面簡單介紹了若7

◆邏輯描述部

邏輯描述部是ISP設(shè)計中最重要的部分,其的作用是用邏輯等式、真值表、狀態(tài)機、熔絲圖等具體描述模塊的邏輯功能。在counter模塊中,關(guān)鍵字EQUATIONS指明邏輯描述的開始。

◆結(jié)束部

結(jié)束部用結(jié)構(gòu)語句END關(guān)閉一個模塊。它只包含一個END語句。注意,END語句和MODULE語句是成對出現(xiàn)的。

◆測試向量部

一個模塊中還可能包含一個測試向量部,它用于邏輯等式模擬,檢查邏輯描述部描述的電路設(shè)計是否能實現(xiàn)預期的功能。測試向量部是可選內(nèi)容,它可以包括在模塊中,也可以放在一個單獨的測試向量文件中。引導測試向量部的關(guān)鍵字是TEST_VECTORS。ABEL-HDL源文件格式

◆邏輯描述部ABEL-HDL源文件格式8

綜上所述,模塊結(jié)構(gòu)有以下規(guī)則:一個模塊只包含一個頭部,放在模塊的開始。說明部直接跟在頭部之后,或用關(guān)鍵字DECLARATIONS開始。邏輯描述部描述模塊的功能。測試向量部用于模擬。結(jié)束部關(guān)閉模塊。除頭部和結(jié)束部外,其它部可以按任何次序重復。標識符必須首先予以說明,然后才能引用。不能引用未經(jīng)說明的標識符。

一個ABEL-HDL源文件可以包含若干個模塊,模塊是相互獨立的。ABEL-HDL源文件格式

綜上所述,模塊結(jié)構(gòu)有以下規(guī)則:一個模塊只包含一9

電路常用的ABEL-HDL描述方法有三種:邏輯方程法;真值表法;狀態(tài)圖法。前兩種方法既適用于組合邏輯也適用于時序邏輯,第三種方法對狀態(tài)機的設(shè)計較為方便。

1.邏輯方程法

使用方程語句EQUATIONS表示一組邏輯方程的開始。方程用布爾代數(shù)描述其邏輯功能。2.真值表法

真值表法采用表格形式說明不同輸入條件下的邏輯輸出。3.狀態(tài)圖法

使用狀態(tài)機語句STATE_DIAGRAM來描述時序狀態(tài)機的轉(zhuǎn)移方式。電路常用的ABEL-HDL描述方法

電路常用的ABEL-HDL描述方法有三種:邏10ABEL的語法規(guī)定-字符集a~z

(26個小寫英文字母)A~Z(26個大寫英文字母)0~9(10個數(shù)字字符)space(空格符)tab(制表符)~!@?!纾ィ蓿Γǎ撸剑埽郏荩?;‘:“,<>.`/?共計96個ASCII碼字符ABEL的語法規(guī)定-字符集a~z(26個小寫英文字母)共計11ABEL的語法規(guī)定-標識符

標識符是由標識器件、器件引腳、節(jié)點、集合、輸入/輸出信號等的合法字符串組成。標識符的限制規(guī)則為:標識符必須以字母或下劃線開始;標識符最長不能超過31個字符;除第一個字符外,標識符可以包含大寫字母,小寫字母,數(shù)字及下劃線,但不允許出現(xiàn)空格;標識符與大小寫字母有關(guān);ABEL的語法規(guī)定-標識符標識符是由標識器件、器件引腳12

關(guān)鍵字又稱保留標識符,它代表某種處理功能,不能用來代表器件,器件引腳,信號集合等。下表列出ABEL軟件所使用的關(guān)鍵字.注意與標識別符不同,關(guān)鍵字不區(qū)分大小寫!ABEL的語法規(guī)定-關(guān)鍵字關(guān)鍵字又稱保留標識符,它代表某種處理功能,不能用來代表13ABEL的語法規(guī)定-字符串

字符串是用單引號(撇號)括起來的一串包括空格在內(nèi)的ASCII字符。通常用于標題語句、標記語句以及管腳和節(jié)點說明語句。字符串中也能夠含有單引號,方法是在單引號之前放一個反斜杠(\),如'It\'seasytouseABELandSynario'。字符串也能夠包括反斜杠,方法是使用兩個連續(xù)的反斜杠,如'He\\Shecanusebackslashesinastring'。左單引號(')也可以作為字符串的定界符,它與右單引號(')可以交換使用。例如TITLE’1to8linedemultiplexer’;DM1device‘P16L8’;合法字符串,表示標題合法字符串,表示器件的工業(yè)標號ABEL的語法規(guī)定-字符串字符串是用單引號(撇號)括14ABEL的語法規(guī)定-注釋段

注釋是對源文件的進一步解釋,注釋段可以:

1.用雙引號(“)開始,用另一個雙引號或用換行結(jié)束;

2.用雙斜杠(//)開始,換行結(jié)束。此方式對含有雙引號的注釋是很有用的。以下幾個例子均為合法注釋:MODULEBasiclogic:“givesthemoduleaname”TITLE‘ABELdesignexample:simplegates’;“title“declarationsection”IC5“decoderPAL”device‘P10H8’;注意注釋段可以放在設(shè)計源文件的任何地方!ABEL的語法規(guī)定-注釋段注釋是對源文件的進一步解釋15ABEL語法規(guī)定-數(shù)的表示用常用進制來表示數(shù),即二進制、八進制、十進制和十六進制,表示方法如下:還可以用字母的ASCII碼作為數(shù)值.

ABEL軟件的運算精度為32位,合法取值范圍是:ABEL語法規(guī)定-數(shù)的表示用常用進制來表示數(shù),即二進制、八16附錄一:ABEL語法規(guī)定-常量

常量用來表示值不變的量,通常用于賦值語句、真值表語句和測試向量語句,有時也可以將常量賦予某些標識符,使這個標識符在整個模塊中代表該常量的值。常量可以分為:一般常量和特殊常量.注意特殊常量值用大小寫均可,但是前后兩個“.”不能省略!附錄一:ABEL語法規(guī)定-常量常量用來表示值不變的量,17ABEL語法規(guī)定-運算及運算符

ABEL軟件可以處理含有算術(shù)運算、邏輯運算、關(guān)系運算和賦值運算的邏輯表達式,它們的運算符及含義如下表所示:ABEL語法規(guī)定-運算及運算符ABEL軟件可以處理含有18ABEL語法規(guī)定-運算及運算符ABEL語法規(guī)定-運算及運算符19ABEL語法規(guī)定-表達式及等式

表達式是標識符和運算符的組合,表達式中各種運算具有不同的優(yōu)先級,按照從高到低的順序(相同優(yōu)先級按照從左到右的順序)進行運算。等式用于將表達式值賦予輸出信號。在ABEL語言中,一個輸出信號可以多次被賦值,其最終輸出結(jié)果是所有這些賦值的“或”,而不是對該輸出的最后一次賦值,這一點是它與其它高級語言等式相區(qū)別的標志之一。例如A=BA=C等價為A=B#CABEL語法規(guī)定-表達式及等式表達式是標識符和運算符20ABEL語法規(guī)定-集合

在邏輯設(shè)計中,對于如數(shù)據(jù)總線,地址總線等成組出現(xiàn)的信號或常量,ABEL軟件允許使用一個標識符表示這種成組處理的信號或常量,稱之為集合(或數(shù)組)。集合中的每一個獨立分量稱為該集合的元素。

1)枚舉法

DATA_BUS=[D7,D6,D5,D4,D3,D2,D1,D0];2)界限符法

DATA_BUS=[D7..D0];集合的定義方法:注意數(shù)組中的每一個元素之間要以“,”分開;枚舉法與界限符法可以聯(lián)合使用,如:Y=[D3,D2,D1,D0,B3..B0];ABEL語法規(guī)定-集合在邏輯設(shè)計中,對于如數(shù)據(jù)總線,21ABEL源文件的基本結(jié)構(gòu)

ABEL源文件是由一個或多個相互獨立的模塊組成,每個模塊包括一個或多個完整的邏輯描述。簡單的源文件可以只包含一個模塊,而復雜的源文件可能包括大量的模塊。ABEL源文件的基本結(jié)構(gòu)如下:

MODULEmodname“以modname為名的模塊開始”

ENDmodname“以modname為名的模塊結(jié)束”

MODULEsecname“第二個模塊開始”

ENDsecname“第二個模塊結(jié)束”.........ABEL源文件的基本結(jié)構(gòu)ABEL源文件是由一個或多個22ABEL源文件格式每個模塊都必須以關(guān)鍵字“MODULE文件名”開始,以關(guān)鍵字“END文件名”結(jié)束一個源文件允許有多個模塊每個模塊包含以下幾個內(nèi)容:標題標記部分說明部分(說明器件,管腳,屬性,常量等)邏輯描述部分(邏輯方程,真值表,狀態(tài)圖)熔絲圖說明部分(對熔絲圖直接編輯)測試部分(測試矢量)ABEL源文件格式每個模塊都必須以關(guān)鍵字“MODULE文件23

模塊開始標記標題說明:器件說明管腳,節(jié)點說明屬性說明常量說明

邏輯描述:邏輯方程式真值表狀態(tài)圖熔絲圖說明測試向量模塊結(jié)束標志部分說明部分邏輯描述部分熔絲圖說明部分測試部分ABEL源文件模塊結(jié)構(gòu)模塊開始標志部分說明部分邏輯描述部分熔絲圖說明部分測24

ABEL軟件的語句

ABEL軟件的語句按功能可以分為5大類:

具體功能及關(guān)鍵字如下表所示

-標志語句-說明語句-邏輯描述語句-測試語句-熔絲圖說明語句ABEL軟件的語句ABEL軟件的語句按功能可以分為5大25ABEL-HDL語言介紹課件26ABEL-HDL語言介紹課件27ABEL軟件的標志語句1.標記語句標記語句是用來定義一些處理參數(shù),這些參數(shù)將決定ABEL語言處理軟件對源文件的處理方式.

標志語句包含標記語句和標題語句兩部分。格式FLAG‘參數(shù)1’,’參數(shù)2’,……,’參數(shù)n’;其中:‘-參數(shù)n’代表某種處理方式.例如:‘-Rn’代表化簡級別(n=0~3);‘-Tn’代表跟蹤級別(n=0~4)ABEL軟件的標志語句1.標記語句標志語句包含標記語句和28ABEL軟件的標志語句

標題語句用于說明模塊內(nèi)容。格式TITLE‘字符串’其中:‘字符串’為該模塊的內(nèi)容提示例如:TITLE‘4bitbinarycounter’注意標題語句不影響任何邏輯描述及運算結(jié)果,它可以省略.1.標題語句ABEL軟件的標志語句標題語句用于說明模塊內(nèi)容。格式29ABEL軟件的說明語句

說明語句用于描述真實器件名,引腳名和節(jié)點名,還可以用來說明屬性和定義常量。說明語句只在相應(yīng)的模塊內(nèi)起作用,每一模塊必須有自己的器件說明語句以及必要的管腳和節(jié)點說明語句.

說明語句分為器件說明語句、管腳說明語句、節(jié)點說明語句、常量說明語句和類型說明語句,以下分別進行介紹.ABEL軟件的說明語句說明語句用于描述真實器件名,引腳301.器件說明語句

器件說明語句用來把模塊中所用器件的標識符與實際可編程邏輯器件相聯(lián)系.格式器件標識符DEVICE‘字符串’;器件名工業(yè)標號(見下頁)例如:U3DEVICE‘P16V8S’含義:器件“U3”是用簡單模式的GAL16V8實現(xiàn)的ABEL軟件的說明語句1.器件說明語句器件說明語句用來把模塊中所用器件的標識31ABEL-HDL語言介紹課件322.管腳及節(jié)點說明語句

管腳及節(jié)點說明語句表明在模塊中使用的管腳及節(jié)點標識符與實際器件的管腳及節(jié)點的對應(yīng)關(guān)系,它同時還可以說明可編程管腳及節(jié)點的屬性.格式標識符PIN(或NODE)IN器件名稱管腳號=‘管腳屬性’;

以下是合法的管腳及節(jié)點說明語句實例:(1)!CLK,RESET,D0,D1PIN16,15,14,13;(2)F0,F(xiàn)1,F(xiàn)2,PIN

INU515,16,17=‘NEG,REG,COM’;(3)A,B,CNODE

INU221,22,23;ABEL軟件的說明語句2.管腳及節(jié)點說明語句管腳及節(jié)點說明語句表明在模塊中使33ABEL-HDL語言介紹課件343.常量說明語句

常量說明語句用于定義在模塊中的常量.格式標識符=常量表達式;

在常量說明語句中,標識符與常量一一對應(yīng),且兩兩之間以“,”分開.例如:

C,X=.C.,.X.;“常量C是上升沿時鐘輸入,常量X是無關(guān)項”ADDR=[1,0,15];“ADDR是已經(jīng)定義的具有三個元素的集合”ABEL軟件的說明語句3.常量說明語句常量說明語句用于定義在模塊中的常量.格式35ABEL軟件的邏輯描述語句

1.邏輯方程描述方式邏輯方程描述方式由標題語句和一組邏輯方程式語句構(gòu)成.格式EQUATIONSIN器件標識符邏輯方程式例如:EQUATIONSINU2F1=A#B&C!F2=(B==C)含義:表示器件U2中的一組邏輯表達式ABEL軟件的邏輯描述語句1.邏輯方程描述方式格36

ABEL軟件的邏輯描述語句

2.真值表描述方式

真值表描述方式用表格形式定義輸出與輸入的邏輯關(guān)系,它由真值表標題語句和表格組成。格式TRUTH_TABLEIN器件標識符([輸入標識符集]:>寄存器輸出標識符集->組合輸出標識符集)例如:TRUTH_TABLEINU6([A,B]->F)[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->1;含義:用真值表描述的或邏輯ABEL軟件的邏輯描述語句2.真值表描述方式37ABEL軟件的狀態(tài)圖描述方式3.狀態(tài)圖描述方式狀態(tài)圖是一種直觀描述時序邏輯的方法,狀態(tài)圖描述方式是由狀態(tài)圖標題語句,狀態(tài)描述語句和狀態(tài)轉(zhuǎn)移語句三部分組成.(1)狀態(tài)圖標題語句.格式STATE_DIAGRAM器件標識符狀態(tài)寄存器標識符例如:STATE_DIAGRAMINU8[a,b];它是狀態(tài)圖描述的開始ABEL軟件的狀態(tài)圖描述方式3.狀態(tài)圖描述方式38(2)狀態(tài)描述語句和狀態(tài)轉(zhuǎn)移語句二者往往同時出現(xiàn)格式

STATE狀態(tài)表達式:邏輯方程式;狀態(tài)轉(zhuǎn)移語句

狀態(tài)轉(zhuǎn)移語句分為無條件轉(zhuǎn)移語句(GOTO語句),條件轉(zhuǎn)移語句(IF_THEN_ELSE語句)和多路分支語句(CASE語句)。它們的語句格式分別如下:其中:STATE是關(guān)鍵字,狀態(tài)表達式用來指定狀態(tài),邏輯方程式是一組執(zhí)行狀態(tài)轉(zhuǎn)移所要滿足的條件.(2)狀態(tài)描述語句和狀態(tài)轉(zhuǎn)移語句二者往往同時出現(xiàn)格式STA39i)GOTO狀態(tài)表達式WITH語句;ii)IF表達式THEN狀態(tài)表達式1

ELSE狀態(tài)表達式2

WITH語句;iii)CASE表達式1:狀態(tài)表達式1WITH語句;表達式2:狀態(tài)表達式2

……

ENDCASEi)GOTO狀態(tài)表達式WITH語句;40ABEL軟件的伴隨語句4.伴隨語句伴隨語句(WITH語句)是在執(zhí)行跳轉(zhuǎn)的同時,使等式成立.格式WITH等式;ENDWITH例如:STATE2:IFY==3THEN3

WITH……

ENDWITH

ELSE0

WITH……

ENDWITH;注意注意“;”的使用,WITH前無分號.ABEL軟件的伴隨語句4.伴隨語句格式41ABEL軟件的測試矢量語句

測試矢量語句由測試矢量標題語句和一組測試矢量構(gòu)成.格式TEST_VECTORSIN器件標識符([輸入標識符集]->輸出標識符集)例如:函數(shù)F=/A&B+A&/B的測試矢量語句為:[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->0;

TEST_VECTORSINU2([A,B]->F)

ABEL軟件的測試矢量語句測試矢量語句由測試矢量標題語42ABEL軟件的熔絲圖語句

熔絲圖語句是一種特殊用途語句,該語句允許在ABEL源文件中直接為指定熔絲段賦值.格式FUSESIN器件標識符熔絲段地址=熔絲值;說明:熔絲段地址需要直接賦值,熔絲值可以是任意數(shù).當?shù)忍栕筮呏挥幸粋€熔絲地址時,熔絲值的最低有效位的值將賦予該熔絲.數(shù)字“1”表示熔絲完好,對應(yīng)于熔絲圖文件中的“-”;數(shù)字“0”表示熔絲斷開,對應(yīng)于熔絲圖文件中的“X”.ABEL軟件的熔絲圖語句熔絲圖語句是一種特殊用途語句,43第三章ISP器件的編程軟件

第三章ISP器件的編程軟件44ispDesignEXPERT編程軟件1.開發(fā)工具

ispDesignEXPERT是由lattice公司提供的一種通用電子設(shè)計軟件。它支持ABEL-HDL語言、VHDL語言、原理圖三種電子設(shè)計方式,以及這些設(shè)計方式的混合使用。它能對所設(shè)計的數(shù)字系統(tǒng)進行功能模擬和時序模擬,能對設(shè)計進行邏輯優(yōu)化,并將邏輯映射到器件中去,自動完成預布線,生成編程所需的熔絲圖文件,通過下載電纜下載到器件中。

ispDesignEXPERT在Windows平臺上運行,它支持層次設(shè)計,并具有十分友好的人機界面。ispEXPERT中的項目導航器引導設(shè)計一步步進行,最終生成器件編程所需的JEDEC文件,并下載到ISP器件中。項目導航器是一個很好的設(shè)計工具,便于用戶跟蹤軟件的運行流程。

用ispDesignEXPERT對可編程器件進行設(shè)計,除了確定設(shè)計思想等必需的準備工作外,大部分工作在計算機上進行。整個設(shè)計工作流程大致可分為創(chuàng)建新設(shè)計項目、選擇器件、輸入源文件或原理圖、編譯與優(yōu)化、邏輯模擬、連接和器件適配等若干過程。這些過程是在項目導航器引導下進行的。ispDesignEXPERT編程軟件1.開發(fā)工具

45ispDesignEXPERT編程軟件2.項目導航器

ispDesignEXPERT使用了項目(Project)的概念。一個項目代表一個設(shè)計。一個項目所用的全部文件(源文件、中間的數(shù)據(jù)文件和結(jié)果文件)應(yīng)放進一個單獨的目錄中。項目導航器保存設(shè)計中每一部分的過程及狀態(tài),因此用戶可以省去思考操作步驟的時間,而把精力放在設(shè)計上。ispDesignEXPERT編程軟件2.項目導航器

46ispDesignEXPERT編程軟件1)源文件窗口

源文件窗口位于項目導航器左半部分,上邊標有“SourceinProject”字樣。源文件窗口顯示與項目有關(guān)的所有設(shè)計文件名。每個文件名前都有圖標,以圖形方式直觀表示文件的類型。項目源文件用戶能夠用不同方式描述設(shè)計,這些描述就是源文件。每個源文件是設(shè)計中的一個部件。例如,一個原理圖文件就是一個設(shè)計部件。源文件不僅包括原理圖、狀態(tài)圖、以及硬件描述語言描述的電路,也可能包括模擬、與其他項目的接口以及設(shè)計文檔等用戶做的其他工作,這些都是設(shè)計的組成部件。項目導航器支持層次設(shè)計,故設(shè)計中必有一個文件為頂層源文件。頂層源文件定義了整個可編程器件的輸入、輸出及對下一層源文件中邏輯描述的引用。對另一個源文件的引用稱為例化。較低層源文件也可以含有例化,以構(gòu)成描述邏輯的多層次結(jié)構(gòu)。如果項目只包含一個源文件,則自動成為頂層源文件。ispDesignEXPERT編程軟件1)源文件窗口

47ispDesignEXPERT編程軟件2)進程窗口

項目導航器右邊是進程窗口,上邊標有“Processesforcurrentsource:”字樣,它顯示源文件窗口中所選中文件能進行的所有操作。這些操作包括生成網(wǎng)表、編譯、邏輯化簡、邏輯綜合、布線和生成測試模塊等,總之一句話,從設(shè)計輸入到下載的每一步驟。由于項目導航器是結(jié)構(gòu)敏感的,因此ispDesignEXPERT具有一個非常強大的功能,即它知道對不同的結(jié)構(gòu)應(yīng)采取不同的處理過程。在進程窗口中,所有步驟都是結(jié)構(gòu)敏感的,這意味著,進程會因源文件窗口中選中不同的源文件而改變,已選中的源文件的進程因選擇不同目標器件也會改變。例如一個目標器件為A(A是一個CPLD器件型號)和目標器件為B(B是另一個CPLD器件型號)的同一個原理圖會有不同的流程。一個可編程器件設(shè)計,從總的方面而言,可分為項目級進程和源文件級進程。ispDesignEXPERT編程軟件2)進程窗口

48ispDesignEXPERT編程軟件源文件級進程源文件級進程包括源文件輸入、編譯、優(yōu)化等。在源文件窗口單擊一個源文件,進程窗口中將出現(xiàn)指示處理此源文件的源文件級進程。

項目級進程項目級進程包括連接、器件適配、編譯時序報告、下載等。在源文件窗口中單擊器件(device)圖標,進程窗口將出現(xiàn)指示該器件處理的項目級進程。ispDesignEXPERT編程軟件源文件級進程49ISP器件的三種邏輯設(shè)計方法

1.由ABEL-HDL源文件組成的設(shè)計

2.建立由原理圖源文件組成的設(shè)計

3.混合設(shè)計及層次導航ISP器件的三種邏輯設(shè)計方法1.由ABEL-HDL源50由ABEL-HDL源文件組成的設(shè)計1、建立新項目

(1)啟動ispDesignEXPERT,進入項目導航器ProjectNavigator窗口。

(2)單擊File菜單下的NewProject(新項目),進入建立新項目對話框。由ABEL-HDL源文件組成的設(shè)計1、建立新項目

(51由ABEL-HDL源文件組成的設(shè)計■創(chuàng)建一個新目錄(文件夾),專門用于該新項目。首先選擇此目錄所在路徑。選擇方法與windows資源管理器使用方法相同。找到路徑后,單擊創(chuàng)建新文件夾按鈕,則在文件名區(qū)出現(xiàn)"新建文件夾"字樣。

■在文件名對話框內(nèi),鍵入項目文件名。

■單擊保存按鈕,退出NewProject對話框。2、更改項目標題

■雙擊項目源文件窗口頂部的項目記錄本,即項目標題(Untitled),進入記錄本對話框,在Title對話框的文本字段中鍵入項目的描述性文字,然后,單擊按鈕OK。

由ABEL-HDL源文件組成的設(shè)計■創(chuàng)建一個新目錄52由ABEL-HDL源文件組成的設(shè)計3、建立ABEL-HDL源文件

■單擊源文件窗口下方的“New……”按鈕,出現(xiàn)新建源文件對話框?!鲞x擇ABEL-HDLModule(ABEL-HDL模塊)。文本編輯器被加載,且出現(xiàn)一個對話框,要求輸入文件名、模塊名和標題。模塊名和文件名必須有相同的基名(文件名中除擴展名之外的部分稱之為基名)。如果文件和模塊基名不同,項目導航器的某些自動功能可能不正常運行。完成了上述操作后,單擊OK或者按Enter鍵。由ABEL-HDL源文件組成的設(shè)計3、建立ABEL-HDL源53由ABEL-HDL源文件組成的設(shè)計

■現(xiàn)在出現(xiàn)了如圖所示的ABEL-HDL源文件模板。它是一個具有屏幕編輯能力的文件編輯器。由ABEL-HDL源文件組成的設(shè)計

54建立由原理圖源文件組成的設(shè)計

ispDesignEXPERT軟件包含一個原理圖輸入系統(tǒng)。一張原理圖可以代表一個簡單的邏輯電路(如一個與門)、一個復雜元件或者一個頂層電路圖。原理圖是描述硬件結(jié)構(gòu)的一種重要方式,具有直觀、清晰、易于掌握全局信號關(guān)系等優(yōu)點,硬件設(shè)計工程師都熟悉它。一幅原理圖相當于ABEL-HDL語言的一個源文件,絕大多數(shù)情況下相當于一個模塊(規(guī)范設(shè)計應(yīng)當這樣做,就像一個ABEL-HDL源文件最好只包括一個模塊一樣)。它由以下幾部分構(gòu)成:1.元件

2.連線

3.I/O標記4.圖片和文字建立由原理圖源文件組成的設(shè)計

ispDesig55建立由原理圖源文件組成的設(shè)計

■元件它可以是標準器件庫中的元件,也可以是代表其它原理圖的功能塊符號。對可編程器件而言,原理圖是指邏輯圖,這與一般包括電阻,電容的電原理圖有所不同。

■連線用于連接器件??梢允菃涡盘柧€,也可以是多根信號線的集合(總線)。

■I/O標記用于標記一幅原理圖的輸入,輸出信號,以及信號方向(輸入、輸出或者雙向。)

■圖片和文字僅起說明和解釋作用,對原理圖代表的邏輯功能無實際意義。一張有效的原理圖至少應(yīng)包括前三部分,即器件、連線和I/O標記。下文中為敘述方便,用反斜杠(\)表示下拉式菜單的層次。例如File\New表示選擇File子菜單中的New條目。建立由原理圖源文件組成的設(shè)計

■元件它可以是標準器56建立由原理圖源文件組成的設(shè)計1、進入原理圖設(shè)計環(huán)境

進入原理圖設(shè)計環(huán)境的開始步驟與進入ABEL-HDL語言設(shè)計環(huán)境是一致的,如啟動ispDesignEXPERT建立新項目、建立一個新的源文件等工作。在源文件形式選擇對話窗中,選擇Schematic(原理圖),則出現(xiàn)文件名對話框,鍵入原理圖文件名(擴展名是sch或者不鍵入)后,單擊保存按鈕,則進入原理編輯器。建立由原理圖源文件組成的設(shè)計1、進入原理圖設(shè)計環(huán)境57建立由原理圖源文件組成的設(shè)計2、安放元件

所謂元件,既可包括與、非門之類的簡單器件,也可包括計數(shù)器之類的復雜器件,還可包括用戶自已定的器件。在原理圖編輯窗口的主菜單中選擇Add/Symbol(添加元件),出現(xiàn)一個元件庫窗口。建立由原理圖源文件組成的設(shè)計2、安放元件58建立由原理圖源文件組成的設(shè)計在元件庫窗口中選擇合適的庫和元件,然后移動光標,選中的元件會跟隨光標移動。到達希望的位置后,單擊鼠標左鍵,則安放該元件在原理圖上。由于此元件仍附著在光標上,繼續(xù)移動光標并單擊鼠標左鍵,能將此元件安放在若干不同的地方。雙擊鼠標左鍵或者單擊鼠標右鍵,會結(jié)束此元件的安放操作,不過仍處于添加元件命令狀態(tài),直到另一個新命令開始,才結(jié)束此命令的執(zhí)行。在原理圖編輯器中,一般用開始新命令來結(jié)束舊命令的執(zhí)行。使用Edit\Dupicate命令能夠?qū)⒃韴D的一個區(qū)域多次復制。啟動Edit\Duplicate命令,選中源域的一個角,按下鼠標左鍵拖動鼠標,直到虛線框形成的源域滿意為止。松開鼠標左鍵,單擊目標區(qū)位置則源區(qū)被復制,雙擊鼠標左鍵或單擊鼠標右鍵結(jié)束該源區(qū)的復制工作。ispDesignEXPERT提供算術(shù)運算庫(ARITHS.LIB)、邏輯門庫(GATES.LIB)、輸入輸出緩存庫(IOPASDS.LIB)、多路選擇器庫(MUXES.LIB)和寄存器庫(REGS.LIB)等15個元件庫。建立由原理圖源文件組成的設(shè)計在元件庫窗口中選59建立由原理圖源文件組成的設(shè)計3、連線

連線是元件引腳之間的電連接線。連線只能與元件引腳相連,而不能把它和元件本身相連。連線分為單信號線和總線兩種。總線能使多個信號形式上在一條線上傳送,它使得原理圖更簡潔、清晰。原理圖中的總線與數(shù)字系統(tǒng)中的概念不一樣,它可以把若干無關(guān)的信號集中在一起,用一條總線傳送。

在原理圖編輯窗口中使用Add\Wire命令和Add\NetName命令添加連線和連線名。啟動Add\Wire命令,單擊連線起點(某個元件引腳或另一條已有連線上的某點),就開始畫一條連線。單擊鼠標左鍵,可以彎折連線;雙擊左鍵或單擊右鍵終止連線。若連線開始或結(jié)束于另一根連線,兩根連線會自動連接。連接必須有名字。連線名在原理圖編輯器和網(wǎng)表生成器中標識一條連線。如果用戶不對連線顯式命名,原理圖編輯器會為連線自動命名。連線不允許懸空,必須連到某個元件引腳上,或者連到I/O標記上。所有輸入/輸出信號必須連到I/O標記上,而且必須命名。對于模擬期間欲觀察的內(nèi)部信號線,也應(yīng)對其命名。建立由原理圖源文件組成的設(shè)計3、連線60建立由原理圖源文件組成的設(shè)計啟動Add/NetName命令,在屏幕底下的狀態(tài)欄內(nèi)輸入連線名,并按Enter鍵確認;連線名附在光標上,移動光標到目的地,單擊鼠標左鍵,連線名標注在連線旁邊。如果連線名以數(shù)字為后綴,除鍵入連線名外,最后多鍵入一個加號(+),則可命名一組連續(xù)的連線名。例如鍵入end0+后,則會自動生成end1、end2……。ispDesignEXPERT軟件對字母大小寫敏感,因此在它處引用連線名時,大小寫應(yīng)注意一致。

用復合名命名一條連線使連線定義為總線。復合名的格式是:總線名[序號表]。一種序號表是標明起始序號和終止序號的下標范圍。起始序號和終止序號用冒號(:)分開,如data[3:0]。另一種序號表是用逗號分開的序號,如addr(1,3,2,5,0)。建立由原理圖源文件組成的設(shè)計啟動Add/Ne61建立由原理圖源文件組成的設(shè)計4、安放I/O標記

I/O標記表示進入或者離開這張原理圖的信號,即輸入、輸出或者雙向信號。安放I/O標記之前,連線名必須在連線的一個端點上,不能在連線的上邊或下邊。輸入連線名后,點擊線頭(一個小方框)則將連線名放在線端。有一同時添加連線和連線名的簡單方法:輸入連線名后,將光標移到一個元件引腳或連線的某一點上,按住鼠標左鍵并拖到適位置再松開,這樣就產(chǎn)生了一根新連線,連線名就在新連線的端點上,啟動AddI/O標記命令,選擇合適的I/O屬性(輸入、輸出或雙向。屬性None為取消I/O標記),單擊連線線頭,則安放相應(yīng)的I/O標記。連線名出現(xiàn)在I/O標記內(nèi)部,表示是一個進出該模塊的信號。

對于一個可編程器件整體而言,進出此器件的信號連接到I/O標記時,需要經(jīng)過I/O緩存器(I/OPAD)。ispDesignEXPERT元件庫中提供5種I/O緩存器,它們是輸入緩存器、輸出緩存器、雙向緩存器、時鐘存器和三態(tài)緩存器。連線名"GND"表示連線接地。建立由原理圖源文件組成的設(shè)計4、安放I/O標記62建立由原理圖源文件組成的設(shè)計5、定義屬性

屬性描述元件,引腳和連線的相關(guān)特性。在可編程器件設(shè)計中,有兩種類型的屬性:元件屬性和連線屬性。啟動Add\SymbolAttribute(元件屬性)、Add\PinAttribute(引腳屬性)或Add\NetAttribute(連線屬性)命令,會彈出相應(yīng)的屬性編輯對話框,單擊需要定義屬性的元件、元件引腳或連線,對話框內(nèi)會出現(xiàn)一系列可供選擇的屬性,選擇合適的屬性并進行編輯,即可定義屬性。Lattice公司發(fā)行ispDesignEXPERT軟件時定義了元件的缺省屬性。I/O引腳的編號是需要修改的屬性之一。鎖定I/O引腳的編號時,首先啟動Add\SymbolAttribute,然后單擊元件I/OPADS,最后在屬性編輯對話框中,修改"SynarioPin="項為所需的編號。建立由原理圖源文件組成的設(shè)計5、定義屬性

屬性描述63建立由原理圖源文件組成的設(shè)計6、自定義元件模塊

一個邏輯系統(tǒng),往往由若干個功能模塊構(gòu)成。由于ispDesignEXPERT提供的元件庫只是一些最基本的邏輯模塊,用它們來構(gòu)成整個設(shè)計不僅過于復雜,而且功能上也顯得不夠清楚。ispDesignEXPERT支持模塊化層次結(jié)構(gòu)設(shè)計。一個原理圖文件可以由若干個功能模塊構(gòu)成,每個功能模塊又可以由若干個更低一層的功能模塊構(gòu)成。設(shè)計原理圖文件過程中,常常需要建立一些功能模塊(自定義元件)。

建立自定義元件在原理圖編輯器內(nèi)進行,啟動Add\NewBlockSymbol,會出現(xiàn)一個新建元件對話框。填入元件的名稱、輸入輸出與雙向引腳的名稱(注意大小寫),點擊Run按鈕,然后移動光標(新建元件附著光標移動),到達目標位置單擊鼠標左鍵,新建元件即被安放在原理圖上,同時該元件被存入Local元件庫。在原理圖編輯器中使用的File\SheetSetup命令能夠改變圖紙尺寸。如果不使用層次設(shè)計,而采用多頁設(shè)計,可以使用File\SheetSetup命令改變原理圖模塊的圖紙張數(shù)。建立由原理圖源文件組成的設(shè)計6、自定義元件模塊64混合設(shè)計及層次導航

簡單設(shè)計用一個ABEL-HDL模塊,或者一張原理圖就能描述。但復雜設(shè)計往往要分成若干個模塊(功能塊)來描述。某些模塊用ABEL-HDL語言描述合適,而另一些模塊用原理描述理好,ispDesignEXPERT支持這種混合設(shè)計方法,頂層模塊用原理圖能直觀、清晰描述合局。一個設(shè)計到底用哪種方式,取決于設(shè)計者的愛好和習慣,以及對各種設(shè)計方式的熟悉程度,很難比較優(yōu)劣。在ABEL-HDL語言中,高層模塊通過interface語句規(guī)定與低層模塊的接口,低層模塊用interface語句或直接用關(guān)鍵字PIN說明的輸入、輸出引腳作為對高層模塊的接口。在原理圖中,高層模塊用自定義元件規(guī)定對低層模塊的接口,低層模塊用I/O標記標識的輸入/輸出引腳作為對高層模塊的接口。無論何種接口形式,高層對低層接口信號與低層對高層接口信號必須同名。

混合設(shè)計及層次導航

簡單設(shè)計用一個ABEL-H65混合設(shè)計及層次導航1、選擇自定義元件的源文件形式

在原理圖編輯器中建立了自定義元件后,保存當前原理圖,退出原理圖編輯窗口,返回項目導航器主畫面。源文件窗口中,在剛編輯過的原理圖文件名下,新添了一個文件,文件名是自定義元件名。它的圖標為一個紅色問號,表示是一個空文件。雙擊該文件名彈出NewSource對話框,列出可供選擇的文件形式。對于自定義元件而言,只能選擇原理圖文件(SCHEMATIC),或者選ABEL-HDL文件(ABEL-HDLMODULE)。選定文件形式后,按OK按鈕,則進入ABEL-HDL編輯器,或者進入原理圖編輯器。在編輯器中建立一個作為低層模塊的文件,此過程一直繼續(xù)下去,直到所有模塊設(shè)計完成?;旌显O(shè)計及層次導航1、選擇自定義元件的源文件形式66混合設(shè)計及層次導航2、層次導航

ispDesignEXPERT對原理圖文件具有層次導航功能,用于瀏覽整個層次設(shè)計,此功能只用于瀏覽,不能用于編輯。層次導航操作如下:單擊項目導航器源文件窗口中某個原理圖文件,只要該文件不是最低層原理圖,可以看到過程窗口中有層次導航(NavigateHierarchy)命令。雙擊此命令項,就會彈出所選原理圖。啟動VIEW\PUSH/POP命令,使光標變成十字形狀。用十字光標單擊任何一個自定義元件,就會彈出該模塊的低層設(shè)計環(huán)境(文本編輯器或原理圖編輯器),此時即可瀏覽此模塊,如果此模塊仍為原理圖,仍可單擊自定義元件,依次往下瀏覽。退出時逐層退出?;旌显O(shè)計及層次導航2、層次導航67編譯、模擬、器件適配與下載編譯、模擬和器件適配等工作都是在過程窗口中完成的。不同類型的源文件,可能有不同的處理流程。單擊源文件窗口中某一個文件名,過程窗口中就會出現(xiàn)與其對應(yīng)的處理流程,每項操作左邊有兩個箭頭組成的環(huán)標志。雙擊某一項操作名啟動執(zhí)行此項操作。若進行此項操作之前必須先完成其它操作,項目導航器會自動去完成它。操作結(jié)果用綠色的勾、黃色的驚嘆號或紅色的叉來表示通過與否。綠色的勾指出成功,紅色的叉表示失敗。黃色的驚嘆表示基本成功,但有警告信息。若不成或有警告,會彈出一個錯誤報告文件。1.文件編譯2.連接和器件適配3.模擬4.下載編譯、模擬、器件適配與下載編譯、模擬和器件68文件編譯原理圖文件編譯操作包括編譯(COMPILESCHEMATIC)和邏輯優(yōu)化(REDUCESCHEMATICLOGIC)子操作。優(yōu)化結(jié)果用邏輯等式形式表述。放在一報告文件中,雙擊"REDUCEDEQUATIONS",就可到看到該報告。ABEL-HDL編譯操作包括邏輯編譯,邏輯優(yōu)化和語法檢查子操作。編譯過程生成三個報告文件:編譯列表、編譯后的邏輯等式、優(yōu)化過的邏輯等式。邏輯等式文件用"與-或"規(guī)范形式表達。為了減少盲目性,建議先對低層文件進行編譯,后對高層文件進行編譯。文件編譯原理圖文件編譯操作包括編譯(COMP69連接和器件適配可編程邏輯器件設(shè)計的最后一步就是連接和器件適配。器件適配把設(shè)計放進指定器件中,適配之前需將經(jīng)過編譯的各模塊連接成一個單一文件,如果編譯,優(yōu)化過程沒有出現(xiàn)錯誤,則可進行連接和器件適配工作。在項目導航器源文件窗口單擊器件名,過程窗口顯示出應(yīng)完成的操作,例如連接和器件適配。這些操作產(chǎn)生標準格式的JEDEC文件和若干報告文件。雙擊處理過程窗口內(nèi)的FITDESIGN,啟動器件適配。若設(shè)計沒有問題,將會看到在FITDESIGN和JEDECFILE兩個操作左邊出現(xiàn)綠色的勾,表示器件適配成功并產(chǎn)生了JEDEC文件。一個設(shè)計占用器件資源一般不應(yīng)超過75%。這樣容易適配成功,也便于未來更改設(shè)計。器件引腳號最好不要事先鎖定,在器件適配時由ispDesignEXPERT自動分配為好,以提高適配成功率。可能的情況下,由器件適配程序先對器件引腳進行分配,再修改設(shè)計,最后鎖定引腳號,重新進行器件適配。連接和器件適配可編程邏輯器件設(shè)計的最后一步就70模擬邏輯模擬是ispDesignEXPERT軟件的一個重要功能。設(shè)計者通過模擬了解設(shè)計結(jié)果,避免設(shè)計錯誤。ispDesignEXPERT支持功能模擬和時序模擬。在模擬過程中,提供了單步運行。斷點高度以及踴躍調(diào)試等新的功能。測試向量在一個ABEL-HDL模塊文件中,或構(gòu)成獨立的ABEL-HDL文件。如果設(shè)計是原理圖模塊,則需寫一個單獨的測試向量文件,測試向量文件結(jié)構(gòu)與ABEL-HDL源文件一樣,只是沒有邏輯描述部。模擬邏輯模擬是ispDesignEXPERT71下載

當對設(shè)計文件進行了編譯、連接、器件適配,模擬等操作以后,下一步的工作就是將生成的JEDEC文件下載到器件中。ISP器件的出現(xiàn)實現(xiàn)了先安裝器件在電路板上,然后對其編程的愿望。這樣在不更改系統(tǒng)硬件的條件下,能夠?qū)ο到y(tǒng)進行修改,升級。ISP器件的在系統(tǒng)編程(下載)是通過JTAG接口實現(xiàn)的。JTAG是JointActionGroup的簡稱。JTAG接口標準原是為采用邊界掃描法測試芯片和電路板制定的標準。ISP主要是使用JTAG接口中的TDI(TestDataInput)、TDO(TestDataOutput)、TMS(TestModeSelect)、TCK(TestClock)信號,采用了與JTAG類似的方法。對ISP器件說,TDI、TCK、TMS是輸入信號,TDO是輸出信號。由于在一塊系統(tǒng)板上可能有多個ISP器件,為了使用一個下載插座對它們編程,同在JTAG接口中一樣,這些ISP器件的系統(tǒng)板上也連接成"鏈"的形式,下載當對設(shè)計文件進行了編譯、連接、器件適配,72下載ISP器件下載鏈

下載

73下載為了對ISP器件下載,在PC機上運行的下載程序借用PC機的打印機并行端口,PC機的打印機端口與一條下載電纜連接,下載電纜的另一端接插座,ISP器件通過TDI、TDO、TMS、TCK等信號與下載插座相連。下載程序通過打印機數(shù)據(jù)端口向下載插座發(fā)送數(shù)據(jù),通過打印機狀態(tài)端口從下載插座接收數(shù)據(jù)。這樣,在PC機上運行的下載程序就能將標準JEDEC文件中的數(shù)據(jù)下載到ISP器件中,從而實現(xiàn)對ISP器件的在系統(tǒng)編程。

下載為了對ISP器件下載,在PC機上運行的下74第二章ABEL-HDL語言介紹第二章ABEL-HDL語言介紹75ABEL設(shè)計軟件

ABEL設(shè)計軟件是一種高級編譯型可編程邏輯設(shè)計軟件,只需要輸入符合語法規(guī)定的邏輯描述,就能設(shè)計各種不同類型的PLD器件。這種軟件可以對用戶的邏輯設(shè)計進行語法檢查、邏輯化簡、自動生成符合標準的JEDEC文件(“.JED”文件),還能將用戶的設(shè)計要求與所選器件的功能相結(jié)合,分析檢查用戶的設(shè)計目的是否切實可行,目前已經(jīng)成為國際通用的PLD輔助設(shè)計軟件之一。ABEL設(shè)計軟件ABEL設(shè)計軟件是一種高級編譯型可編76ABEL-HDL源文件格式ABEL-HDL語言簡介

1.什么是ABEL-HDL源文件

ABEL-HDL硬件描述語言是一種層次結(jié)構(gòu)的邏輯描述語言,是世界上可編程邏輯器件設(shè)計應(yīng)用最廣的語言之一。用ABEL-HDL語言設(shè)計的文件是ASCII格式的文本文件,叫做ABEL-HDL源文件。

2.ABEL-HDL設(shè)計的基本思想

不少EDA(電子設(shè)計自動化)軟件工具支持ABEL-HDL設(shè)計、原理圖設(shè)計、以及ABEL-HDL和原理圖混合設(shè)計等多種設(shè)計方式。由于ABEL-HDL設(shè)計對初學者易于入門,本試驗選用ABEL-HDL語言來進行教學。

ABEL-HDL包括兩部分:

一部分使用高級語言,用來描述邏輯設(shè)計;

另一部分是語言處理程序,用于將邏輯描述轉(zhuǎn)化為其下載文件中含有編程及測試可編程邏輯器件所需的信息。

ABEL-HDL源文件格式ABEL-HDL語言簡介

77ABEL-HDL有如下一些特點:

①適用于各種型號的PLD器件的通用語法;

②結(jié)構(gòu)化的高級設(shè)計語言;

③靈活的邏輯描述形式——布爾關(guān)系式、真值表、狀態(tài)圖;

④仿真與測試向量;

⑤省時的宏定義及指示字。

ABEL-HDL的處理程序提供了如下強大功能:

①語法檢查;

②檢驗所選器件能否實現(xiàn)設(shè)計要求;

③邏輯簡化;

④設(shè)計模擬;

⑤自動生成文件。

ABEL-HDL源文件格式ABEL-HDL有如下一些特點:

①適用于各種型號78

一個ABEL-HDL設(shè)計的基本單位是模塊。一個設(shè)計可能僅包括一個模塊,也可能包括若干模塊。如果包括若干模塊,則按照層次結(jié)構(gòu)把它們組織起來。頂層的模塊只有一個,它描述設(shè)計的總體輪廓。其他低層的模塊詳細描述頂層模塊中包含的各子功能塊,層次數(shù)不受限制。一般地說,層次設(shè)計中,總是較低層的模塊對較高層模塊中的子功能塊進行細化。層次設(shè)計不僅適用于ABEL-HDL設(shè)計,同時也適用于原理圖設(shè)計、ABEL-HDL和原理圖混合設(shè)計。一個設(shè)計的所有模塊,可以包含在一個文件中,也可以包含在幾個文件中。這些模塊經(jīng)過編譯、優(yōu)化、連接、模擬、器件適配等步驟,生成一個二進制代碼的JEDEC格式的文件。最后將JEDEC文件下載到器件中,完成對器件的編程。ABEL-HDL源文件格式

一個ABEL-HDL設(shè)計的基本單位是模塊。一個79

可編程邏輯器件模塊設(shè)計對模塊劃分的要求,同軟件程序設(shè)計中對模塊的要求原則上是一致的。劃分模塊的要求是:

◆每一個模塊都應(yīng)有一個確定的用途和功能。

◆把一個設(shè)計劃分為多個模塊應(yīng)能清楚地表明這個設(shè)計的結(jié)構(gòu)。

◆較低層的模塊應(yīng)能被盡可能多的高層模塊使用。如有可能,這個設(shè)計中產(chǎn)生的模塊應(yīng)盡可能被其他設(shè)計使用;或者此設(shè)計應(yīng)盡可能使用其他設(shè)計產(chǎn)生的模塊。ABEL-HDL源文件格式

可編程邏輯器件模塊設(shè)計對模塊劃分的要求,同軟件程80

3.ABEL-HDL格式

前面簡單介紹了若干基本概念。對一個模塊來說,它應(yīng)包括以下基本部分:

◆頭部

頭部是一個模塊的開始,它必須放在模塊的最前面。頭部由MODULE語句開始,它指出模塊的名字,如MODULEcounter語句。除此之外,頭部還可能包括INTERFACE語句,它用于模塊之間的接口。TITLE語句也屬于頭部,TITLE是關(guān)鍵字,后邊跟一個字符串,對模塊進行簡明扼要的解釋。由于編譯時不處理該語句,所以書寫時前面須加上單引號。TITLE語句是可選的。

◆說明部說明部對本模塊中使用的標識符(代表信號、常量等)進行說明。一個標識符必須首先予以說明,然后才能引用。未經(jīng)事先說明的標識符不能引用。說明部緊跟在頭部之后(省略關(guān)鍵字DECLARATIONS),或者用關(guān)鍵字DECLARATIONS明確指出一個說明部的開始。

ABEL-HDL源文件格式

3.ABEL-HDL格式

前面簡單介紹了若81

◆邏輯描述部

邏輯描述部是ISP設(shè)計中最重要的部分,其的作用是用邏輯等式、真值表、狀態(tài)機、熔絲圖等具體描述模塊的邏輯功能。在counter模塊中,關(guān)鍵字EQUATIONS指明邏輯描述的開始。

◆結(jié)束部

結(jié)束部用結(jié)構(gòu)語句END關(guān)閉一個模塊。它只包含一個END語句。注意,END語句和MODULE語句是成對出現(xiàn)的。

◆測試向量部

一個模塊中還可能包含一個測試向量部,它用于邏輯等式模擬,檢查邏輯描述部描述的電路設(shè)計是否能實現(xiàn)預期的功能。測試向量部是可選內(nèi)容,它可以包括在模塊中,也可以放在一個單獨的測試向量文件中。引導測試向量部的關(guān)鍵字是TEST_VECTORS。ABEL-HDL源文件格式

◆邏輯描述部ABEL-HDL源文件格式82

綜上所述,模塊結(jié)構(gòu)有以下規(guī)則:一個模塊只包含一個頭部,放在模塊的開始。說明部直接跟在頭部之后,或用關(guān)鍵字DECLARATIONS開始。邏輯描述部描述模塊的功能。測試向量部用于模擬。結(jié)束部關(guān)閉模塊。除頭部和結(jié)束部外,其它部可以按任何次序重復。標識符必須首先予以說明,然后才能引用。不能引用未經(jīng)說明的標識符。

一個ABEL-HDL源文件可以包含若干個模塊,模塊是相互獨立的。ABEL-HDL源文件格式

綜上所述,模塊結(jié)構(gòu)有以下規(guī)則:一個模塊只包含一83

電路常用的ABEL-HDL描述方法有三種:邏輯方程法;真值表法;狀態(tài)圖法。前兩種方法既適用于組合邏輯也適用于時序邏輯,第三種方法對狀態(tài)機的設(shè)計較為方便。

1.邏輯方程法

使用方程語句EQUATIONS表示一組邏輯方程的開始。方程用布爾代數(shù)描述其邏輯功能。2.真值表法

真值表法采用表格形式說明不同輸入條件下的邏輯輸出。3.狀態(tài)圖法

使用狀態(tài)機語句STATE_DIAGRAM來描述時序狀態(tài)機的轉(zhuǎn)移方式。電路常用的ABEL-HDL描述方法

電路常用的ABEL-HDL描述方法有三種:邏84ABEL的語法規(guī)定-字符集a~z

(26個小寫英文字母)A~Z(26個大寫英文字母)0~9(10個數(shù)字字符)space(空格符)tab(制表符)~?。溃!纾ィ蓿Γǎ撸剑埽郏荩?;‘:“,<>.`/?共計96個ASCII碼字符ABEL的語法規(guī)定-字符集a~z(26個小寫英文字母)共計85ABEL的語法規(guī)定-標識符

標識符是由標識器件、器件引腳、節(jié)點、集合、輸入/輸出信號等的合法字符串組成。標識符的限制規(guī)則為:標識符必須以字母或下劃線開始;標識符最長不能超過31個字符;除第一個字符外,標識符可以包含大寫字母,小寫字母,數(shù)字及下劃線,但不允許出現(xiàn)空格;標識符與大小寫字母有關(guān);ABEL的語法規(guī)定-標識符標識符是由標識器件、器件引腳86

關(guān)鍵字又稱保留標識符,它代表某種處理功能,不能用來代表器件,器件引腳,信號集合等。下表列出ABEL軟件所使用的關(guān)鍵字.注意與標識別符不同,關(guān)鍵字不區(qū)分大小寫!ABEL的語法規(guī)定-關(guān)鍵字關(guān)鍵字又稱保留標識符,它代表某種處理功能,不能用來代表87ABEL的語法規(guī)定-字符串

字符串是用單引號(撇號)括起來的一串包括空格在內(nèi)的ASCII字符。通常用于標題語句、標記語句以及管腳和節(jié)點說明語句。字符串中也能夠含有單引號,方法是在單引號之前放一個反斜杠(\),如'It\'seasytouseABELandSynario'。字符串也能夠包括反斜杠,方法是使用兩個連續(xù)的反斜杠,如'He\\Shecanusebackslashesinastring'。左單引號(')也可以作為字符串的定界符,它與右單引號(')可以交換使用。例如TITLE’1to8linedemultiplexer’;DM1device‘P16L8’;合法字符串,表示標題合法字符串,表示器件的工業(yè)標號ABEL的語法規(guī)定-字符串字符串是用單引號(撇號)括88ABEL的語法規(guī)定-注釋段

注釋是對源文件的進一步解釋,注釋段可以:

1.用雙引號(“)開始,用另一個雙引號或用換行結(jié)束;

2.用雙斜杠(//)開始,換行結(jié)束。此方式對含有雙引號的注釋是很有用的。以下幾個例子均為合法注釋:MODULEBasiclogic:“givesthemoduleaname”TITLE‘ABELdesignexample:simplegates’;“title“declarationsection”IC5“decoderPAL”device‘P10H8’;注意注釋段可以放在設(shè)計源文件的任何地方!ABEL的語法規(guī)定-注釋段注釋是對源文件的進一步解釋89ABEL語法規(guī)定-數(shù)的表示用常用進制來表示數(shù),即二進制、八進制、十進制和十六進制,表示方法如下:還可以用字母的ASCII碼作為數(shù)值.

ABEL軟件的運算精度為32位,合法取值范圍是:ABEL語法規(guī)定-數(shù)的表示用常用進制來表示數(shù),即二進制、八90附錄一:ABEL語法規(guī)定-常量

常量用來表示值不變的量,通常用于賦值語句、真值表語句和測試向量語句,有時也可以將常量賦予某些標識符,使這個標識符在整個模塊中代表該常量的值。常量可以分為:一般常量和特殊常量.注意特殊常量值用大小寫均可,但是前后兩個“.”不能省略!附錄一:ABEL語法規(guī)定-常量常量用來表示值不變的量,91ABEL語法規(guī)定-運算及運算符

ABEL軟件可以處理含有算術(shù)運算、邏輯運算、關(guān)系運算和賦值運算的邏輯表達式,它們的運算符及含義如下表所示:ABEL語法規(guī)定-運算及運算符ABEL軟件可以處理含有92ABEL語法規(guī)定-運算及運算符ABEL語法規(guī)定-運算及運算符93ABEL語法規(guī)定-表達式及等式

表達式是標識符和運算符的組合,表達式中各種運算具有不同的優(yōu)先級,按照從高到低的順序(相同優(yōu)先級按照從左到右的順序)進行運算。等式用于將表達式值賦予輸出信號。在ABEL語言中,一個輸出信號可以多次被賦值,其最終輸出結(jié)果是所有這些賦值的“或”,而不是對該輸出的最后一次賦值,這一點是它與其它高級語言等式相區(qū)別的標志之一。例如A=BA=C等價為A=B#CABEL語法規(guī)定-表達式及等式表達式是標識符和運算符94ABEL語法規(guī)定-集合

在邏輯設(shè)計中,對于如數(shù)據(jù)總線,地址總線等成組出現(xiàn)的信號或常量,ABEL軟件允許使用一個標識符表示這種成組處理的信號或常量,稱之為集合(或數(shù)組)。集合中的每一個獨立分量稱為該集合的元素。

1)枚舉法

DATA_BUS=[D7,D6,D5,D4,D3,D2,D1,D0];2)界限符法

DATA_BUS=[D7..D0];集合的定義方法:注意數(shù)組中的每一個元素之間要以“,”分開;枚舉法與界限符法可以聯(lián)合使用,如:Y=[D3,D2,D1,D0,B3..B0];ABEL語法規(guī)定-集合在邏輯設(shè)計中,對于如數(shù)據(jù)總線,95ABEL源文件的基本結(jié)構(gòu)

ABEL源文件是由一個或多個相互獨立的模塊組成,每個模塊包括一個或多個完整的邏輯描述。簡單的源文件可以只包含一個模塊,而復雜的源文件可能包括大量的模塊。ABEL源文件的基本結(jié)構(gòu)如下:

MODULEmodname“以modname為名的模塊開始”

ENDmodname“以modname為名的模塊結(jié)束”

MODULEsecname“第二個模塊開始”

ENDsecname“第二個模塊結(jié)束”.........ABEL源文件的基本結(jié)構(gòu)ABEL源文件是由一個或多個96ABEL源文件格式每個模塊都必須以關(guān)鍵字“MODULE文件名”開始,以關(guān)鍵字“END文件名”結(jié)束一個源文件允許有多個模塊每個模塊包含以下幾個內(nèi)容:標題標記部分說明部分(說明器件,管腳,屬性,常量等)邏輯描述部分(邏輯方程,真值表,狀態(tài)圖)熔絲圖說明部分(對熔絲圖直接編輯)測試部分(測試矢量)ABEL源文件格式每個模塊都必須以關(guān)鍵字“MODULE文件97

模塊開始標記標題說明:器件說明管腳,節(jié)點說明屬性說明常量說明

邏輯描述:邏輯方程式真值表狀態(tài)圖熔絲圖說明測試向量模塊結(jié)束標志部分說明部分邏輯描述部分熔絲圖說明部分測試部分ABEL源文件模塊結(jié)構(gòu)模塊開始標志部分說明部分邏輯描述部分熔絲圖說明部分測98

ABEL軟件的語句

ABEL軟件的語句按功能可以分為5大類:

具體功能及關(guān)鍵字如下表所示

-標志語句-說明語句-邏輯描述語句-測試語句-熔絲圖說明語句ABEL軟件的語句ABEL軟件的語句按功能可以分為5大99ABEL-HDL語言介紹課件100ABEL-HDL語言介紹課件101ABEL軟件的標志語句1.標記語句標記語句是用來定義一些處理參數(shù),這些參數(shù)將決定ABEL語言處理軟件對源文件的處理方式.

標志語句包含標記語句和標題語句兩部分。格式FLAG‘參數(shù)1’,’參數(shù)2’,……,’參數(shù)n’;其中:‘-參數(shù)n’代表某種處理方式.例如:‘-Rn’代表化簡級別(n=0~3);‘-Tn’代表跟蹤級別(n=0~4)ABEL軟件的標志語句1.標記語句標志語句包含標記語句和102ABEL軟件的標志語句

標題語句用于說明模塊內(nèi)容。格式TITLE‘字符串’其中:‘字符串’為該模塊的內(nèi)容提示例如:TITLE‘4bitbinarycounter’注意標題語句不影響任何邏輯描述及運算結(jié)果,它可以省略.1.標題語句ABEL軟件的標志語句標題語句用于說明模塊內(nèi)容。格式103ABEL軟件的說明語句

說明語句用于描述真實器件名,引腳名和節(jié)點名,還可以用來說明屬性和定義常量。說明語句只在相應(yīng)的模塊內(nèi)起作用,每一模塊必須有自己的器件說明語句以及必要的管腳和節(jié)點說明語句.

說明語句分為器件說明語句、管腳說明語句、節(jié)點說明語句、常量說明語句和類型說明語句,以下分別進行介紹.ABEL軟件的說明語句說明語句用于描述真實器件名,引腳1041.器件說明語句

器件說明語句用來把模塊中所用器件的標識符與實際可編程邏輯器件相聯(lián)系.格式器件標識符DEVICE‘字符串’;器件名工業(yè)標號(見下頁)例如:U3DEVICE‘P16V8S’含義:器件“U3”是用簡單模式的GAL16V8實現(xiàn)的ABEL軟件的說明語句1.器件說明語句器件說明語句用來把模塊中所用器件的標識105ABEL-HDL語言介紹課件1062.管腳及節(jié)點說明語句

管腳及節(jié)點說明語句表明在模塊中使用的管腳及節(jié)點標識符與實際器件的管腳及節(jié)點的對應(yīng)關(guān)系,它同時還可以說明可編程管腳及節(jié)點的屬性.格式標識符PIN(或NODE)IN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論