版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì)</p><p><b> 資 料 袋</b></p><p> 學(xué)生姓名 專業(yè)班級 學(xué)號 </p><p> 題 目 EDA數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐
2、 </p><p> 成 績 起止日期 2013 年 11 月 18 日~ 2013 年 11 月 29 日</p><p> 目 錄 清 單</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p>
3、 2013 —2014 學(xué)年度 第 1 學(xué)期</p><p> 電氣與信息工程 學(xué)院(系、部) 專業(yè) 班</p><p> 課程名稱: 數(shù)字系統(tǒng)設(shè)計(jì) </p><p> 設(shè)計(jì)題目: EDA數(shù)
4、字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐 </p><p> 完成期限: 2013 年 11 月 18 日~ 2013 年 11 月 29 日 共 2 周</p><p> 附件一:各設(shè)計(jì)子課題的具體設(shè)計(jì)要求</p><p> 1.綜合計(jì)時系統(tǒng)的設(shè)計(jì):</p><p>
5、; 設(shè)計(jì)一個綜合性的計(jì)時系統(tǒng),要求能實(shí)現(xiàn)年、月、日、時、分、秒及星期的計(jì)數(shù)等綜合計(jì)時功能,同時將計(jì)時結(jié)果通過15個七段數(shù)碼管實(shí)現(xiàn)顯示,并且可通過兩個設(shè)置鍵,在計(jì)時過程中,對計(jì)時系統(tǒng)的有關(guān)參數(shù)進(jìn)行調(diào)整。具體系統(tǒng)功能面板如圖1所示。</p><p> 圖1 系統(tǒng)功能面板</p><p> 2.SOBEL圖像邊緣檢測器的設(shè)計(jì) </p><p> 邊緣可定義為圖像
6、中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識別前必不可少的環(huán)節(jié),是一種重要的圖像預(yù)處理技術(shù)。邊緣檢測主要就是(圖像的)灰度變化的度量、檢測和定位,它是圖像分析和模式識別的主要特征提取手段,它在計(jì)算機(jī)視覺、圖像分析等應(yīng)用中起著重要的作用,是圖像分析與處理中研究的熱點(diǎn)問題。在過去的20年里產(chǎn)生了許多邊緣檢測器,如Rorberts算子,Sobel算子,Prewitt算子,Laplacian算子等。由于Sobel算法只涉及加
7、法操作,但卻可以得到很好的劃分效果,因而是圖像處理系統(tǒng)中最常用的邊緣檢測算法。</p><p> Sobel算法包括帶4個3×3掩碼的輸入圖像數(shù)據(jù),即Sobel算子,它設(shè)置權(quán)重來檢測水平、垂直、左對角、右對角各個不同方向上密度幅度的不同。這個過程通常被稱為過濾。我們來看像素窗口(3×3),如圖2所示。水平、垂直、左對角、右對角各圖像方向上密度幅度的變化可以用如下算子進(jìn)行計(jì)算:</p&g
8、t;<p> H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);</p><p> DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);</p><p> H,V,DL,DR這四個參數(shù)用于計(jì)算梯度大小和方向。 </p>
9、<p> 對梯度大小的一個普遍估計(jì)值為:Magnitude=Max(H,V,DR,DL)。</p><p> 我們通過對圖像灰度作直方圖分析后,便可以給出區(qū)分度閥值</p><p> Threshold,區(qū)分度閥值往往要借助一定的經(jīng)驗(yàn)并需要反復(fù)調(diào)整。如果Magnitude大于Threshold,則該像素被聲明為邊界像素,否則為一般像素。</p><p
10、> 本課題就是要求使用LPM兆功能塊設(shè)計(jì)和VHDL程序設(shè)計(jì)相結(jié)合的方式或全部采用VHDL程序設(shè)計(jì)方式,用FPGA/CPLD實(shí)現(xiàn)Sobel算法。</p><p> 附件二:課題設(shè)計(jì)報(bào)告要求</p><p> 課程設(shè)計(jì)報(bào)告包括如下內(nèi)容:一、系統(tǒng)設(shè)計(jì)要求;二、系統(tǒng)設(shè)計(jì)原理;三、VHDL源程序;四、時序仿真與分析;五、邏輯綜合與分析。并要求按如下規(guī)定的格式打印好:打印用紙A4,主標(biāo)題
11、宋體3號,節(jié)標(biāo)題 宋體4號,小標(biāo)題 宋體小4號,正文 宋體5號 每頁39行 39個漢字,頁邊距 上、下均為2.5CM,左、右均為2CM,左右對稱。圖、表要有標(biāo)號及名稱,如: 圖1.1 XXXX,表1.1 XXXX;公式要有編號,如 …… (1.1)。</p><p><b> 附件三</b></p><p><b> 數(shù)字系統(tǒng)設(shè)計(jì)課程</b>
12、;</p><p><b> 設(shè) 計(jì) 說 明 書</b></p><p> 起止日期: 2013 年 11 月 18 日~ 2013 年 11 月 29 日 共 2 周</p><p><b> 電氣與信息工程學(xué)院</b></p><p> 2013年 月
13、 日</p><p> 一、綜合計(jì)時系統(tǒng)的設(shè)計(jì)</p><p><b> 1. 系統(tǒng)設(shè)計(jì)原理</b></p><p> 設(shè)計(jì)一個綜合性的計(jì)時系統(tǒng),要求能實(shí)現(xiàn)年、月、日、時、分、秒及星期的計(jì)數(shù)等綜合計(jì)時功能,同時將計(jì)時結(jié)果</p><p> 通過15個七段數(shù)碼管實(shí)現(xiàn)</p><p> 顯示
14、,并且可通過兩個設(shè)置</p><p> 鍵,在計(jì)時過程中,對計(jì)時</p><p> 系統(tǒng)的有關(guān)參數(shù)進(jìn)行調(diào)整。</p><p> 如圖所示,該計(jì)時系統(tǒng)的設(shè)</p><p> 計(jì)共分為三個主要模塊:綜</p><p> 合計(jì)時電路(ITC)、顯示控制電路(DUC)及調(diào)整控制電路(ATCC)。其具體模塊功能在此不再
15、詳細(xì)描述。</p><p> 綜合計(jì)時電路(ITC)可分為計(jì)秒電路、計(jì)分電路、計(jì)時電路、計(jì)星期電路、計(jì)日電路、計(jì)月電路和計(jì)年電路,共七個子模塊。</p><p> 顯示控制電路(DUC)使用的是十五個七段顯示數(shù)碼管。它可分為兩個子模塊:</p><p> ?。?).顯示控制電路:負(fù)責(zé)完成數(shù)據(jù)選擇掃描及數(shù)碼管位選擇信號的產(chǎn)生,數(shù)據(jù)掃描選擇輸出,對于選擇的數(shù)據(jù)進(jìn)行B
16、CD碼轉(zhuǎn)換等功能。</p><p> ?。?).顯示譯碼電路:將用于顯示的BCD碼數(shù)據(jù)進(jìn)行譯碼。</p><p> 調(diào)整控制電路(ATCC)是通過模式和調(diào)</p><p> 整兩個外部鍵完成。其中模式鍵負(fù)責(zé)切換正</p><p> 常時間計(jì)數(shù)模式和時間調(diào)整模式,調(diào)整鍵負(fù)</p><p> 責(zé)在時間調(diào)整模式下,對
17、當(dāng)前模式計(jì)時結(jié)果</p><p> 進(jìn)行調(diào)整。在模式選擇過程中,被選擇到的</p><p> 調(diào)整模式所對應(yīng)的發(fā)光二極管會被點(diǎn)亮。而</p><p> 正常模式中,7個發(fā)光二極管都不會被點(diǎn)亮</p><p> 。模式調(diào)整的VHDL程序主要是通過一個狀</p><p><b> 態(tài)機(jī)來實(shí)現(xiàn)。</
18、b></p><p> 調(diào)整模式切換順序(圖)</p><p> 2. VHDL程序設(shè)計(jì)</p><p> 在這次課程設(shè)計(jì)中,我們運(yùn)用學(xué)習(xí)過的VHDL語言編譯本次課程設(shè)計(jì)相關(guān)功能的模塊。</p><p> 1.CNT7.VHD</p><p> --CNT7.VHD</p><p&g
19、t; LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CNT7 IS</p><p><b> PORT</b></p>&l
20、t;p> (LD: IN STD_LOGIC;</p><p> CLK: IN STD_LOGIC;</p><p> DATA: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> NUM: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p> END
21、 ENTITY CNT7;</p><p> ARCHITECTURE ART OF CNT7 IS</p><p><b> BEGIN</b></p><p> PROCESS(CLK,LD) IS</p><p><b> BEGIN</b></p><p>
22、 IF(LD='0')THEN</p><p> NUM<=DATA;</p><p> ELSIF CLK'EVENT AND CLK='1' THEN</p><p> IF NUM="111" THEN</p><p> NUM<="001&quo
23、t;;</p><p><b> ELSE</b></p><p> NUM<=NUM+1;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;&
24、lt;/p><p> END ARCHITECTURE ART;</p><p> CNT7.VHD在程序中是實(shí)現(xiàn)‘計(jì)星期’功能。由下級進(jìn)位信號作為該級輸入信號。并有可輸入輸出端口實(shí)現(xiàn)了在調(diào)整模式中的算法‘人機(jī)交互’。實(shí)現(xiàn)調(diào)整功能。</p><p> 由于CNT12.VHD、CNT24.VHD及CNT100.VHD在形式上與上述內(nèi)容類似,分別以‘計(jì)月、計(jì)時、計(jì)年’
25、的功能,且都能實(shí)現(xiàn)調(diào)整模式中的算法‘人機(jī)交互’。因此不再贅談。</p><p> 2. DECODER3_8.VHD</p><p> --DECODER3_8.VHD</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p>
26、USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY DECODER3_8 IS</p><p><b> PORT (</b></p><p> DIN: IN STD_LOGIC_VECTOR (2 DOWNTO 0);</p><p> DOUT: OUT S
27、TD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END DECODER3_8 ;</p><p> ARCHITECTURE RTL OF DECODER3_8 IS</p><p><b> BEGIN</b></p><p> DOUT <= "10000000&
28、quot; WHEN (DIN = "111" ) ELSE</p><p> "01000000" WHEN (DIN = "110" ) ELSE</p><p> "00100000" WHEN (DIN = "101" ) ELSE</p><p>
29、 "00010000" WHEN (DIN = "100" ) ELSE</p><p> "00001000" WHEN (DIN = "011" ) ELSE</p><p> "00000100" WHEN (DIN = "010" ) ELSE<
30、/p><p> "00000010" WHEN (DIN = "001" ) ELSE</p><p> "00000001" ;</p><p><b> END RTL ;</b></p><p> DECODER3_8.VHD實(shí)現(xiàn)的是顯示調(diào)整模式的發(fā)
31、光二極管亮滅邏輯,通過該源程序,我們能更為直觀的選擇、調(diào)整計(jì)時系統(tǒng)中相應(yīng)的模式。</p><p> 3. DECODER4_7.VHD</p><p> --DECODER4_7.VHD</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p>&l
32、t;p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY DECODER4_7 IS</p><p><b> PORT</b></p><p> (BCD4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SEGOUT
33、7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p> END DECODER4_7;</p><p> ARCHITECTURE ART OF DECODER4_7 IS</p><p><b> BEGIN</b></p><p> SEGOUT7<="01
34、11111" WHEN (BCD4 = "0000") ELSE</p><p> "0000110" WHEN (BCD4= "0001") ELSE</p><p> "1011011" WHEN (BCD4= "0010") ELSE</p><p&g
35、t; "1001111" WHEN (BCD4= "0011") ELSE</p><p> "1100110" WHEN (BCD4= "0100") ELSE</p><p> "1101101" WHEN (BCD4= "0101") ELSE</p&g
36、t;<p> "1111101" WHEN (BCD4= "0110") ELSE</p><p> "0000111" WHEN (BCD4= "0111") ELSE</p><p> "1111111" WHEN (BCD4= "1000") E
37、LSE</p><p> "1100111" WHEN (BCD4= "1001") ELSE</p><p> "0000000";</p><p> END ARCHITECTURE ART;</p><p> DECODER4_7.VHD將顯示控制器(DUC)中輸出的B
38、CD碼進(jìn)行譯碼后作為七段共陰極發(fā)光二極管的輸入信號,實(shí)現(xiàn)了最終的阿拉伯?dāng)?shù)字顯示在系統(tǒng)功能面板上。(注:該顯示部分由十五個共陰極發(fā)光二極管構(gòu)成。)</p><p><b> 時序仿真與分析</b></p><p> CNT60.VHD模塊仿真波形如下:</p><p> CNT60.VHD實(shí)現(xiàn)了從0到59的循環(huán)計(jì)數(shù),每實(shí)現(xiàn)一次59到0的計(jì)數(shù)
39、動作,計(jì)數(shù)模塊輸出一個進(jìn)位信號。當(dāng)LD端有低電平輸入時,說明置數(shù)信號(LD)有效,模塊將預(yù)置數(shù)(DATA)56送入計(jì)數(shù)結(jié)果(NUM)中去,計(jì)數(shù)模塊從56開始重新計(jì)數(shù)。當(dāng)計(jì)數(shù)結(jié)果(NUM)從零開始計(jì)數(shù)時,產(chǎn)生一個進(jìn)位信號(CO)。</p><p> CNT30.VHD的仿真波形如下:</p><p> 在正常計(jì)數(shù)過程中,模塊實(shí)現(xiàn)了從0到最大天數(shù)(MAX_DAYS)的循環(huán)計(jì)數(shù),每實(shí)現(xiàn)一次最
40、大天數(shù)(MAX_DAYS)到0的計(jì)數(shù)動作,計(jì)數(shù)模塊輸出一個進(jìn)位信號。當(dāng)LD端有低電平輸入時,說明置數(shù)信號(LD)有效,模塊將預(yù)置數(shù)(DAY)20送入計(jì)數(shù)結(jié)果(NUM)中去,計(jì)數(shù)模塊從20開始重新計(jì)數(shù)。</p><p> .CNT7.VHD波形圖如圖:</p><p> 該圖實(shí)現(xiàn)的是計(jì)星期,NUM為輸出端(設(shè)置為可輸入輸出端口),DATA為輸入端,上級輸出信號CO作為該級別CLK的輸入信
41、號,LD為置位信號。如波形所示,該部分實(shí)現(xiàn)了周一到周日的循環(huán)。完成預(yù)定要求。</p><p> CNT12.VHD波形圖如圖:</p><p> 該圖在功能上與上圖是相應(yīng)的計(jì)月份。實(shí)現(xiàn)了從一月份到十二月份的循環(huán)。完成預(yù)定要求。</p><p> .VHD24.VHD波形圖如圖:</p><p> 該圖在功能上是實(shí)現(xiàn)計(jì)小時。實(shí)現(xiàn)了從1點(diǎn)
42、(時刻)到24點(diǎn)(時刻)的循環(huán)。完成預(yù)定要求。 DECODER3_8.VHD波形如圖:</p><p> 該圖在功能上是通過譯碼后實(shí)現(xiàn)調(diào)整模式選擇,即系統(tǒng)功能面板上的調(diào)整模式切換。從輸出波形上來說,輸出波形有且只有一位為高電平,在共陰極二極管會顯示該模式正在處理。完成預(yù)定要求。</p><p> DECODER4_7.VDH波形如圖:</p><p> 該圖
43、在功能上是將BCD碼譯碼到數(shù)碼顯示管上相應(yīng)的要求數(shù)碼。由波形圖可知,該圖是正確的。(如輸出‘0111111’B顯示的是‘0’D;‘0000110’B顯示的是‘1’D等。)完成預(yù)期要求。</p><p><b> 邏輯綜合與分析</b></p><p> 綜合邏輯組合圖如圖:</p><p> 該圖為調(diào)整控制電路(ATCC),通過KEY進(jìn)行
44、調(diào)整模式的選擇;CLK_KEY進(jìn)行具體調(diào)節(jié)相應(yīng)的秒、分、時、日、月、年等模式。</p><p> 下圖為整個計(jì)時系統(tǒng)的運(yùn)算部分。整體由上一級進(jìn)位信號作為下一級的是輸入信號。實(shí)現(xiàn)相關(guān)的關(guān)聯(lián)。由于界面過小,因此無法到完整的計(jì)數(shù)部分的原理圖。</p><p> 下圖是整體電路圖中的顯示控制部分及譯碼器部分。該部分實(shí)現(xiàn)的是相關(guān)的顯示在系統(tǒng)功能面板上的一系列LED顯示管。</p>
45、<p> 最后就是控制顯示面板上的模式選擇發(fā)光二極管部分的連線。該部分的輸入線連接的是調(diào)整控制電路的相應(yīng)SEC_EN、MIN_IN等端口。表明控制調(diào)整模式的選擇。</p><p> 最后是整體波形的仿真圖:</p><p> 由于相關(guān)的波形的設(shè)置較為復(fù)雜,就簡略的設(shè)置了一下相應(yīng)的波形,確保了輸出顯示。然而在模式選擇的輸出端卻有所欠缺,由于時間較為緊迫,因此沒有具體去優(yōu)化該輸
46、入信號的給與。在整體設(shè)計(jì)中,此次課程設(shè)計(jì)基本成功。</p><p> 5. 硬件驗(yàn)證及結(jié)果</p><p> 此次課程設(shè)計(jì),由于實(shí)驗(yàn)設(shè)備的有限,以及時間的欠缺。并沒有實(shí)現(xiàn)其下載到開發(fā)板上驗(yàn)證。</p><p> 6. 設(shè)計(jì)收獲與體會</p><p> 這次最大的收獲就是學(xué)會了很系統(tǒng)地去解決一個實(shí)際問題,學(xué)會了巧妙運(yùn)用模塊化的思想。在整
47、個電路設(shè)計(jì)與實(shí)現(xiàn)中,最成功的地方就是有條理地將功能細(xì)化,分成一個一個小的功能來實(shí)現(xiàn)。沒做好一個小功能實(shí)現(xiàn)的電路,就將其集成為一塊具有此功能的芯片,這樣,在之后的電路連接中就只要將這塊芯片接入即可,最后就這樣一級一級地將電路集成,最后生成的電子鐘電路就只是一塊芯片,只要加一些其他外部控制開關(guān)與顯示電路就能實(shí)現(xiàn)此多功能電子鐘的各功能。經(jīng)過幾天的辛苦調(diào)試,經(jīng)過仿真終于能達(dá)到們所需的設(shè)計(jì)要求,雖然最終的設(shè)計(jì)還存在些小瑕疵.但畢竟是第一次做,我們
48、還是比較滿意的。本次設(shè)計(jì)讓我們那發(fā)現(xiàn)了自己很多的不足,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。 </p><p> 可以說這次設(shè)計(jì)的綜合計(jì)時系統(tǒng)還是比較成功的,雖然這次設(shè)計(jì)的綜合計(jì)時系統(tǒng)不是很完美,在設(shè)計(jì)中遇到了很多的難題,最后在老師的辛勤的指導(dǎo)下,終于迎刃而解.還是覺得不錯的,終于覺得平時所學(xué)的知識有了實(shí)用的價值,達(dá)到了理論與實(shí)際相結(jié)合的目的,不僅學(xué)到了不少知識,而其鍛煉了自己的能力,使自
49、己對以后的路有了更加清楚的認(rèn)識,同時,對未來有了更多的信心。最后,對給過我?guī)椭乃型瑢W(xué)和老師再次表示衷心的感謝! </p><p> 二、SOBEL圖像邊緣檢測器的設(shè)計(jì)</p><p><b> 1. 系統(tǒng)設(shè)計(jì)原理</b></p><p> 該系統(tǒng)的主要設(shè)計(jì)原理是采用現(xiàn)代電子設(shè)計(jì)的最新技術(shù)——EDA技術(shù),使用高速可編程邏輯器件
50、PFGA/CPLD自行開發(fā)有關(guān)處理芯片成了一種全新的解決方案。如下組成框圖所示:</p><p> DSP+FPGA/CPLD圖像主處理器</p><p> 其中圖像傳感器CCD的功能是獲取外界圖像的各個像素點(diǎn)灰度值;圖像主處理器采用數(shù)字信號處理器DSP,主要負(fù)責(zé)對圖像傳感器傳送的灰度信息進(jìn)行存儲,并負(fù)責(zé)調(diào)用協(xié)處理器進(jìn)行邊界像素判別,找出我們感興趣的目標(biāo)對象,從而得到該對象的運(yùn)動信息,
51、以便控制執(zhí)行裝置進(jìn)行位置跟蹤;邊緣檢測協(xié)處理器為FPGA/CPLD,主要是完成主處理器傳送過來的像素的邊界判別,并把處理結(jié)果返回到主處理器中。</p><p> 在本系統(tǒng)中,各項(xiàng)設(shè)計(jì)指標(biāo)為:數(shù)據(jù)吞吐量>10Mb/s;動態(tài)響應(yīng)時間<100ms/frame。主處理器初步選用德州公司的DSP芯片TMS320C5402,協(xié)處理器擬采用ALTERA公司的FLEX10K20。圖像處理系統(tǒng)接口關(guān)系如下圖所示:&l
52、t;/p><p> 邊緣可定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識別前必不可少的環(huán)節(jié),是一種重要的圖像預(yù)處理技術(shù)。邊緣檢測主要就是(圖像的)灰度變化的度量、檢測和定位,它是圖像分析和模式識別的主要特征提取手段,它在計(jì)算機(jī)視覺、圖像分析等應(yīng)用中起著重要的作用,是圖像分析與處理中研究的熱點(diǎn)問題。在過去的20年里產(chǎn)生了許多邊緣檢測器,如Rorberts算子,Sobel算子,Prewitt
53、算子,Laplacian算子等。由于Sobel算法只涉及加法操作,但卻可以得到很好的劃分效果,因而是圖像處理系統(tǒng)中最常用的邊緣檢測算法。</p><p> Sobel算法包括帶4個3×3掩碼的輸入圖像數(shù)據(jù),即Sobel算子,它設(shè)置權(quán)重來檢測水平、垂直、左對角、右對角各個不同方向上密度幅度的不同。這個過程通常被稱為過濾。我們來看像素窗口(3×3),如圖1所示。水平、垂直、左對角、右對角各圖像方
54、向上密度幅度的變化可以用如下算子進(jìn)行計(jì)算:</p><p> H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);</p><p> DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);</p><p> H,V,DL,DR這四個參數(shù)用于計(jì)算梯度大小和方
55、向。</p><p> 我們通過對圖像灰度作直方圖分析后,便可以給出區(qū)分度閥值 像素框</p><p> Threshold,區(qū)分度閥值往往要借助一定的經(jīng)驗(yàn)并需要反復(fù)調(diào)整。如果Magnitude大于Threshold,則該像素被聲明為邊界像素,否則為一般像素。</p><p> 本課題就是要求使用LPM兆功能塊設(shè)計(jì)和VHDL程序設(shè)計(jì)相結(jié)合的方
56、式或全部采用VHDL程序設(shè)計(jì)方式,用FPGA/CPLD實(shí)現(xiàn)Sobel算法。</p><p> 運(yùn)用CPLD/FPGA設(shè)計(jì)有關(guān)圖像處理模塊,對象系統(tǒng)速度改善是非常明顯:處理一幀圖像的時間為800*600*80ns=38.4ms,結(jié)果處理速度比DSP高了約兩個數(shù)量級。</p><p> 2. VHDL程序或原理圖設(shè)計(jì)</p><p> 該課題主要涉及的是LPM兆功
57、能模塊的定制。其VHDL程序有:COUNTER.VHD,COMPARE.VHD,RESULT.VHD,REG.VHD及CNT3.VHD。</p><p> --COUNTER.VHD</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY
58、 COUNTER IS</p><p> PORT(CLK:IN STD_LOGIC;</p><p> CO:OUT STD_LOGIC);</p><p> END ENTITY COUNTER;</p><p> ARCHITECTURE ART OF COUNTER IS</p><p> SIGNA
59、L CNT:NATURAL RANGE 0 TO 2;</p><p><b> BEGIN</b></p><p> PROCESS (CLK) IS</p><p><b> BEGIN</b></p><p> IF CLK'EVENT AND CLK='1'
60、THEN</p><p> IF CNT=1 THEN</p><p><b> CNT<=0;</b></p><p><b> CO<='1';</b></p><p><b> ELSE</b></p><p>
61、 CNT<=CNT+1;</p><p><b> CO<='0';</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p>
62、<p> END ARCHITECTURE ART;</p><p> 該程序?qū)崿F(xiàn)的是產(chǎn)生一個二分頻的波形作為輸入信號。</p><p> --COMPARE.VHD</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><
63、p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY COMPARE IS</p><p> GENERIC(SIZE:INTEGER:=11);</p><p> PORT(DAT1,DAT2:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);</p><p&g
64、t; MAX:OUT STD_LOGIC_VECTOR(SIZE DOWNTO 1));</p><p> END ENTITY COMPARE;</p><p> ARCHITECTURE ART OF COMPARE IS</p><p><b> BEGIN</b></p><p> PROCESS(DA
65、T1,DAT2)</p><p><b> BEGIN</b></p><p> IF(DAT1(SIZE-1 DOWNTO 1)>DAT2(SIZE-1 DOWNTO 1)) THEN</p><p> MAX<=DAT1;</p><p> ELSE MAX<=DAT2;</p>
66、<p><b> END IF;</b></p><p> END PROCESS;</p><p> END ARCHITECTURE ART;</p><p> 該程序?qū)崿F(xiàn)的是兩個數(shù)據(jù)的比較。</p><p> --RESULT.VHD</p><p> LIBRAR
67、Y IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY RESULT IS</p><p> GENERIC(SIZE:INTEGER:=11);</p><p> PORT(CLK:IN STD_LOGIC;</p><p> H,V,DR
68、,DL:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);</p><p> THRESHOLD:IN STD_LOGIC_VECTOR(8 DOWNTO 1);</p><p> MAX:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);</p><p> MAGOUT:OUT STD_LOGIC;</p>
69、<p> DIR:OUT STD_LOGIC_VECTOR(3 DOWNTO 1));</p><p> END ENTITY RESULT;</p><p> ARCHITECTURE ART OF RESULT IS</p><p><b> BEGIN</b></p><p> PROCES
70、S(CLK,THRESHOLD)</p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1') THEN</p><p> IF(MAX(SIZE-1 DOWNTO 1)>"00"&THRESHOLD) THEN MAGOUT&
71、lt;='1';</p><p> IF(MAX=H AND H(SIZE)='0') THEN DIR<="000";</p><p> ELSIF(MAX=H AND H(SIZE)='1')THEN DIR<="100";</p><p> ELSIF(M
72、AX=V AND V(SIZE)='0')THEN DIR<="010";</p><p> ELSIF(MAX=V AND V(SIZE)='1')THEN DIR<="110";</p><p> ELSIF(MAX=DR AND DR(SIZE)='0')THEN DIR<=
73、"001";</p><p> ELSIF(MAX=DR AND DR(SIZE)='1')THEN DIR<="101";</p><p> ELSIF(MAX=DL AND DL(SIZE)='0')THEN DIR<="011";</p><p> E
74、LSIF(MAX=DL AND DL(SIZE)='1')THEN DIR<="111";</p><p><b> END IF;</b></p><p> ELSE MAGOUT<='0';DIR<="000";</p><p><b>
75、 END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END ARCHITECTURE ART;</p><p> 該程序的功能就是根據(jù)區(qū)分度閾值、四個濾波器的輸出及其最大值進(jìn)行邊界的判斷。</p>&
76、lt;p><b> --REG.VHD</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY REG IS</p><p> PORT(CLK:IN STD_LOGIC;</p>&l
77、t;p> D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END ENTITY REG;</p><p> ARCHITECTURE ART OF REG IS</p><p><b>
78、 BEGIN</b></p><p> PROCESS(CLK) IS</p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1')THEN</p><p><b> Q<=D;</b></
79、p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END ARCHITECTURE ART;</p><p> 該程序所描述的就是一個寄存器REG。</p><p> --CNT3.VHD</p><p>
80、LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY CNT3 IS</p><p> PORT(CLK:IN STD_LOGIC;</p><p> CO:OUT STD_LOGIC);</p><p> END ENTITY
81、 CNT3;</p><p> ARCHITECTURE ART OF CNT3 IS</p><p> SIGNAL CP:NATURAL RANGE 0 TO 3;</p><p><b> BEGIN</b></p><p> PROCESS(CLK) IS</p><p><
82、b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1') THEN</p><p> IF CP=2 THEN</p><p><b> CP<=0;</b></p><p><b> CO<='1
83、39;;</b></p><p><b> ELSE</b></p><p><b> CP<=CP+1;</b></p><p><b> CO<='0';</b></p><p><b> END IF;</b
84、></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END ARCHITECTURE ART;</p><p> 該程序?qū)崿F(xiàn)的是得到三分頻信號。</p><p> 一些相關(guān)模塊的LPM原理圖:</p>&
85、lt;p> FIFO模塊的原理圖:</p><p> FIFO模塊是由定制的LMP模塊CSFIFO、LPM_FF,標(biāo)準(zhǔn)元件AND2、NOT以及用VHDL編程編譯后生成的二進(jìn)制計(jì)數(shù)器COUNTER2構(gòu)成。如下圖所示:</p><p> 2)SIPO的LPM原理圖:</p><p> REFRESH的LPM原理圖:</p><p>
86、 FILTER的LPM原理圖:</p><p> 5)PROCESSOR的LPM原理圖:</p><p> 總體結(jié)構(gòu)圖:IDE的LPM原理圖:</p><p><b> 時序仿真與分析</b></p><p> 1)FIFO的時序仿真:</p><p> SIPO的時序仿真:</
87、p><p> REFRESH的時序仿真:</p><p> FILTER的時序仿真:</p><p> RESULT的時序仿真圖:</p><p> COMPARE的時序仿真圖:</p><p> REG的時序仿真圖:</p><p> 8)CNT3的時序仿真圖:</p>
88、<p> PROCESSOR的時序仿真圖:</p><p> 4. 邏輯綜合與分析</p><p> 最后的圖像邊緣檢測器總體結(jié)構(gòu)圖如圖所示:</p><p> 如圖所示:整個系統(tǒng)的實(shí)現(xiàn)劃分為四個大的模塊,其總體結(jié)構(gòu)如圖所示:其中:幀窗口接收模塊(FIFO)負(fù)責(zé)接收DSP傳送過來的一個幀窗口的數(shù)據(jù),其本質(zhì)為一個雙端口先入先出的出棧FIFO,其數(shù)據(jù)寬
89、度為8,深度等于一個幀窗口內(nèi)的像素點(diǎn)個數(shù)(600*3=1800)。串入并出模塊(SIPO)負(fù)責(zé)把FIFO內(nèi)的數(shù)據(jù)轉(zhuǎn)換成為像素處理窗口的列像素向量,便于像素處理窗口的數(shù)據(jù)刷新處理。像素窗口刷新模塊(REFRESH)實(shí)現(xiàn)對需要處理的像素?cái)?shù)據(jù)的刷新。數(shù)據(jù)處理模塊(PROCESSOR)是本圖形邊緣處理器的核心部分,主要是實(shí)現(xiàn)Sobel算法,其性能的好壞對整個設(shè)計(jì)的成敗有著關(guān)鍵的作用。本模塊擬采用全硬件并行算法實(shí)現(xiàn),因只有五級串行結(jié)構(gòu),所有相當(dāng)于
90、5個時鐘周期內(nèi)就能完成一個像素點(diǎn)的邊界判別。</p><p> 5. 設(shè)計(jì)收獲與體會</p><p> 這次EDA課程設(shè)計(jì)歷時兩個星期,在整整兩個星期的日子里,可以說是苦多于甜,但是可以學(xué)的到很多很多的東西,同時不僅可以鞏固以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次設(shè)計(jì),進(jìn)一步加深了對EDA的了解,讓我對它有了更加濃厚的興趣。特別是當(dāng)每一個子模塊編寫調(diào)試成功時
91、,心里特別的開心。但是在編寫頂層文件的程序時,遇到了不少問題,特別是各元件之間的連接,以及信號的定義,總是有錯誤,在細(xì)心的檢查下,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。在波形仿真時,也遇到了一點(diǎn)困難,想要的結(jié)果不能在波形上得到正確的顯示:在設(shè)定輸入的時鐘信號后,數(shù)字秒表開始計(jì)數(shù),但是始終看不到秒和小時的循環(huán)計(jì)數(shù)。后來,在數(shù)十次的調(diào)試之后,才發(fā)現(xiàn)是因?yàn)檩斎氲臅r鐘信號對于器件的延遲時間來說太短了。經(jīng)過屢次調(diào)
92、試,終于找到了比較合適的輸入數(shù)值:時鐘周期設(shè)置在15秒左右比較合適。</p><p> 其次,在連接各個模塊的時候一定要注意各個輸入、輸出引腳的線寬,因?yàn)槊總€線寬是不一樣的,只要讓各個線寬互相匹配,才能得出正確的結(jié)果,否則,出現(xiàn)任何一點(diǎn)小的誤差就會導(dǎo)致整個文件系統(tǒng)的編譯出現(xiàn)錯誤提示,在器件的選擇上也有一定的技巧,只有選擇了合適當(dāng)前電路所適合的器件,編譯才能得到完滿成功。 </p><
93、;p> 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。 </p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)--eda數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- eda綜合課程設(shè)計(jì)-數(shù)字秒表
- eda綜合課程設(shè)計(jì)
- 數(shù)字鬧鐘系統(tǒng)eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字跑表
- eda數(shù)字時鐘課程設(shè)計(jì)
- eda數(shù)字時鐘課程設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--eda數(shù)字搶答器
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda數(shù)字秒表課程設(shè)計(jì)
- eda數(shù)字秒課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字秒表
- eda課程設(shè)計(jì)——數(shù)字時鐘設(shè)計(jì)
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda課程設(shè)計(jì)--eda課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- eda數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘--eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字時鐘(鬧鐘)
- eda課程設(shè)計(jì)--數(shù)字秒表的設(shè)計(jì)
評論
0/150
提交評論