電子發(fā)燒友網(wǎng):PLD設(shè)計(jì),相信對(duì)很多人而言都不陌生。當(dāng)然也有對(duì)它不是那么了解的人,那么即使你沒(méi)有深入接觸過(guò)PLD,我們也可以讓你可以在短短的幾十分鐘內(nèi)初步學(xué)會(huì)PLD設(shè)計(jì)! 通過(guò)對(duì)本文的學(xué)習(xí),你將迅速走進(jìn)PLD世界。不信嗎? 那我們就慢慢往下看。本文主要通過(guò)分別采用VHDL、Verilog-HDL和原理圖輸入方式設(shè)計(jì)一個(gè)簡(jiǎn)單的三人表決器,并下載到PLD實(shí)驗(yàn)板進(jìn)行仿真、運(yùn)行。
三人表決器的主要功能介紹:三個(gè)人分別撥動(dòng)開關(guān)SW1、SW2、SW3來(lái)表達(dá)自己的觀點(diǎn)(如果對(duì)某決議同意,各人就把自己的指撥開關(guān)撥到高電平(上方),不同意就把自己的指撥開關(guān)撥到低電平(下方))。表決結(jié)果用LED(高電平亮)顯示,如果決議通過(guò)那么實(shí)驗(yàn)板上L2(黃燈)亮;如果不通過(guò)那么實(shí)驗(yàn)板上L1(紅燈)亮;如果對(duì)某個(gè)決議有任意二到三人同意,那么此決議通過(guò),L2亮;如果對(duì)某個(gè)決議只有一個(gè)人或沒(méi)人同意,那么此決議不通過(guò),L1亮。功能雖然簡(jiǎn)單,但是大家可以從這個(gè)實(shí)驗(yàn)中學(xué)習(xí)到PLD的設(shè)計(jì)輸入,仿真,下載等一系列完整的過(guò)程。
本次設(shè)計(jì)采用的軟件:Max plusII 10.2 軟件;硬件設(shè)施:PC機(jī)一臺(tái),JX002B型實(shí)驗(yàn)板,電源,下載電纜。
軟硬件均準(zhǔn)備好以后,就可以開始我們的設(shè)計(jì)了。下面是我們的具體實(shí)施過(guò)程:
一.采用原理圖設(shè)計(jì)輸入三人表決器
我們根據(jù)三人表決器的直值表,可以通過(guò)卡諾圖化簡(jiǎn)可以得到:
L2=SW1SW2 SW1SW3 SW2SW3
L1=_L2
那么我們可以在MAX plusII中用原理圖實(shí)現(xiàn)上面的三人表決器
下面僅把和VHDL不同的詳細(xì)寫下,相同或基本相同的就一帶而過(guò):
(1)打開MAX plusII
(2)新建一個(gè)圖形文件:File菜單>new
新建文件時(shí)選擇Graphic Editor file
?
點(diǎn)OK
(3)輸入設(shè)計(jì)文件
我們現(xiàn)在在圖形文件中輸入電路,我們這個(gè)電路需要AND2、OR3、NOT三個(gè)邏輯門電路和輸入輸出端,你可以
Symbol ->Enter Symbol(或者雙擊空白處)
?
彈出窗口:
?
在Symbol Name中輸入and2,點(diǎn)OK
同樣可以加入or3、input、output、not
對(duì)input、output,鼠標(biāo)左鍵雙擊PIN_NAME,那么PIN_NAME被選中,并且變黑,然后輸入你要改的名字,如SW1
?
【關(guān)于“采用原理圖設(shè)計(jì)輸入三人表決器”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(2)-采用原理圖設(shè)計(jì)三人表決器】
二.采用VHDL設(shè)計(jì)輸入三人表決器
打開MAX plusII,在開始菜單內(nèi)選擇MAX PLUS II 項(xiàng),開始運(yùn)行MAX PLUS II(如下圖)
?
你最好把圖標(biāo)放到桌面上,以后直接雙擊MAX PLUS II圖標(biāo)就可以運(yùn)行軟件了
在MAX PLUSII上點(diǎn)右鍵,選擇發(fā)送到->桌面快捷方式(如下圖),那么你桌面上就看到MAX PLUS II了。
?
3.2 新建VHDL文檔
(圖形和verilog-HDL設(shè)計(jì)的過(guò)程見(jiàn)后面的部分)
FILE->NEW
?
【關(guān)于“采用VHDL設(shè)計(jì)輸入三人表決器”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(3)-采用VHDL設(shè)計(jì)輸入三人表決器】
三.采用VerilogHDL輸入三人表決器
下面僅把和VHDL不同的詳細(xì)寫下,相同或基本相同的就一帶而過(guò):
(1)打開MAX plusII
(2)新建
新建一個(gè)verilog-HDL文件(Text Editor File類型)
(3)輸入設(shè)計(jì)文件
其中SW12,SW13,SW23為中間變量
module majority_voter(SW1,SW2,SW3,L1,L2);
output L1,L2;
input SW1,SW2,SW3;
and(SW12,SW1,SW2);
and(SW13,SW1,SW3);
and(SW23,SW2,SW3);
or(L2,SW12,SW13,SW23);
//SW12、SW23、SW13是中間變量
not(L1,L2);
endmodule
(4)保存文件
保存為majority_voter.v,注意Automatic Extension選.v
?
并把文件設(shè)為當(dāng)前工程(同前)
四.波形仿真
此過(guò)程主要是用軟件來(lái)仿真你的設(shè)計(jì),看看結(jié)果是否符合你的設(shè)計(jì)要求
編譯好以后,打開波形編輯器,MAX PLUSII->Waveform Editor
?
載入端口,Node->Enter Nodes from SNF
?
將彈出下面窗口,你按下面步驟操作:
?
點(diǎn)List,將出現(xiàn)端口列表,你默認(rèn)是選擇全部,你也可以通過(guò)左鍵和Ctrl組合來(lái)選擇你想要的信號(hào)。
點(diǎn)=>將你的信號(hào)加入SNF文件中
點(diǎn)OK
為了方便觀察,我們把信號(hào)展開
?
如果需要再次合并可以按住SHIFT鍵,用鼠標(biāo)左鍵選上要合并的信號(hào),再點(diǎn)右鍵->Enter Group
?
【關(guān)于“波形仿真”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(5)-波形仿真】
五.編譯和布線
我們先要指定所用芯片的型號(hào),
菜單:Assign->Device
如下圖
?
將彈出一窗口
(注意把show only fastest speed grades前的鉤去掉,否則看不到EPM7128SLC84-15)
?
在Debice Family 中選擇MAX7000S
DEVICE選擇EPM7128SLC84-15
再指定芯片的管腳(也就是把你設(shè)計(jì)的IO口如L1,L2指定到芯片對(duì)應(yīng)的管腳上如10,9)
Assign->Pin/Location/Chip(也可以在空白處點(diǎn)右鍵,選Assign->Pin/Location/Chip)
?
將彈出下圖窗口:
?
【關(guān)于“編譯和布線”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(6)-編譯和布線】
六.安裝下載電纜的驅(qū)動(dòng)程序
MAX plusII 軟件的驅(qū)動(dòng)設(shè)置
在Win98下運(yùn)行MAX plusII可以自動(dòng)檢測(cè)到ByteBlasterMV(ByteBlaster)下載電纜,但在WIN2000、WINXP下無(wú)法自動(dòng)檢測(cè)到它的存在。如何在WIN2000和WINXP平臺(tái)下安裝使用ByteBlasterMV并口下載電纜呢?
WIN2000
1)在控制面板中選擇“添加/刪除硬件”
?
2)選擇“添加/排除設(shè)備故障”,下一步
?
3)選擇“添加新設(shè)備”,下一步
?
【關(guān)于“安裝下載電纜的驅(qū)動(dòng)程序”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(7)-安裝下載電纜的驅(qū)動(dòng)程序】
七.下載驗(yàn)證
( 注意:本次實(shí)驗(yàn)采用的JX002B實(shí)驗(yàn)板已經(jīng)將下載電纜的電路都做在了實(shí)驗(yàn)板上,所以只需要一根并口延長(zhǎng)線即可,實(shí)際使用中一般都使用標(biāo)準(zhǔn)的下載電纜(ByteblasterMV、ByteblasterII)和并口相連,下載電纜再和PLD芯片相連)
在下載前,還要進(jìn)行以下步驟:
A:將JX002B實(shí)驗(yàn)板的電源開關(guān)撥到OFF(上方)
?
B:將并口下載電纜母端插到JX002B實(shí)驗(yàn)的25針下載口上,并口電纜公端插到電腦的打印口上,參考下面四張圖(不可能插錯(cuò),否則插不上)
并口電纜母端
?
并口電纜公端
?
JX002B實(shí)驗(yàn)的25針下載口
?
【關(guān)于“下載驗(yàn)證”詳細(xì)部分請(qǐng)參考:PLD設(shè)計(jì)速成(8)-下載驗(yàn)證】
??????? 關(guān)于三人表決器的整個(gè)設(shè)計(jì)、仿真及運(yùn)行過(guò)程就到此結(jié)束了。想要了解更多的話,繼續(xù)關(guān)注我們電子發(fā)燒友網(wǎng),更多精彩內(nèi)容等著你!
評(píng)論
查看更多