国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于verilog的序列檢測器設計

2015-05-30 10:48周小仨
軟件工程 2015年3期
關鍵詞:狀態(tài)

摘 要:隨著科技的飛速發(fā)展,傳統(tǒng)的電子技術逐漸被現(xiàn)代電子技術取代,以FPGA/CPLD為硬件,以verilog語言為軟件的EDA技術應用越來越廣泛,本文旨在以一個具體的序列檢測器的設計為例,將以硬件描述語言來設計芯片的流程呈現(xiàn)給大家。

關鍵詞:verilog;序列檢測器;狀態(tài);EDA

中圖分類號:TP273 文獻標識碼:A

1 引言(Introduction)

在數(shù)字信號的傳輸和數(shù)字系統(tǒng)產(chǎn)品的設計和測試過程中,往往需要用到一組特定的串行數(shù)字信號,我們把產(chǎn)生序列信號的模塊電路稱作序列信號發(fā)生器,如要求產(chǎn)生一串序列“10001110”為例來給大家展示EDA設計有限狀態(tài)機的過程[1]。本電路由計數(shù)器與數(shù)據(jù)選擇器兩部分構(gòu)成,結(jié)構(gòu)框圖如圖1所示,該鎖存輸出的功能是為了消除電路產(chǎn)生的毛刺。

圖1 結(jié)構(gòu)框圖

Fig.1 Structure diagram

2 序列檢測器的基本工作過程(The basic working

process serial detector)

有限狀態(tài)機一般用來檢測一組或多組由二進制碼組成的脈沖序列信號,廣泛應用于在數(shù)字系統(tǒng)中。當該特定序列檢測器連續(xù)接收到一組二進制碼,如果這組二進制碼與檢測器中預先設置的碼能匹配成功,就輸出1,否則輸出0。因為該檢測的關鍵在必須連續(xù)接受正確碼,中間只要出錯以為,就必須重新進行檢測,所以要求該檢測器記住前一次的正確碼及正確序列,直到在連續(xù)的檢測中所有的串行二進制碼都能連續(xù)匹配成功。檢測二進制碼中,只要有任何一位沒匹配成功都回到初始狀態(tài)重新開始匹配[2]。方框圖如圖2所示。

圖2 狀態(tài)流程圖

Fig.2 State flow diagram

3 狀態(tài)機的基本設計思想(The basic design idea of

state machine)

在數(shù)字系統(tǒng)中,當狀態(tài)連續(xù)變化,我們可以采用狀態(tài)機的設計思想來提高設計效率,還可以增加程序的可讀性,從而降低錯誤的概率。而有限狀態(tài)機的設計思路也是數(shù)字系統(tǒng)中一種常用的設計方法之一。通常情況,有限的標準狀態(tài)機分為以下兩種,摩爾機和米立機。兩者不同在于,摩爾機中,它輸出只是當前狀態(tài)值的函數(shù),而且只在時鐘上跳沿時發(fā)生作用。而米立機的輸出是當前輸入值、當前輸出值、當前狀態(tài)值三者共同的函數(shù)。本例從一串二進制數(shù)碼中檢測出一個已預置的8位二進制碼“10001110”,每當增加一位二進制碼相當于增加一個狀態(tài),連同初始態(tài),總共需要用9個狀態(tài)來實現(xiàn)[3]。狀態(tài)轉(zhuǎn)換過程如圖3所示。

圖3 狀態(tài)轉(zhuǎn)換圖

Fig.3 State transition diagram

注意:此圖僅作為參考,檢測不同的二進制碼其過程不同!

4 設計過程(Design process)

4.1 硬件設備連接

(1)將EDA適配板JTAG接口用十芯排線和萬用下載區(qū)的SOPC JTAG口連接起來,萬用下載區(qū)的電源開關選擇到SOPC下載的一邊。

(2)將開發(fā)板上按要求設置好相關跳線。

(3)對EDA開發(fā)板供電。

4.2 軟件實現(xiàn)

(1)打開Quartus II軟件,由于在計算機軟硬件領域,一般的設計都是一項工程(Project),因此需要為工程建立一個放置此工程相關文件的文件夾,該文件夾作為EDA工程的工作目錄。創(chuàng)建一個工程,命名并保存到上述文件夾中。

(2)新建一個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)將設計文件加入工程。

(4)選擇目標芯片。

(5)選擇配置器件的工作方式。

(6)選擇配置器件和編程方式。

(7)選擇輸出設置。

(8)選擇目標芯片的閑置引腳的狀態(tài)。

(9)編譯。

(10)仿真。

(11)應用RTL電路圖觀察器。

(12)引腳鎖定。

引腳分配如下:管腳標號led0到led7分別接到LED流水燈的8位輸入端上,key1和key2接按鍵的輸入口,buzzer接led燈。100腳接rst使系統(tǒ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)過以上軟硬件設計,基本達到設計目標,能夠?qū)崿F(xiàn)檢測“110”序列,當檢測到該序列后點亮EDA開發(fā)板上對應的LED燈。需要注意的是,時鐘頻率不要選擇太高,可以選擇幾百赫茲的頻率。

參考文獻(References)

[1] 韓芝俠.基于EDA技術的復雜數(shù)字電路設計[J].寶雞文理學院學報(自然科學版),2013(01):35-38.

[2] 周小仨.EDA技術在數(shù)字電子技術實驗中的應用[J].電子制作,2014(15):27-28.

[3] 李洪奇.可編程序列脈沖檢測器的設計[J].聊城大學學報(自然科學版),2003(02):72-74.

作者簡介:

周小仨(1980-),男,碩士,講師.研究領域:嵌入式,EDA,單片機技術開發(fā).

猜你喜歡
狀態(tài)
一種基于ResNet的車鉤狀態(tài)識別方法及其應用
極端的狀態(tài)
化學平衡狀態(tài)的判斷
狀態(tài)聯(lián)想
“0”心態(tài),“1”狀態(tài)
生命的另一種狀態(tài)
三七總皂苷膠束狀態(tài)與超濾分離的相關性
極度生存狀態(tài)下的人道主義
熱圖
堅持是成功前的狀態(tài)