本文摘要:摘 要:隨著科技的飛速發(fā)展,傳統(tǒng)的電子技術(shù)逐漸被現(xiàn)代電子技術(shù)取代,以FPGA/CPLD為硬件,以verilog語(yǔ)言為軟件的EDA技術(shù)應(yīng)用越來(lái)越廣泛,本文旨在以一個(gè)具體的序列檢測(cè)器的設(shè)計(jì)為例,將以硬件描述語(yǔ)言來(lái)設(shè)計(jì)芯片的流程呈現(xiàn)給大家。 關(guān)鍵詞:verilog;序列檢測(cè)
摘 要:隨著科技的飛速發(fā)展,傳統(tǒng)的電子技術(shù)逐漸被現(xiàn)代電子技術(shù)取代,以FPGA/CPLD為硬件,以verilog語(yǔ)言為軟件的EDA技術(shù)應(yīng)用越來(lái)越廣泛,本文旨在以一個(gè)具體的序列檢測(cè)器的設(shè)計(jì)為例,將以硬件描述語(yǔ)言來(lái)設(shè)計(jì)芯片的流程呈現(xiàn)給大家。
關(guān)鍵詞:verilog;序列檢測(cè)器;狀態(tài);EDA
1 引言(Introduction)
在數(shù)字信號(hào)的傳輸和數(shù)字系統(tǒng)產(chǎn)品的設(shè)計(jì)和測(cè)試過(guò)程中,往往需要用到一組特定的串行數(shù)字信號(hào),我們把產(chǎn)生序列信號(hào)的模塊電路稱作序列信號(hào)發(fā)生器,如要求產(chǎn)生一串序列“10001110”為例來(lái)給大家展示EDA設(shè)計(jì)有限狀態(tài)機(jī)的過(guò)程[1]。本電路由計(jì)數(shù)器與數(shù)據(jù)選擇器兩部分構(gòu)成,結(jié)構(gòu)框圖如圖1所示,該鎖存輸出的功能是為了消除電路產(chǎn)生的毛刺。
圖1 結(jié)構(gòu)框圖
Fig.1 Structure diagram
2 序列檢測(cè)器的基本工作過(guò)程(The basic working
process serial detector)
有限狀態(tài)機(jī)一般用來(lái)檢測(cè)一組或多組由二進(jìn)制碼組成的脈沖序列信號(hào),廣泛應(yīng)用于在數(shù)字系統(tǒng)中。當(dāng)該特定序列檢測(cè)器連續(xù)接收到一組二進(jìn)制碼,如果這組二進(jìn)制碼與檢測(cè)器中預(yù)先設(shè)置的碼能匹配成功,就輸出1,否則輸出0。因?yàn)樵摍z測(cè)的關(guān)鍵在必須連續(xù)接受正確碼,中間只要出錯(cuò)以為,就必須重新進(jìn)行檢測(cè),所以要求該檢測(cè)器記住前一次的正確碼及正確序列,直到在連續(xù)的檢測(cè)中所有的串行二進(jìn)制碼都能連續(xù)匹配成功。檢測(cè)二進(jìn)制碼中,只要有任何一位沒匹配成功都回到初始狀態(tài)重新開始匹配[2]。方框圖如圖2所示。
圖2 狀態(tài)流程圖
Fig.2 State flow diagram
3 狀態(tài)機(jī)的基本設(shè)計(jì)思想(The basic design idea of
state machine)
在數(shù)字系統(tǒng)中,當(dāng)狀態(tài)連續(xù)變化,我們可以采用狀態(tài)機(jī)的設(shè)計(jì)思想來(lái)提高設(shè)計(jì)效率,還可以增加程序的可讀性,從而降低錯(cuò)誤的概率。而有限狀態(tài)機(jī)的設(shè)計(jì)思路也是數(shù)字系統(tǒng)中一種常用的設(shè)計(jì)方法之一。通常情況,有限的標(biāo)準(zhǔn)狀態(tài)機(jī)分為以下兩種,摩爾機(jī)和米立機(jī)。兩者不同在于,摩爾機(jī)中,它輸出只是當(dāng)前狀態(tài)值的函數(shù),而且只在時(shí)鐘上跳沿時(shí)發(fā)生作用。而米立機(jī)的輸出是當(dāng)前輸入值、當(dāng)前輸出值、當(dāng)前狀態(tài)值三者共同的函數(shù)。本例從一串二進(jìn)制數(shù)碼中檢測(cè)出一個(gè)已預(yù)置的8位二進(jìn)制碼“10001110”,每當(dāng)增加一位二進(jìn)制碼相當(dāng)于增加一個(gè)狀態(tài),連同初始態(tài),總共需要用9個(gè)狀態(tài)來(lái)實(shí)現(xiàn)[3]。狀態(tài)轉(zhuǎn)換過(guò)程如圖3所示。
圖3 狀態(tài)轉(zhuǎn)換圖
Fig.3 State transition diagram
注意:此圖僅作為參考,檢測(cè)不同的二進(jìn)制碼其過(guò)程不同!
4 設(shè)計(jì)過(guò)程(Design process)
4.1 硬件設(shè)備連接
(1)將EDA適配板JTAG接口用十芯排線和萬(wàn)用下載區(qū)的SOPC JTAG口連接起來(lái),萬(wàn)用下載區(qū)的電源開關(guān)選擇到SOPC下載的一邊。
(2)將開發(fā)板上按要求設(shè)置好相關(guān)跳線。
(3)對(duì)EDA開發(fā)板供電。
4.2 軟件實(shí)現(xiàn)
(1)打開Quartus II軟件,由于在計(jì)算機(jī)軟硬件領(lǐng)域,一般的設(shè)計(jì)都是一項(xiàng)工程(Project),因此需要為工程建立一個(gè)放置此工程相關(guān)文件的文件夾,該文件夾作為EDA工程的工作目錄。創(chuàng)建一個(gè)工程,命名并保存到上述文件夾中。
(2)新建一個(gè)verilog代碼文件,主要模塊代碼如下:
always @ (posedge clk4 or posedge rst)
if (rst) begin key1_dff1<=1'b0;key1_dff2<= 1'b0;
key2_dff1<=1'b0; key2_dff2<=1'b0;end else begin
key1_dff1<=key1; key1_dff2<=key1_dff1;
key2_dff1<=key2; key2_dff2<=key2_dff1;end
assign value_0=key1_dff1 & !key1_dff2;//serial value is 0;
assign value_1=key2_dff1 & !key2_dff2;//serial value is 1;
(3)將設(shè)計(jì)文件加入工程。
(4)選擇目標(biāo)芯片。
(5)選擇配置器件的工作方式。
(6)選擇配置器件和編程方式。
(7)選擇輸出設(shè)置。
(8)選擇目標(biāo)芯片的閑置引腳的狀態(tài)。
(9)編譯。
(10)仿真。
(11)應(yīng)用RTL電路圖觀察器。
(12)引腳鎖定。
引腳分配如下:管腳標(biāo)號(hào)led0到led7分別接到LED流水燈的8位輸入端上,key1和key2接按鍵的輸入口,buzzer接led燈。100腳接rst使系統(tǒng)復(fù)位。管腳標(biāo)號(hào)對(duì)應(yīng)的I/O如下所示:
User Assignments Node Name
set_location_assignment PIN_79 -to led[0] set_location_assignment PIN_82 -to led[1]set_location_assignment PIN_83 -to led[2]
set_location_assignment PIN_84 -to led[3] set_location_assignment PIN_85 -to led[4] set_location_assignment PIN_91 -to led[5]
set_location_assignment PIN_94 -to led[6] set_location_assignment PIN_96 -to led[7] set_location_assignment PIN_100 -to rst
set_location_assignment PIN_99 -to key1 set_location_assignment PIN_98 -to key2 set_location_assignment PIN_41 -to clk4
set_location_assignment PIN_97 -to buzzer
5 結(jié)論(Conclusion)
經(jīng)過(guò)以上軟硬件設(shè)計(jì),基本達(dá)到設(shè)計(jì)目標(biāo),能夠?qū)崿F(xiàn)檢測(cè)“110”序列,當(dāng)檢測(cè)到該序列后點(diǎn)亮EDA開發(fā)板上對(duì)應(yīng)的LED燈。需要注意的是,時(shí)鐘頻率不要選擇太高,可以選擇幾百赫茲的頻率。
參考文獻(xiàn)(References)
[1] 韓芝俠.基于EDA技術(shù)的復(fù)雜數(shù)字電路設(shè)計(jì)[J].寶雞文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(01):35-38.
[2] 周小仨.EDA技術(shù)在數(shù)字電子技術(shù)實(shí)驗(yàn)中的應(yīng)用[J].電子制作,2014(15):27-28.
[3] 李洪奇.可編程序列脈沖檢測(cè)器的設(shè)計(jì)[J].聊城大學(xué)學(xué)報(bào)(自然科學(xué)版),2003(02):72-74.
小編推薦優(yōu)秀電子期刊 電力技術(shù)如何投稿
《電力技術(shù)》是由國(guó)家電力監(jiān)管委員會(huì)主管,中國(guó)電力企業(yè)聯(lián)合會(huì)科技開發(fā)服務(wù)中心主辦,國(guó)內(nèi)外公開發(fā)行的綜合性專業(yè)刊物,也是中國(guó)電力企業(yè)聯(lián)合會(huì)技術(shù)會(huì)刊。本刊曾用名為《電力標(biāo)準(zhǔn)化與計(jì)量》、《電力標(biāo)準(zhǔn)化與技術(shù)經(jīng)濟(jì)》,先后由水利電力部、能源部、電力部、國(guó)家電力公司、中國(guó)電力企業(yè)聯(lián)合會(huì)主管并主辦,長(zhǎng)期行使機(jī)關(guān)技術(shù)刊物、行業(yè)刊物的職能。
轉(zhuǎn)載請(qǐng)注明來(lái)自發(fā)表學(xué)術(shù)論文網(wǎng):http:///dzlw/3285.html