集成電路的發(fā)展經(jīng)歷了從小規(guī)模、中規(guī)模、大規(guī)模和超大規(guī)模集成的過(guò)程,但隨著科學(xué)技術(shù)的發(fā)展,許多特定功能的專用集成電路(ASIC)應(yīng)用日益廣泛,用戶迫切希望根據(jù)自身設(shè)計(jì)要求自行構(gòu)造邏輯功能的數(shù)字電路。復(fù)雜可編程邏輯器件CPLD(Complex Programmable Logic Devices)順應(yīng)了這一新的需要。它能將大量邏輯功能集成于1個(gè)芯片中,其規(guī)??蛇_(dá)幾十萬(wàn)或上百門以上。用CPLD開發(fā)的數(shù)字系統(tǒng)個(gè)有容量大、速率快、成本低的特點(diǎn),且開發(fā)靈活、開發(fā)周期短。
1 器件結(jié)構(gòu)和開發(fā)軟件
1.1FLEX10K簡(jiǎn)介
FLEX系列可編程邏輯器件是美國(guó)Altera公司主力推出的產(chǎn)品。FLEX10K是該系統(tǒng)器件中的典型代表。與許多PLD器件一樣,它有在線可配置(ISR)功能和高密度、高速度的優(yōu)點(diǎn);作為工業(yè)界第1個(gè)嵌入式PLD,它還采用重復(fù)可構(gòu)造的CMOSSRAM工藝,把連續(xù)的快速通道互連與獨(dú)特嵌入式陣列結(jié)構(gòu)相結(jié)合,來(lái)完成普通門陣列的宏功能。每個(gè)FLEX10K器件還1包括個(gè)嵌入式陣列和1個(gè)邏輯陣列,能讓設(shè)計(jì)人員輕松地開發(fā)集成存儲(chǔ)器、數(shù)字信號(hào)處理器及特殊邏輯功能等強(qiáng)大的功能于一身的芯片。圖1為其結(jié)構(gòu)圖。FLEX10K主要由邏輯陣列(logicarray)、嵌入式陣列(EAB)構(gòu)成。其中,邏輯陣列是由多個(gè)邏輯陣列塊(LAB)組成的,而每個(gè)邏輯陣列塊(LAB)又包含8個(gè)邏輯單元(logicelement),在每行、列互連通道的兩端都有輸入/輸出單元(IOE)。
1.2 MAX+PLUSII開發(fā)軟件特點(diǎn)和設(shè)計(jì)流
用CPLD實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)電路,關(guān)鍵技術(shù)是必須有一個(gè)優(yōu)秀的開發(fā)軟件。Altera公司的開發(fā)軟件MAX+PLUS
II界面豐富,使設(shè)計(jì)靈活、方便、高效。
?。?)開放的界面
MAX+PLUS II軟件可與其它工業(yè)標(biāo)準(zhǔn)設(shè)計(jì)輸入、綜合與校驗(yàn)工具相連接。設(shè)計(jì)人員可以使用Altera或標(biāo)準(zhǔn)EDA設(shè)計(jì)輸入工具來(lái)建立邏輯設(shè)計(jì),對(duì)器件設(shè)計(jì)進(jìn)行編譯,并能使用Altera或其EDASF校驗(yàn)工具進(jìn)行器件仿真。
?。?)完全集成化的環(huán)境
它是一個(gè)完全集成化、易學(xué)易用的可編程邏輯設(shè)計(jì)環(huán)境,設(shè)計(jì)輸入方式有圖形輸入、文本輸入、波形輸入、狀態(tài)機(jī)設(shè)計(jì)輸入。其編譯及設(shè)計(jì)處理寫仿真、定時(shí)分析、邏輯綜合與適配均為Windows圖形界面。
?。?)支持各種硬件描述語(yǔ)言
支持各種HDL設(shè)計(jì)輸入選項(xiàng),包括VHDL、VerilogHDL、ABEL、AHDL等硬件描述語(yǔ)言。
(4)豐富的設(shè)計(jì)庫(kù)
提供豐富的庫(kù)單元設(shè)計(jì)調(diào)用,包括74系列的全部器件和多種特殊的邏輯宏功能、新型的參數(shù)化兆功能。對(duì)于復(fù)雜的大系統(tǒng),設(shè)計(jì)者需調(diào)用宏單元庫(kù),并對(duì)其修改某些參數(shù),而無(wú)需自己用基本邏輯單元來(lái)構(gòu)成某種功能,以大大減輕設(shè)計(jì)人員的工作量,縮短設(shè)計(jì)周期。
電路的設(shè)計(jì)流程如圖2所示。將所設(shè)計(jì)的電路用原理圖輸入和硬件描述語(yǔ)言輸入,應(yīng)用EDA軟件平臺(tái)(MAX+PLUS II)編譯通過(guò)后,再進(jìn)行邏輯功能仿零點(diǎn),生成目標(biāo)文件,下載到FLEX10K芯片,完成系統(tǒng)設(shè)計(jì)。
2 交通控制系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)介紹
圖3為一十字路口交通管理器,控制甲、乙2道的紅、黃、綠3色燈。計(jì)數(shù)顯示部分為2個(gè)倒計(jì)時(shí)器,顯示甲、乙車道允許通車時(shí)間,指揮車輛和行人安全通行。其R1、Y1、G1為甲道紅、黃、綠燈;R2、Y2、G2為乙道紅、黃、綠燈。
甲道通告時(shí)間為t3,乙道通行時(shí)間為t2,黃燈亮(停車)時(shí)間為t1,C1、C2、C3為定時(shí)器工作使能信號(hào),為1時(shí)定時(shí)器計(jì)數(shù);W1、W2、W3為定時(shí)器的指示信號(hào),計(jì)數(shù)時(shí)信號(hào)為0,計(jì)數(shù)結(jié)束時(shí)信號(hào)為1。
2.2 FLEX10K內(nèi)部邏輯功能設(shè)計(jì)
交通控制系統(tǒng)芯片內(nèi)部邏輯功能設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,系統(tǒng)頂層電路如圖4所示。它分為5個(gè)次級(jí)模塊:控制器(traffic_control)、定時(shí)器1、定時(shí)器2、定時(shí)器3、(其定時(shí)時(shí)間為t3、t2和t1)、計(jì)數(shù)顯示(含減法計(jì)數(shù)器和動(dòng)態(tài)掃描電路)。
頂層電路圖中減法計(jì)數(shù)器和動(dòng)態(tài)掃描電路用圖形輸入描述,其它次級(jí)模塊控制器、定時(shí)器1、定時(shí)器2、定時(shí)器3用VHDL硬件語(yǔ)言描述。核心模塊控制器的VHDL源文件如下:
3 功能編譯、設(shè)計(jì)仿真與硬件下載
本系統(tǒng)采用Altera公司生產(chǎn)的FLEX10K系列的CPLD芯片,應(yīng)用該公司的MAX+PLUS II開發(fā)軟件完成設(shè)計(jì)后,需對(duì)各種源文件從低層到頂層逐個(gè)編譯,再進(jìn)行邏輯仿真。選擇器件后,打開檢查項(xiàng)目中所有設(shè)計(jì)文件,通過(guò)檢測(cè)發(fā)發(fā)現(xiàn)在編程器件中可能存在的可靠性不好的邏輯器件引腳分配。
Altera公司推薦的編譯器可自動(dòng)為項(xiàng)目進(jìn)行引腳分配,也可人工調(diào)整引腳。在編譯器窗口選擇Start按鈕,將對(duì)所有設(shè)計(jì)的項(xiàng)目進(jìn)行處理,出現(xiàn)錯(cuò)誤將給出具體錯(cuò)誤提示。為了保證設(shè)計(jì)的正確性,在編譯通過(guò)后,還需進(jìn)行邏輯仿真。仿真通過(guò)后再應(yīng)用MAX+PLUS II的編程器對(duì)所選可編程邏輯器件下載編程,便完成了交通控制系統(tǒng)的ASIC芯片設(shè)計(jì)和硬件固化。若在芯片外圍接入必要電源、脈沖信號(hào)、顯示器和指示燈,便構(gòu)成了一個(gè)完整交通控制系統(tǒng)。它具有工作穩(wěn)定、體積小、在線修改方便等特點(diǎn)。