可編程ASIC器件主從式結(jié)構(gòu)開發(fā)系統(tǒng)的設(shè)計(jì)
1 引言
當(dāng)前在EDA領(lǐng)域,只要具備臺(tái)式或筆記本電腦并裝有工具軟件,就可以方便地對(duì)可編程ASIC(CPLD/FPGA)進(jìn)行設(shè)計(jì)開發(fā),在系統(tǒng)可編程(ISP)器件為我們提供了這種便利條件。ISP方式雖然可以用一根下載電纜代替了編程器,但兼有提供下載和演示環(huán)境兩大功能的可編程ASIC開發(fā)系統(tǒng)對(duì)于用戶來說仍是必須的。本文提出的主從式下載開發(fā)系統(tǒng)可以適配多種目標(biāo)芯片,具有較寬的開發(fā)應(yīng)用范圍,經(jīng)過幾年的教學(xué)、科研實(shí)踐,使用效果良好。
2 系統(tǒng)結(jié)構(gòu)及工作原理
對(duì)ASIC器件設(shè)計(jì)開發(fā)的前期工作主要依靠對(duì)某種EDA工具軟件使用。對(duì)于其工具軟件和硬件編程語言,必須通過實(shí)踐鍛煉方能熟練使用和達(dá)到掌握技巧的程度。對(duì)應(yīng)用系統(tǒng)和目標(biāo)芯片進(jìn)行開發(fā),先要使用EDA工具軟件所提供的文本和圖形輸入方式進(jìn)行描述和綜合,并要通過仿真驗(yàn)證。而后的工作就是將設(shè)計(jì)完成并通過仿真的熔絲圖文件對(duì)目標(biāo)芯片下載,并在系統(tǒng)板提供的開發(fā)環(huán)境中直接進(jìn)行功能演示。因而下載開發(fā)系統(tǒng)的基本結(jié)構(gòu)必須具備輸入和輸出功能。設(shè)計(jì)數(shù)字電路或系統(tǒng)往往需要多種頻率資源,故系統(tǒng)板要提供時(shí)鐘配置和頻率選擇功能。而要完成開發(fā)系統(tǒng)的復(fù)雜工作和模式選擇,系統(tǒng)控制功能也是必須的?;谝陨纤悸吩O(shè)計(jì)開發(fā)的系統(tǒng)電路框圖如圖1所示。
本機(jī)最大的特點(diǎn)是系統(tǒng)采用主從式開發(fā)結(jié)構(gòu),將目標(biāo)芯片安裝在一個(gè)小型轉(zhuǎn)接板上,再將轉(zhuǎn)接子板插到系統(tǒng)母板上配合工作。主系統(tǒng)母板是固定的,對(duì)不同的芯片只需換用不同的轉(zhuǎn)接子板,避免了以往開發(fā)系統(tǒng)只能對(duì)單一型號(hào)芯片進(jìn)行開發(fā)應(yīng)用的弊端,大大拓寬了目標(biāo)芯片的可選性和開發(fā)系統(tǒng)的應(yīng)用范圍。目前設(shè)計(jì)的開發(fā)系統(tǒng)適用于6000門規(guī)模的芯片開發(fā),以及LATTICE、XILINX、ALTERA等多家公司的不同芯片。主從式開發(fā)結(jié)構(gòu)保證了系統(tǒng)的通用性和易于升級(jí),只要稍加改進(jìn)就可形成從2000門到100000門以上邏輯資源、從5V 到3.3V、2.5V、1.8V兼容工作電壓的系列產(chǎn)品。
2.2 輸出部分
輸出部分主要采用數(shù)碼管顯示并有發(fā)光二極管顯示以及揚(yáng)聲器發(fā)聲裝置??紤]到數(shù)碼管占用較多的用戶資源,我們采用一種動(dòng)態(tài)掃描方式,在輸出數(shù)碼管顯示數(shù)據(jù)時(shí)同時(shí)輸出與該數(shù)據(jù)相對(duì)應(yīng)的數(shù)碼管地址,經(jīng)地址譯碼器形成數(shù)碼管選通信號(hào)。具體實(shí)現(xiàn)時(shí)用一片Isp LSI1016可編程器件配置數(shù)據(jù)選擇器和譯碼器,地址譯碼功能通過89C51單片機(jī)控制實(shí)現(xiàn)。這種方案大大節(jié)省了輸出口資源和譯碼驅(qū)動(dòng)器件,提高系統(tǒng)可靠性同時(shí)減少印板空間。
設(shè)計(jì)系統(tǒng)具有三種顯示模式:準(zhǔn)靜態(tài)顯示、十六進(jìn)制碼輸入動(dòng)態(tài)顯示和段碼輸入動(dòng)態(tài)顯示,用戶通過撥碼開關(guān)或跳線進(jìn)行模式選擇。
2.3 輸入部分
采用8鍵KEY 0~ KEY 7,鍵盤信號(hào)經(jīng)89C51單片機(jī)處理后通過三態(tài)緩沖門送至用戶芯片,根據(jù)不同工作要求,鍵盤設(shè)計(jì)有四種輸入模式:琴鍵模式、乒乓模式、脈沖模式和二進(jìn)制計(jì)數(shù)模式。除此之外第八鍵還可為特殊功能做單步時(shí)鐘輸入模式。
2.4 時(shí)鐘資源及分頻
使用ISPLSI1016同時(shí)配置時(shí)鐘產(chǎn)生單元,系統(tǒng)由晶振產(chǎn)生32768 Hz時(shí)鐘,經(jīng)1016內(nèi)部分頻可以輸出十種頻率,這十種頻率與另外單獨(dú)產(chǎn)生的12 MHz信號(hào)組合使用(分為四組),可基本滿足設(shè)計(jì)需要。對(duì)1016的ABEL-HDL語言描述(包括配置信號(hào)源部分的計(jì)數(shù)、分頻和顯示部分的譯碼器、數(shù)據(jù)選擇器)如下:
MODULEDIVCLK
TITLE ‘THIS IS THE HEX BITS COUNTER OF BIN &BCD CODE TO 7 SEGMENT CODE CODER’
CK PIN 11; “Y0時(shí)鐘輸入”
EN PIN 15; “段碼輸入使能”
Q0,Q2,Q4,Q8,Q9,Q10,Q11,Q12,Q13,Q14,Q15 PIN 43,42,41,40,39,38,37,32,27,26,10
ISTYPE ‘COM’; “分頻器輸出”
NQ0,NQ2,NQ4,NQ8,NQ9,NQ10,NQ11,NQ12,NQ13, NQ14,NQ15 NODE ISTYPE ‘REG_D’;
C0,C1,C2,C3,C4,C5,C6 PIN 8,7,6,5,4,3,44 ISTYPE ‘COM’; “最終結(jié)果輸出”
A,B,C,D PIN 19,18,17,16; “十六進(jìn)制碼輸入”
IN0,IN1,IN3,IN4,IN5,IN6 PIN 20,21,22,31,30,29,28;
“段碼輸入”
CLKIN NODE ISTYPE’COM’;
Q1,Q3,Q5,Q6,Q7 NODE ISTYPE’COM’;
NQ1,NQ3,NQ5,NQ6,NQ7 NODE ISTYPE ‘REG_D’;
QA,QB,QC,QD,QE,QF,QG NODE ISTYPE ‘COM’;
BOUNT=〔Q15..Q0〕; “分頻器輸出”
COUNT=〔NQ15..NQ0〕;
INPUT1=〔QA,QB,QC,QD,QE,QF,QG〕;
“譯碼結(jié)果輸出”
INPUT0=〔IN0..IN6〕; “段碼輸入”
OUTPUT0=〔C0..C6〕; “最終結(jié)果輸出” [!--empirenews.page--]
EQUATIONS
CLKIN=!CK; “該段為計(jì)數(shù)分頻器”
COUNT.CLK=CLKIN;
COUNT.D=COUNT.Q+1;
BOUNT=COUNT.Q;
TRUTH_TABLE﹙〔D,C,B,A〕->〔QA,QB,QC,QD, QE,QF,QG〕﹚
〔0,0,0,0〕->〔1,1,1,1,1,1,0〕; “該段為譯碼器”
〔0,0,0,1〕->〔0,1,1,0,0,0,0〕;
〔0,0,1,0〕->〔1,1,0,1,1,0,1〕;
〔0,0,1,1〕->〔1,1,1,1,0,0,1〕;
〔0,1,0,0〕->〔0,1,1,0,0,1,1〕;
〔0,1,0,1〕->〔1,0,1,10,1,1〕;
〔0,1,1,0〕->〔1,0,1,1,1,1,1〕;
〔0,11,1〕->〔1,1,1,0,0,0,0〕;
〔1,0,0,0〕->〔1,1,1,1,1,1,1〕;
〔1,0,0,1〕->〔1,1,1,1,0,1,1〕;
〔1,0,1,0〕->〔1,1,1,01,1,1〕;
〔1,0,1,1〕->〔0,0,1,1,1,1,1〕;
〔1,1,0,0〕->〔1,0,0,1,1,1,0〕;
〔1,1,0,1〕->〔0,1,1,1,1,0,1〕;
〔1,1,1,0〕->〔1,0,0,1,1,1,1〕;
〔1,1,1,1〕->〔1,0,0,0,1,1,1〕;
EQUATIONS
WHEN EN==1 THEN OUTPUT0=INPUT1;
“該段為數(shù)據(jù)選擇器”
WHEN EN==0 THEN OUTPUT0= INPUT0;
END
2.5 控制部分
控制部分是系統(tǒng)整機(jī)協(xié)調(diào)工作和智能化管理的核心部分,采用89C51單片機(jī)實(shí)現(xiàn)控制功能是其關(guān)鍵,采用單片機(jī)不但方便監(jiān)控,并且大大減少硬件設(shè)計(jì)。如上所述,其主要控制功能包括顯示譯碼與時(shí)鐘模式選擇,數(shù)碼管掃描和鍵盤數(shù)據(jù)的處理均由軟件完成。其中軟件設(shè)計(jì)時(shí)考慮到“去抖動(dòng)”、 “單鍵處理”問題,并且為防止運(yùn)行程序受干擾時(shí)“跑飛”而造成死機(jī),在程序中加入軟件“看門狗”,通過89C51的T1中斷實(shí)現(xiàn)監(jiān)控功能。
2.6 A/D、D/A轉(zhuǎn)換接口及其它
系統(tǒng)設(shè)置A/D、D/A轉(zhuǎn)換接口,采用美國(guó)TI 公司的高速串行8位模數(shù)轉(zhuǎn)換器TLC549和四通道串行數(shù)模轉(zhuǎn)換器TLC5620,可以滿足要求。另外預(yù)留 VGA視頻輸入端和九芯用戶外接接口以備之需。