8位序列檢測(cè)器的設(shè)計(jì)_第1頁(yè)
8位序列檢測(cè)器的設(shè)計(jì)_第2頁(yè)
8位序列檢測(cè)器的設(shè)計(jì)_第3頁(yè)
8位序列檢測(cè)器的設(shè)計(jì)_第4頁(yè)
8位序列檢測(cè)器的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選文檔八位序列檢測(cè)器設(shè)計(jì) 摘 要:序列檢測(cè)器多用于通信系統(tǒng)中對(duì)禁用碼的檢測(cè),或者是對(duì)所需信號(hào)的提取,即一旦檢測(cè)到所需信號(hào)就輸出高電平,這在數(shù)字通信領(lǐng)域有廣泛的應(yīng)運(yùn)。本文介紹了一種采用單片PGA 芯片進(jìn)行脈沖序列檢測(cè)器的設(shè)計(jì)方法,主要闡述如何使用新興的 EDA 器件取代傳統(tǒng)的電子設(shè)計(jì)方法,利用 FPGA 的可編程性,簡(jiǎn)潔而又多變的設(shè)計(jì)方法,縮短了研發(fā)周期,同時(shí)使設(shè)計(jì)的電路體積更小功能更強(qiáng)大。 本次課程設(shè)計(jì)設(shè)計(jì)出能夠檢測(cè)序列 “11010011”的序列檢測(cè)器,并以此來描述序列檢測(cè)器的設(shè)計(jì)過程和基于 FPGA 的軟件仿真。最后通過QuartusII 的波形輸出對(duì)設(shè)計(jì)方案進(jìn)行檢測(cè),在硬件調(diào)試經(jīng)檢測(cè)輸

2、出正確設(shè)計(jì)符合要求。 關(guān)鍵詞: VHDL 序列檢測(cè) Quartus FPGA Abstract:Sequence detector system used for communication on the detection code disabled, or is the extraction of the desired signal, that is, once detected, the required high output signal, which in the broad field of digital communications to be transported. T

3、his paper presents a single FPGA chip with the detector pulse sequence design method, mainly on how to us e new device to replace the traditional EDA electronic design, the use of FPGA's programmability, concise and changing the design method shortens the development cycle, while allowing smalle

4、r circuit design and more powerful. The curriculum is designed to detect sequence "11010011" sequence detectors, and detector in order to describe the sequence of the design process and FPGA- based software simulation. Finally, the output of the waveform QuartusII design testing, debugging

5、 the hardware design has been tested and meet the requirements of the correct output. Keywords: VHDL Sequence detection Quartus FPGA 目 錄1前言11.1 課題設(shè)計(jì)背景12. 總體方案設(shè)計(jì)22.1 方案比較22.2 兩種方案的論證與比較33. 單元模塊設(shè)計(jì)43.1 序列信號(hào)發(fā)生器43.2序列檢測(cè)器63.3計(jì)數(shù)器73.4 頂層文件設(shè)計(jì)84 系統(tǒng)調(diào)試與驗(yàn)證94.1待測(cè)序列的輸入94.2 時(shí)序仿真114.3結(jié)果分析125 總結(jié)與體會(huì)136 辭謝147 參考文獻(xiàn)151前言

6、1.1 課題設(shè)計(jì)背景 隨著數(shù)字通信的廣泛應(yīng)用,可編程邏輯器件容量、功能的不斷擴(kuò)大,集成電路的設(shè)計(jì)已經(jīng)進(jìn)入片上系統(tǒng)(SOC)和專用集成電路(ASIC)的時(shí)代。由于硬件描述語言VHDL可讀性、可移植性、支持對(duì)大規(guī)模設(shè)計(jì)的分解和對(duì)已有設(shè)計(jì)的再利用等強(qiáng)大功能,迅速出現(xiàn)在各種電子設(shè)計(jì)自動(dòng)化(EDA)系統(tǒng)中,先進(jìn)的開發(fā)工具使整個(gè)系統(tǒng)設(shè)計(jì)調(diào)試周期大大地縮短。利用硬件描述語言(如VHDL)來完成對(duì)系統(tǒng)硬件功能的描述,在EDA工具的幫助下通過波形仿真得到時(shí)序波形,這樣就使得對(duì)硬件的設(shè)計(jì)和修改過程軟件化,提高了大規(guī)模系統(tǒng)設(shè)計(jì)的自動(dòng)化程度。傳統(tǒng)的脈沖序列檢測(cè)器,它的實(shí)現(xiàn)方法是把一個(gè)算法轉(zhuǎn)化為一個(gè)實(shí)際數(shù)字邏輯電路的過

7、程。在這個(gè)過程中,我們所得到的結(jié)果大概一致,但是在具體設(shè)計(jì)方法和性價(jià)比上存在著一定的差異,存在電路設(shè)計(jì)復(fù)雜,體積大,抗干擾能力差以及設(shè)計(jì)困難、設(shè)計(jì)周期長(zhǎng)等缺點(diǎn)。而利用FPGA作為硬件電路,采用VHDL等硬件描述語言對(duì)硬件的功能進(jìn)行編程,加快了系統(tǒng)的研發(fā)進(jìn)程,采用數(shù)字化的控制方式,大幅度提高了邏輯控制的精確度,實(shí)時(shí)控制效果好,實(shí)踐證明,F(xiàn)PGA芯片可以代替?zhèn)鹘y(tǒng)的復(fù)雜的電路,而且可以大比例地縮小了電路的硬件規(guī)模,提高了集成度,降低開發(fā)成本,提高系統(tǒng)的可靠性,為脈沖序列檢測(cè)器電路的設(shè)計(jì)開辟了新的天地。脈沖序列檢測(cè)器在現(xiàn)代數(shù)字通信系統(tǒng)中發(fā)揮著重要的作用,通過中小規(guī)模的數(shù)字集成電路構(gòu)成的傳統(tǒng)脈沖序列檢測(cè)

8、器電路往往存在電路設(shè)計(jì)復(fù)雜體積大、抗干擾能力差以及設(shè)計(jì)困難、設(shè)計(jì)周期長(zhǎng)等缺點(diǎn)。因此脈沖序列檢測(cè)器電路的模塊化、集成化已成為發(fā)展趨勢(shì),它不僅可以使系統(tǒng)體積減小、重量減輕且功耗降低、同時(shí)可使系統(tǒng)的可靠性大大提高。隨著電子技術(shù)的發(fā)展,特別是專用集成電路(ASIC)設(shè)計(jì)技術(shù)的日趨完善,數(shù)字化的電子自動(dòng)化設(shè)計(jì)(EDA)工具給電子設(shè)計(jì)帶來了巨大變革,尤其是硬件描述語言的出現(xiàn),解決了傳統(tǒng)電路原理圖設(shè)計(jì)系統(tǒng)工程的諸多不便。隨著ASIC技術(shù)、EDA技術(shù)的不斷完善和發(fā)展以及VHDL、HDL等通用性好、移植性強(qiáng)的硬件描述語言的普及,F(xiàn)PGA等可編程邏輯器件必將在現(xiàn)代數(shù)字應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用,發(fā)揮越來越重要的作用

9、。 2. 總體方案設(shè)計(jì)通過查閱大量相關(guān)技術(shù)資料,并結(jié)合自己的實(shí)際知識(shí),我們主要提出了兩種技術(shù)方案來實(shí)現(xiàn)系統(tǒng)功能。下面我將首先對(duì)這兩種方案的組成框圖和實(shí)現(xiàn)原理分別進(jìn)行說明,并分析比較它們的優(yōu)劣。2.1 方案比較2.1.1方案一工作原理:基于FPGA的多路脈沖序列檢測(cè)器的設(shè)計(jì)方案,使用VHDL語言設(shè)計(jì)時(shí)序邏輯電路,先設(shè)計(jì)序列發(fā)生器產(chǎn)生序列:1011010001101010;再設(shè)計(jì)序列檢測(cè)器,檢測(cè)序列發(fā)生器產(chǎn)生序列,若檢測(cè)到信號(hào)與預(yù)置待測(cè)信號(hào)相同,則輸出“1”,否則輸出“0”,并且將檢測(cè)到的信號(hào)的顯示出來。系統(tǒng)框圖如圖所示:圖2.12.1.2方案二 工作原理:使用proteus軟件進(jìn)行仿真,先畫出原

10、始狀態(tài)圖和狀態(tài)表,在根據(jù)狀態(tài)圖使用D觸發(fā)器,與門,或門以及非門等元件畫出時(shí)序邏輯圖,再根據(jù)結(jié)果譯碼,最后使用LED燈顯示結(jié)果。系統(tǒng)框圖如圖所示:圖2.22.2 兩種方案的論證與比較 第一種方案使用quartus軟件進(jìn)行仿真和驗(yàn)證,直接輸入源代碼比較簡(jiǎn)單方便,并且還可以檢測(cè)其他的序列,只需要修改一部分代碼就可以實(shí)現(xiàn)。 方案二使用proetus軟件進(jìn)行仿真和驗(yàn)證,需要先進(jìn)行復(fù)雜的狀態(tài)圖分析,如果需要檢測(cè)的序列過長(zhǎng)就會(huì)造成原理圖連接過于復(fù)雜,不易實(shí)現(xiàn)。而且一旦原理圖連接好久只能檢測(cè)一種序列,如果要檢測(cè)其他序列就要重新連圖。 通過比較發(fā)現(xiàn)第一種方案明顯優(yōu)于第二種方案,因此選擇第一種方案。 3. 單元模

11、塊設(shè)計(jì)主要介紹系統(tǒng)各單元模塊的具體功能、電路結(jié)構(gòu)、工作原理、以及各個(gè)單元模塊之間的聯(lián)接關(guān)系;同時(shí)本節(jié)也會(huì)對(duì)相關(guān)電路中的參數(shù)計(jì)算、元器件選擇、以及核心器件進(jìn)行必要說明。3.1 序列信號(hào)發(fā)生器序列信號(hào)是指在同步脈沖作用下循環(huán)地產(chǎn)生一串周期性的二進(jìn)制信號(hào)。利用狀態(tài)機(jī)設(shè)計(jì),首先定義一個(gè)數(shù)據(jù)類型FSM_ST它的取值為st0到st15的16個(gè)狀態(tài)。REGs0s1s2s3s4s5s6s7Q10110100REGs8s9s10s11s12s13s14s15Q01101010表3.1序列信號(hào)發(fā)生器的代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHK

12、IS PORT (CLK,RST :IN STD_LOGIC; CO :OUT STD_LOGIC );END SHK;ARCHITECTURE behav OF SHK ISTYPE FSM_ST IS (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);SIGNAL REG:FSM_ST;SIGNAL Q:STD_LOGIC; BEGINPROCESS(CLK,RST)BEGINIF RST ='1' THEN REG<=s0;Q<='0' ELSIF CLK'EVENT AND

13、 CLK='1' THENCASE REG IS WHEN s0=> Q<='1' REG<=s1; WHEN s1=> Q<='0'REG<=s2;WHEN s2=> Q<='1'REG<=s3; WHEN s3=> Q<='1'REG<=s4;WHEN s4=> Q<='0'REG<=s5; WHEN s5=> Q<='1'REG<=s6;WHEN s6=> Q<

14、;='0'REG<=s7; WHEN s7=> Q<='0'REG<=s8;WHEN s8=> Q<='0'REG<=s9; WHEN s9=> Q<='1'REG<=s10;WHEN s10=> Q<='1'REG<=s11; WHEN s11=> Q<='0'REG<=s12; WHEN s12=> Q<='1'REG<=s13; WHEN s13=> Q<

15、;='0'REG<=s14;WHEN s14=> Q<='1'REG<=s15; WHEN s15=> Q<='0'REG<=s0;WHEN OTHERS=>REG<=s0;Q<='0' END CASE; END IF; END PROCESS; CO<=Q; END behav;轉(zhuǎn)化成可調(diào)用的元件: 圖3.1波形仿真如下:圖3.23.2序列檢測(cè)器脈沖序列檢測(cè)起可用于檢測(cè)一組或多組二進(jìn)制碼組成的脈沖序列信號(hào),當(dāng)序列檢測(cè)器連續(xù)接收到一組穿行二進(jìn)制碼后,如果這組碼與檢

16、測(cè)器中預(yù)先設(shè)置的碼相同,則輸出1,否則輸出0。由于這種檢測(cè)的關(guān)鍵在于正確碼的收到必須是連續(xù)的,這就要求檢測(cè)器必須記住前一次的正確碼及正確的序列,直到連續(xù)的檢測(cè)中所收到的每一位碼都與預(yù)置數(shù)的對(duì)應(yīng)碼相同。在檢測(cè)過程中,任何一位不相等將回到初始狀態(tài)重新開始檢測(cè)。序列檢測(cè)器的代碼如下:library ieee;use ieee.std_logic_1164.all;entity SCHK1 isport(datain,clk:in std_logic;t: in std_logic_vector (4 downto 0);q:out std_logic;cq: out std_logic_vector

17、 (4 downto 0);end SCHK1;architecture rt1 of SCHK1 issignal reg:std_logic_vector(4 downto 0);beginprocess(clk)variable t1:std_logic_vector (4 downto 0);beginif clk'event and clk='1' thenreg(0)<=datain;reg(4 downto 1)<=reg(3 downto 0) ;end if;t1:=t; if reg=t1 then q<='1' ;

18、 else q<='0' cq<=reg; end if; end process;end rt1;轉(zhuǎn)化成可調(diào)用的元件:圖3.3波形仿真如下:圖3.43.3計(jì)數(shù)器利用序列檢測(cè)器產(chǎn)生的信號(hào)(1和0)作為計(jì)數(shù)器模塊的時(shí)鐘信號(hào),產(chǎn)生的信號(hào)0、1變化,形成類似的CLK信號(hào),實(shí)現(xiàn)計(jì)數(shù)器計(jì)數(shù)。計(jì)數(shù)器的代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT IS PORT (CLK, EN,RST :IN STD_LOGIC; Q1:OUT STD_LOG

19、IC_VECTOR(3 DOWNTO 0);Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT: OUT STD_LOGIC );END ENTITY COUNT;ARCHITECTURE ONE OF COUNT IS BEGINPROCESS(CLK,EN,RST) VARIABLE CQI:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF RST='1' THEN CQI:= (OTHERS=>'0'); ELSIF CLK'EVENT AND CLK='1' THE

20、N IF EN='1' THEN IF CQI<153 THEN IF CQI(3 DOWNTO 0)=9 THEN CQI:=CQI +7; -高位進(jìn)位 ELSE CQI := CQI+1; END IF; ELSE CQI:= (OTHERS=>'0'); END IF; END IF; END IF; IF CQI=153 THEN COUT<='1' ELSE COUT<='0' END IF; Q1<=CQI(3 DOWNTO 0); Q2<=CQI(7 DOWNTO 4); END

21、PROCESS COUNT; END ARCHITECTURE ONE; 轉(zhuǎn)化成可調(diào)用的元件:圖3.5波形仿真如下:圖3.63.4 頂層文件設(shè)計(jì)通過前面的準(zhǔn)備,我們已經(jīng)得到了全部所需要的3個(gè)模塊,即序列信號(hào)發(fā)生器、序列檢測(cè)器、計(jì)數(shù)器。在此,我們運(yùn)用原理圖法來生成頂層實(shí)體。具體的實(shí)現(xiàn)方法是,將上述3個(gè)模塊,通過我們的設(shè)計(jì)軟件,生成可以移植,調(diào)用的原理圖文件,在將其在頂層設(shè)計(jì)中直接調(diào)用即可。本次設(shè)計(jì)生成的頂層實(shí)體如下圖所示:圖3.7 4 系統(tǒng)調(diào)試與驗(yàn)證4.1待測(cè)序列的輸入輸入檢測(cè)的8位序列“11001011”程序如下:library ieee;use ieee.std_logic_1164.all

22、;entity SCHK1 isport(din,clk,clr : in std_logic; pre_load : in std_logic_vector(7 downto 0); ab: out std_logic_vector(3 downto 0);end SCHK1;architecture behav of SCHK1 issignal q : integer range 0 to 8;signal d : std_logic_vector(7 downto 0);beginD<=pre_load;-置入待檢測(cè)序列process (clk, clr)beginif clr=

23、'1' then q <= 0;elsif clk'event and clk='1' then case q iswhen 0=> if din=d(7) then q<=1;else q<=0;end if;when 1=> if din=d(6) then q<=2;else q<=0;end if;when 2=> if din=d(5) then q<=3;else q<=0;end if;when 3=> if din=d(4) then q<=4;else q<=

24、0;end if;when 4=> if din=d(3) then q<=5;else q<=0;end if;when 5=> if din=d(2) then q<=6;else q<=0;end if;when 6=> if din=d(1) then q<=7;else q<=0;end if;when 7=> if din=d(0) then q<=8;else q<=0;end if;when others => q<=0;end case; end if; end process;process

25、(q)beginif q=8 then ab<=1;else ab<=0;end if;end process;end behav;轉(zhuǎn)化成可調(diào)用的元件: 圖4.14.2 時(shí)序仿真置入待檢測(cè)序列:圖4.2仿真結(jié)果:圖4.34.3結(jié)果分析:1. 根據(jù)序列檢測(cè)器的輸出端q可以看出,當(dāng)檢測(cè)器檢測(cè)到串行信號(hào)與預(yù)置的序列信號(hào)相同時(shí),q則輸出“A”,沒有檢測(cè)到,q則輸出“B”;2. 根據(jù)計(jì)數(shù)器的輸出端Q1可以看出,Q1將序列檢測(cè)器檢測(cè)到的序列信號(hào)的數(shù)目顯示出來。3.通過仿真結(jié)果還可以看到,輸出的波形出現(xiàn)了一些毛刺,這是因?yàn)樾盘?hào)在FPGA器件中通過邏輯單元連線時(shí),一定存在延時(shí)。延時(shí)的大小不僅和連線

26、的長(zhǎng)短和邏輯單元的數(shù)目有關(guān),而且也和器件的制造工藝、工作環(huán)境等有關(guān)。因此,信號(hào)在器件中傳輸?shù)臅r(shí)候,所需要的時(shí)間是不能精確估計(jì)的,當(dāng)多路信號(hào)同時(shí)發(fā)生跳變的瞬間,就產(chǎn)生了“競(jìng)爭(zhēng)冒險(xiǎn)”。這時(shí),往往會(huì)出現(xiàn)一些不正確的尖峰信號(hào),這些尖峰信號(hào)就是“毛刺”。5 總結(jié)與體會(huì)經(jīng)過這次課程設(shè)計(jì)的學(xué)習(xí),我確實(shí)學(xué)習(xí)了很多知識(shí),真正的感受到了理論聯(lián)系實(shí)際的重要性,以及這之間莫大區(qū)別,到最后看著自己的結(jié)果心里還是感到很欣慰的。具體做了以下幾項(xiàng)工作:1.查找相關(guān)資料,了解EDA技術(shù)的發(fā)展及優(yōu)點(diǎn),同時(shí)詳細(xì)分析了利用可編程邏輯器件來設(shè)計(jì)脈沖序列檢測(cè)器的優(yōu)勢(shì)。2. 簡(jiǎn)要分析了FPJA器件的特征和結(jié)構(gòu),詳細(xì)介紹了FPGA設(shè)計(jì)流程,同時(shí)詳細(xì)介紹了硬件描述語言VHDL及其特點(diǎn)。3. 對(duì)序列檢測(cè)器原理進(jìn)行了詳細(xì)的了解,并詳細(xì)介紹了序列信號(hào)發(fā)生器、序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論