2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩38頁(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、<p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  課程名稱: EDA技術(shù) </p><p>  設(shè)計(jì)題目: EDA數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐 </

2、p><p>  完成期限: 2017 年 12 月 11 日~ 2017 年 12 月 21 日 共 2 周</p><p>  附件一:各設(shè)計(jì)子課題的具體設(shè)計(jì)要求</p><p>  1.綜合計(jì)時(shí)系統(tǒng)的設(shè)計(jì):</p><p>  設(shè)計(jì)一個(gè)綜合性的計(jì)時(shí)系統(tǒng),要求能實(shí)現(xiàn)年、月、日、時(shí)、分、秒及星期的計(jì)數(shù)等綜合計(jì)時(shí)功能,同時(shí)將計(jì)時(shí)

3、結(jié)果通過15個(gè)七段數(shù)碼管實(shí)現(xiàn)顯示,并且可通過兩個(gè)設(shè)置鍵,在計(jì)時(shí)過程中,對(duì)計(jì)時(shí)系統(tǒng)的有關(guān)參數(shù)進(jìn)行調(diào)整。具體系統(tǒng)功能面板如圖1所示。</p><p>  圖1 系統(tǒng)功能面板</p><p>  2.SOBEL圖像邊緣檢測(cè)器的設(shè)計(jì) </p><p>  邊緣可定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識(shí)別前必不可少的環(huán)節(jié),是一種重要的圖像預(yù)

4、處理技術(shù)。邊緣檢測(cè)主要就是(圖像的)灰度變化的度量、檢測(cè)和定位,它是圖像分析和模式識(shí)別的主要特征提取手段,它在計(jì)算機(jī)視覺、圖像分析等應(yīng)用中起著重要的作用,是圖像分析與處理中研究的熱點(diǎn)問題。在過去的20年里產(chǎn)生了許多邊緣檢測(cè)器,如Rorberts算子,Sobel算子,Prewitt算子,Laplacian算子等。由于Sobel算法只涉及加法操作,但卻可以得到很好的劃分效果,因而是圖像處理系統(tǒng)中最常用的邊緣檢測(cè)算法。</p>

5、<p>  Sobel算法包括帶4個(gè)3×3掩碼的輸入圖像數(shù)據(jù),即Sobel算子,它設(shè)置權(quán)重來檢測(cè)水平、垂直、左對(duì)角、右對(duì)角各個(gè)不同方向上密度幅度的不同。這個(gè)過程通常被稱為過濾。我們來看像素窗口(3×3),如圖2所示。水平、垂直、左對(duì)角、右對(duì)角各圖像方向上密度幅度的變化可以用如下算子進(jìn)行計(jì)算:</p><p>  H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+

6、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這四個(gè)參數(shù)用于計(jì)算梯度大小和方向。 </p><p>  對(duì)梯度大小的一個(gè)普遍估計(jì)值為:Magnitude=Max(H,V,DR,DL

7、)。</p><p>  我們通過對(duì)圖像灰度作直方圖分析后,便可以給出區(qū)分度閥值</p><p>  Threshold,區(qū)分度閥值往往要借助一定的經(jīng)驗(yàn)并需要反復(fù)調(diào)整。如果Magnitude大于Threshold,則該像素被聲明為邊界像素,否則為一般像素。</p><p>  本課題就是要求使用LPM兆功能塊設(shè)計(jì)和VHDL程序設(shè)計(jì)相結(jié)合的方式或全部采用VHDL程序設(shè)

8、計(jì)方式,用FPGA/CPLD實(shí)現(xiàn)Sobel算法。</p><p><b>  EDA技術(shù)</b></p><p>  課 程 設(shè) 計(jì) 說 明 書</p><p>  起止日期: 2017 年 12 月 11 日~ 2017 年 12 月 21 日 共 2 周</p><p><b>

9、  交通工程學(xué)院</b></p><p>  2017年 12 月 21 日</p><p>  一、綜合計(jì)時(shí)系統(tǒng)的設(shè)計(jì)</p><p><b>  1. 系統(tǒng)設(shè)計(jì)原理</b></p><p>  設(shè)計(jì)一個(gè)綜合性的計(jì)時(shí)系統(tǒng),要求能實(shí)現(xiàn)年、月、日、時(shí)、分、秒及星期的計(jì)數(shù)等綜合計(jì)時(shí)功能,同時(shí)將計(jì)時(shí)結(jié)果</p

10、><p>  通過15個(gè)七段數(shù)碼管實(shí)現(xiàn)</p><p>  顯示,并且可通過兩個(gè)設(shè)置</p><p>  鍵,在計(jì)時(shí)過程中,對(duì)計(jì)時(shí)</p><p>  系統(tǒng)的有關(guān)參數(shù)進(jìn)行調(diào)整。</p><p>  如圖所示,該計(jì)時(shí)系統(tǒng)的設(shè)</p><p>  計(jì)共分為三個(gè)主要模塊:綜</p><

11、p>  合計(jì)時(shí)電路(ITC)、顯示控制電路(DUC)及調(diào)整控制電路(ATCC)。其具體模塊功能在此不再詳細(xì)描述。</p><p>  綜合計(jì)時(shí)電路(ITC)可分為計(jì)秒電路、計(jì)分電路、計(jì)時(shí)電路、計(jì)星期電路、計(jì)日電路、計(jì)月電路和計(jì)年電路,共七個(gè)子模塊。</p><p>  顯示控制電路(DUC)使用的是十五個(gè)七段顯示數(shù)碼管。它可分為兩個(gè)子模塊:</p><p> 

12、 (1).顯示控制電路:負(fù)責(zé)完成數(shù)據(jù)選擇掃描及數(shù)碼管位選擇信號(hào)的產(chǎn)生,數(shù)據(jù)掃描選擇輸出,對(duì)于選擇的數(shù)據(jù)進(jìn)行BCD碼轉(zhuǎn)換等功能。</p><p> ?。?).顯示譯碼電路:將用于顯示的BCD碼數(shù)據(jù)進(jìn)行譯碼。</p><p>  調(diào)整控制電路(ATCC)是通過模式和調(diào)</p><p>  整兩個(gè)外部鍵完成。其中模式鍵負(fù)責(zé)切換正</p><p> 

13、 常時(shí)間計(jì)數(shù)模式和時(shí)間調(diào)整模式,調(diào)整鍵負(fù)</p><p>  責(zé)在時(shí)間調(diào)整模式下,對(duì)當(dāng)前模式計(jì)時(shí)結(jié)果</p><p>  進(jìn)行調(diào)整。在模式選擇過程中,被選擇到的</p><p>  調(diào)整模式所對(duì)應(yīng)的發(fā)光二極管會(huì)被點(diǎn)亮。而</p><p>  正常模式中,7個(gè)發(fā)光二極管都不會(huì)被點(diǎn)亮</p><p>  。模式調(diào)整的VHD

14、L程序主要是通過一個(gè)狀</p><p><b>  態(tài)機(jī)來實(shí)現(xiàn)。、</b></p><p>  調(diào)整模式切換順序(圖)</p><p><b>  VHDL程序設(shè)計(jì)</b></p><p>  在這次課程設(shè)計(jì)中,我們運(yùn)用學(xué)習(xí)過的VHDL語(yǔ)言編譯本次課程設(shè)計(jì)相關(guān)功能的模塊。下面就簡(jiǎn)單的羅列一下本次課程

15、設(shè)計(jì)相關(guān)的VHDL程序文件。經(jīng)編譯及仿真后下面所描述的文件都是正確的。且為了節(jié)約紙張,接下來只羅列一些書上并沒有直接給出的一些VHDL源程序:CNT7.VHD、CNT12.VHD、CNT24.VHD、CNT100.VHD、YMQ3_8.VHD、YMQ4_7.VHD,總計(jì)六個(gè)源程序并簡(jiǎn)單說明在該系統(tǒng)中相應(yīng)的功能。</p><p> ?。?)--YMQ47.VHD</p><p>  LIBR

16、ARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL ;</p><p>  ENTITY YMQ47 IS</p><p>  PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);&

17、lt;/p><p>  DOUT7 :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p>  END ENTITY YMQ47;</p><p>  ARCHITECTURE ART OF YMQ47 IS</p><p><b>  BEGIN</b></p><p&g

18、t;  PROCESS(AIN4)</p><p><b>  BEGIN</b></p><p>  CASE AIN4 IS</p><p>  WHEN"0000"=>DOUT7<="0111111";</p><p>  WHEN"0001"

19、=>DOUT7<="0000110";</p><p>  WHEN"0010"=>DOUT7<="1011011";</p><p>  WHEN"0011"=>DOUT7<="1001111";</p><p>  WHEN&q

20、uot;0100"=>DOUT7<="1100110"; </p><p>  WHEN"0101"=>DOUT7<="1101101";</p><p>  WHEN"0110"=>DOUT7<="1111101";</p>&l

21、t;p>  WHEN"0111"=>DOUT7<="0000111";</p><p>  WHEN"1000"=>DOUT7<="1111111";</p><p>  WHEN"1001"=>DOUT7<="1101111";

22、</p><p>  WHEN"1010"=>DOUT7<="1011110";</p><p>  WHEN"1011"=>DOUT7<="1011100";</p><p>  WHEN"1100"=>DOUT7<="

23、1010100";</p><p>  WHEN"1101"=>DOUT7<="1111001";</p><p>  WHEN OTHERS=>DOUT7<="0000000";</p><p><b>  END CASE;</b></p&g

24、t;<p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  將顯示控制器(DUC)中輸出的BCD碼進(jìn)行譯碼后作為七段共陰極發(fā)光二極管的輸入信號(hào),實(shí)現(xiàn)了最終的阿拉伯?dāng)?shù)字顯示在系統(tǒng)功能面板上。(注:該顯示部分由十五個(gè)共陰極發(fā)光二極管構(gòu)成。)</p><p> ?。?)--XSKZQ.VHD&

25、lt;/p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  ENTI

26、TY XSKZQ IS</p><p>  PORT(CLK_SCAN:IN STD_LOGIC;</p><p>  SEC,MIN:IN STD_LOGIC_VECTOR(5 DOWNTO 0);</p><p>  HOUR:IN STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  DAY: IN STD_L

27、OGIC_VECTOR(4 DOWNTO 0);</p><p>  MON:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  YEAR:IN STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p>  WEEK:IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p

28、>  SELOUT:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  HBCD,LBCD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END ENTITY XSKZQ;</p><p>  ARCHITECTURE ART OF XSKZQ IS</p><

29、p>  SIGNAL TEMP1,TEMP2:INTEGER RANGE 0 TO 9;</p><p>  SIGNAL CNT: STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK_SCAN) IS</p><p&g

30、t;  BEGIN </p><p>  IF CLK_SCAN'EVENT AND CLK_SCAN='1' THEN</p><p>  IF CNT="111" THEN</p><p>  CNT<="000" ;</p><p><b>

31、  ELSE</b></p><p>  CNT<=CNT+'1';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  S

32、ELOUT<=CNT;</p><p>  PROCESS(CNT) IS</p><p><b>  BEGIN</b></p><p>  CASE CNT IS</p><p>  WHEN"000"=>TEMP1<=CONV_INTEGER(SEC)-CONV_INTEGER

33、(SEC)/10*10;</p><p>  TEMP2<=(CONV_INTEGER(SEC))/10;</p><p>  WHEN"001"=>TEMP1 <= CONV_INTEGER(MIN)-CONV_INTEGER(MIN)/10*10;</p><p>  TEMP2<=(CONV_INTEGER(MIN)

34、)/10;</p><p>  WHEN"010"=>TEMP1<=CONV_INTEGER(HOUR)-CONV_INTEGER(HOUR)/10*10;</p><p>  TEMP2<=CONV_INTEGER(HOUR)/10;</p><p>  WHEN"011"=>TEMP1<=CO

35、NV_INTEGER(DAY)-CONV_INTEGER(DAY)/10*10;</p><p>  TEMP2<=CONV_INTEGER(DAY)/10;</p><p>  WHEN"100"=>TEMP1<=CONV_INTEGER(MON)-CONV_INTEGER(MON)/10*10;</p><p>  TEMP

36、2<=CONV_INTEGER(MON)/10;</p><p>  WHEN"101"=>TEMP1<=CONV_INTEGER(YEAR)-CONV_INTEGER(YEAR)/10*10;</p><p>  TEMP2<=CONV_INTEGER(YEAR)/10;</p><p>  WHEN"110&

37、quot;=>TEMP1<=2; TEMP2<=0;</p><p>  WHEN"111"=>TEMP1<=CONV_INTEGER(WEEK)-CONV_INTEGER(WEEK)/10*10;</p><p>  TEMP2<=CONV_INTEGER(WEEK)/10;</p><p>  WHEN O

38、THERS=>NULL;</p><p><b>  END CASE;</b></p><p>  CASE TEMP1 IS</p><p>  WHEN 0 =>LBCD<="0000";</p><p>  WHEN 1 =>LBCD<="0001&qu

39、ot;;</p><p>  WHEN 2 =>LBCD<="0010";</p><p>  WHEN 3 =>LBCD<="0011";</p><p>  WHEN 4 =>LBCD<="0100";</p><p>  WHEN 5 =&g

40、t;LBCD<="0101";</p><p>  WHEN 6 =>LBCD<="0110";</p><p>  WHEN 7 =>LBCD<="0111";</p><p>  WHEN 8 =>LBCD<="1000";</p>

41、;<p>  WHEN 9 =>LBCD<="1001";</p><p>  WHEN OTHERS =>LBCD<="0000";</p><p><b>  END CASE;</b></p><p>  CASE TEMP2 IS</p><

42、;p>  WHEN 0 =>HBCD<="0000";</p><p>  WHEN 1 =>HBCD<="0001";</p><p>  WHEN 2 =>HBCD<="0010";</p><p>  WHEN 3 =>HBCD<="00

43、11";</p><p>  WHEN 4 =>HBCD<="0100";</p><p>  WHEN 5 =>HBCD<="0101";</p><p>  WHEN 6 =>HBCD<="0110";</p><p>  WHEN

44、7 =>HBCD<="0111";</p><p>  WHEN 8 =>HBCD<="1000";</p><p>  WHEN 9 =>HBCD<="1001";</p><p>  WHEN OTHERS=>HBCD<="0000";

45、</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE;</p><p> ?。?)--TZKZQ</p><p>  LIBRARY IEEE;</p><p>  US

46、E IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY TZKZQ IS</p><p>  PORT(KEY: IN STD_LOGIC_VECTOR(1 DOWNTO 0);</p><p>  CLK_KEY: IN S

47、TD_LOGIC;</p><p>  MAX_DAYS:IN STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  SEC_EN,MIN_EN,HOUR_EN,</p><p>  DAY_EN,MON_EN,YEAR_EN,WEEK_EN :OUT STD_LOGIC;</p><p>  HOUR_CUR: I

48、N STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  MIN_CUR,SEC_CUR: IN STD_LOGIC_VECTOR( 5 DOWNTO 0);</p><p>  YEAR_CUR: IN STD_LOGIC_VECTOR(6 DOWNTO 0) ;</p><p>  MON_CUR: IN STD_LOGIC_VECTO

49、R( 3 DOWNTO 0);</p><p>  DAY_CUR: IN STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  WEEK_CUR: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  SEC,MIN: BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0);</p&g

50、t;<p>  HOUR: BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0) ;</p><p>  DAY:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  MON: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ;</p><p>  YEAR:BUFFER

51、 STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p>  WEEK: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p>  END ENTITY TZKZQ;</p><p>  ARCHITECTURE ART OF TZKZQ IS</p><p>  TYPE STATE

52、TYPE IS (NORMAL,SEC_SET,MIN_SET,HOUR_SET,DAY_SET,MON_SET,YEAR_SET,WEEK_SET);</p><p>  SIGNAL MODE:STATETYPE;</p><p><b>  BEGIN</b></p><p>  PROCESS (KEY,CLK_KEY )</p&

53、gt;<p><b>  BEGIN</b></p><p>  IF CLK_KEY'EVENT AND CLK_KEY='1'THEN</p><p>  IF KEY="01" THEN</p><p>  SEC_EN<='1';MIN_EN<=

54、9;1';HOUR_EN<='1';</p><p>  DAY_EN<='1';MON_EN<= '1';YEAR_EN<='1';</p><p>  WEEK_EN<='1';</p><p>  CASE MODE IS</p>

55、<p>  WHEN NORMAL=> MODE<=SEC_SET;SEC<=SEC_CUR;SEC_EN<='0';</p><p>  --切換到秒設(shè)置模式,讀入當(dāng)前秒,秒異步并行置位使能有效</p><p>  WHEN SEC_SET => MODE<=MIN_SET;MIN<=MIN_CUR; SEC_EN&l

56、t;='1';</p><p>  MIN_EN<='0';</p><p>  WHEN MIN_SET => MODE<=HOUR_SET;HOUR<=HOUR_CUR;MIN_EN<='1';</p><p>  HOUR_EN<='0';</p>

57、<p>  WHEN HOUR_SET=>MODE<=DAY_SET;DAY<=DAY_CUR; HOUR_EN<='1';</p><p>  DAY_EN<='0';</p><p>  WHEN DAY_SET=>MODE<=MON_SET;MON<=MON_CUR;</p>&

58、lt;p>  DAY_EN<='1';MON_EN<='0';</p><p>  WHEN MON_SET=> MODE<=YEAR_SET;YEAR<=YEAR_CUR;</p><p>  MON_EN<='1';YEAR_EN<='0';</p><p

59、>  WHEN YEAR_SET =>MODE<=WEEK_SET;WEEK<=WEEK_CUR;</p><p>  YEAR_EN<='1';WEEK_EN<='0';</p><p>  WHEN WEEK_SET =>MODE<=NORMAL;</p><p><b>

60、  END CASE;</b></p><p>  ELSIF KEY="10" THEN </p><p>  CASE MODE IS</p><p>  WHEN SEC_SET=> SEC_EN<='0';</p><p>  IF SEC="111011"

61、;THEN SEC<="000000";</p><p>  ELSE SEC<=SEC+1;</p><p><b>  END IF;</b></p><p>  WHEN MIN_SET=>MIN_EN<='0';</p><p>  IF MIN=&

62、quot;111011"THEN MIN<="000000";</p><p>  ELSE MIN<=MIN+ 1;</p><p><b>  END IF;</b></p><p>  WHEN HOUR_SET=>HOUR_EN<='0';</p>&l

63、t;p>  IF HOUR="11000" THEN HOUR<="00000";</p><p>  ELSE HOUR<=HOUR+1;</p><p><b>  END IF;</b></p><p>  WHEN DAY_SET=>DAY_EN<='0

64、9;;</p><p>  IF DAY<=MAX_DAYS THEN DAY<="00001";</p><p>  ELSE DAY<=DAY+ 1;</p><p><b>  END IF;</b></p><p>  WHEN MON_SET=>MON_EN<=

65、'0';</p><p>  IF MON="1100" THEN MON<="0001";</p><p>  ELSE MON<=MON+1;</p><p><b>  END IF;</b></p><p>  WHEN YEAR_SET=>

66、; YEAR_EN<='0';</p><p>  IF YEAR="1100011"THEN YEAR<="0000000";</p><p>  ELSE YEAR<=YEAR+1;</p><p><b>  END IF;</b></p><p

67、>  WHEN WEEK_SET=>WEEK_EN<='0';</p><p>  IF WEEK="111"THEN WEEK<="001";</p><p>  ELSE WEEK<=WEEK+1;</p><p><b>  END IF;</b><

68、;/p><p>  WHEN OTHERS=>NULL;</p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PRO

69、CESS;</p><p>  END ARCHITECTURE ART;</p><p><b>  (4)--CNT7</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.S

70、TD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CNT7 IS</p><p>  PORT(CLK:IN STD_LOGIC;</p><p>  LD:IN STD_LOGIC;</p><p>  DATA:IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p

71、>  NUM:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p>  END ENTITY CNT7;</p><p>  ARCHITECTURE ART OF CNT7 IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,LD

72、)IS</p><p><b>  BEGIN</b></p><p>  IF (LD='0')THEN NUM<=DATA;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p>  IF NUM="111&quo

73、t; THEN</p><p>  NUM<="000";</p><p>  ELSE NUM<=NUM+1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END

74、 PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  CNT7.VHD在程序中是實(shí)現(xiàn)‘計(jì)星期’功能。由下級(jí)進(jìn)位信號(hào)作為該級(jí)輸入信號(hào)。并有可輸入輸出端口實(shí)現(xiàn)了在調(diào)整模式中的算法‘人機(jī)交互’。實(shí)現(xiàn)調(diào)整功能。</p><p>  由于CNT12.VHD、CNT24.VHD及CNT100.VHD在形式上與上述內(nèi)容類似,分別以

75、‘計(jì)月、計(jì)時(shí)、計(jì)年’的功能,且都能實(shí)現(xiàn)調(diào)整模式中的算法‘人機(jī)交互’。因此不再贅談。</p><p>  (5)--CNT60.VHD</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;

76、</p><p>  ENTITY CNT60 IS</p><p>  PORT(CLK:IN STD_LOGIC;</p><p>  LD:IN STD_LOGIC;</p><p>  DATA:IN STD_LOGIC_VECTOR(5 DOWNTO 0);</p><p>  NUM:BUFFER STD_

77、LOGIC_VECTOR(5 DOWNTO 0);</p><p>  CO:OUT STD_LOGIC);</p><p>  END ENTITY CNT60;</p><p>  ARCHITECTURE ART OF CNT60 IS</p><p><b>  BEGIN</b></p><

78、p>  PROCESS(CLK,LD)IS</p><p><b>  BEGIN</b></p><p>  IF (LD='0')THEN NUM<=DATA;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p> 

79、 IF NUM="111011" THEN</p><p>  NUM<="000000";CO<='1';</p><p>  ELSE NUM<=NUM+1;CO<='0';</p><p><b>  END IF;</b></p>

80、<p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  (6)--CNT30</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.S

81、TD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CNT30 IS</p><p>  PORT(LD:IN STD_LOGIC;</p><p>  CLK:IN STD_LOGIC;</p><p>  NI

82、AN:IN STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p>  YUE:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DATA:IN STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  NUM:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);<

83、;/p><p>  MAX_DAYS:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  CO:OUT STD_LOGIC);</p><p>  END ENTITY CNT30;</p><p>  ARCHITECTURE ART OF CNT30 IS</p><p>  SIG

84、NAL TOTAL_DAYS:STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,LD)IS</p><p>  VARIABLE IS_RUNNIAN:STD_LOGIC;</p><p><b>  BEGI

85、N</b></p><p>  CASE NIAN IS</p><p>  WHEN"0000100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0001000"=>IS_RUNNIAN:='1'; </p><p>

86、  WHEN"0001100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0010000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0010100"=>IS_RUNNIAN:='1'; </p>

87、<p>  WHEN"0011000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0011100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0100000"=>IS_RUNNIAN:='1';

88、 </p><p>  WHEN"0100100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0101000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0101100"=>IS_RUNNIAN:=&#

89、39;1'; </p><p>  WHEN"0110000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0110100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"0111000"=>IS_

90、RUNNIAN:='1'; </p><p>  WHEN"0111100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"1000000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"1000100&qu

91、ot;=>IS_RUNNIAN:='1';</p><p>  WHEN"1001000"=>IS_RUNNIAN:='1'; </p><p>  WHEN"1001100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"1

92、010000"=>IS_RUNNIAN:='1';</p><p>  WHEN"1010100"=>IS_RUNNIAN:='1'; </p><p>  WHEN"1011000"=>IS_RUNNIAN:='1'; </p><p>  WHE

93、N"1100000"=>IS_RUNNIAN:='1'; </p><p>  WHEN OTHERS=>IS_RUNNIAN:='0';</p><p><b>  END CASE;</b></p><p>  CASE YUE IS</p><p> 

94、 WHEN"0001"=>TOTAL_DAYS<="11111";</p><p>  WHEN"0011"=>TOTAL_DAYS<="11111";</p><p>  WHEN"0101"=>TOTAL_DAYS<="11111"

95、;</p><p>  WHEN"0111"=>TOTAL_DAYS<="11111";</p><p>  WHEN"1000"=>TOTAL_DAYS<="11111";</p><p>  WHEN"1010"=>TOTAL_DAY

96、S<="11111";</p><p>  WHEN"1100"=>TOTAL_DAYS<="11111";</p><p>  WHEN"0100"=>TOTAL_DAYS<="11111";</p><p>  WHEN"0

97、110"=>TOTAL_DAYS<="11111";</p><p>  WHEN"1001"=>TOTAL_DAYS<="11111"; </p><p>  WHEN"1011"=>TOTAL_DAYS<="11111";</p>

98、<p>  WHEN"0010"=></p><p>  IF(IS_RUNNIAN='1') THEN</p><p>  TOTAL_DAYS<="11101";</p><p><b>  ELSE</b></p><p>  TOT

99、AL_DAYS<="11100";</p><p><b>  END IF;</b></p><p>  WHEN OTHERS=>NULL;</p><p><b>  END CASE;</b></p><p>  IF(LD='0')THEN&

100、lt;/p><p>  NUM<=DATA;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p>  MAX_DAYS<=TOTAL_DAYS;</p><p>  IF NUM=TOTAL_DAYS THEN</p><p>  NUM

101、<=NUM+1;CO<='0';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE; </p>&l

102、t;p>  (7)--CNT24</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CNT24 IS</p><p>

103、  PORT(CLK:IN STD_LOGIC;</p><p>  LD:IN STD_LOGIC;</p><p>  DATA:IN STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  NUM:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p>  CO:OUT STD_

104、LOGIC);</p><p>  END ENTITY CNT24;</p><p>  ARCHITECTURE ART OF CNT24 IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,LD)IS</p><p><b>  BEG

105、IN</b></p><p>  IF (LD='0')THEN NUM<=DATA;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p><p>  IF NUM="10111" THEN</p><p>  NUM<

106、;="00000";CO<='1';</p><p>  ELSE NUM<=NUM+1;CO<='0';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p> 

107、 END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  (8)--CNT12</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_U

108、NSIGNED.ALL;</p><p>  ENTITY CNT12 IS</p><p>  PORT(CLK:IN STD_LOGIC;</p><p>  LD:IN STD_LOGIC;</p><p>  DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  NUM

109、:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CO:OUT STD_LOGIC);</p><p>  END ENTITY CNT12;</p><p>  ARCHITECTURE ART OF CNT12 IS</p><p><b>  BEGIN</b><

110、/p><p>  PROCESS(CLK,LD)IS</p><p><b>  BEGIN</b></p><p>  IF (LD='0')THEN NUM<=DATA;</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p>

111、<p>  IF NUM="1011" THEN</p><p>  NUM<="0000";CO<='1';</p><p>  ELSE NUM<=NUM+1;CO<='0';</p><p><b>  END IF;</b>&l

112、t;/p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p><b>  --CNT100</b></p><p>  LIBRARY IEEE;</p&g

113、t;<p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CNT100 IS</p><p>  PORT(CLK:IN STD_LOGIC;</p><p>  LD:IN STD_LOGIC

114、;</p><p>  DATA:IN STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p>  NUM:BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p>  END ENTITY CNT100;</p><p>  ARCHITECTURE ART OF CNT100 IS&l

115、t;/p><p><b>  BEGIN</b></p><p>  PROCESS(CLK,LD)IS</p><p><b>  BEGIN</b></p><p>  IF (LD='0')THEN NUM<=DATA;</p><p>  ELSIF

116、 CLK'EVENT AND CLK='1' THEN</p><p>  IF NUM="1100100" THEN</p><p>  NUM<="0000000";</p><p>  ELSE NUM<=NUM+1;</p><p><b>  EN

117、D IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  (10)--YMQ38.VHD</p><p>  LIBRARY IEEE;<

118、;/p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL ;</p><p>  ENTITY YMQ38 IS</p><p>  PORT(DIN:IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p>&l

119、t;p>  DOUT :OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p>  END ENTITY YMQ38;</p><p>  ARCHITECTURE ART OF YMQ38 IS</p><p><b>  BEGIN</b></p><p>  PROCESS(DI

120、N)</p><p><b>  BEGIN</b></p><p>  CASE DIN IS</p><p>  WHEN"000"=>DOUT<="11111110";</p><p>  WHEN"001"=>DOUT<=&quo

121、t;11111101";</p><p>  WHEN"010"=>DOUT<="11111011";</p><p>  WHEN"011"=>DOUT<="11110111";</p><p>  WHEN"100"=>DO

122、UT<="11101111"; </p><p>  WHEN"101"=>DOUT<="11011111";</p><p>  WHEN"110"=>DOUT<="10111111";</p><p>  WHEN"111&

123、quot;=>DOUT<="01111111";</p><p>  WHEN OTHERS=>DOUT<="00000000";</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  EN

124、D ARCHITECTURE ART;</p><p>  YMQ38實(shí)現(xiàn)的是顯示調(diào)整模式的發(fā)光二極管亮滅邏輯,通過該源程序,我們能更為直觀的選擇、調(diào)整計(jì)時(shí)系統(tǒng)中相應(yīng)的模式。</p><p>  3. 時(shí)序仿真與分析</p><p><b>  圖1-1</b></p><p>  從圖1可以看出,CNT60實(shí)現(xiàn)了0到5

125、9的循環(huán)計(jì)數(shù),每實(shí)現(xiàn)一次59到0的計(jì)數(shù)動(dòng)作,計(jì)數(shù)器模塊輸出一個(gè)進(jìn)位信號(hào)。當(dāng)LD端有低電平輸入時(shí),說明置數(shù)信號(hào)(LD)有效,模塊將預(yù)置數(shù)(DATA)56送入計(jì)數(shù)結(jié)果中去,計(jì)數(shù)模塊從56開始重新計(jì)數(shù)。</p><p><b>  圖1-2</b></p><p>  從圖2可以看出,該模塊首先要讀取當(dāng)前年月,在對(duì)該月的最大天數(shù)進(jìn)行判斷并將結(jié)果向外輸出。在正常的計(jì)數(shù)過程中,

126、模塊實(shí)現(xiàn)了從0到最大天數(shù)的循環(huán)計(jì)數(shù)</p><p><b>  圖1-3</b></p><p>  從圖3 可以看出,調(diào)整鍵被按下了3 次(鍵盤產(chǎn)生“01”信號(hào)即為調(diào)整鍵按下一次),</p><p>  調(diào)分、調(diào)時(shí)、調(diào)日、調(diào)月、調(diào)年、調(diào)星期再回到正常這調(diào)整模式依次經(jīng)過了正常、調(diào)秒、</p><p>  3 種模式的循環(huán)

127、,即MODE 依次從0 到2,再?gòu)? 回到0 的循環(huán)。在按鍵過程中,每按下</p><p>  次按鈕,相應(yīng)的被調(diào)整模式的異步并行置位使能置“0”,同時(shí)通過一個(gè)非門點(diǎn)亮該調(diào)整</p><p>  模式所對(duì)應(yīng)的發(fā)光二極管,作為該調(diào)整模式的指示信號(hào)。圖中,調(diào)整前時(shí)間為2003年6月</p><p>  7日 12:34: 56 星期6,在按動(dòng)了兩次模式鍵(01)后,調(diào)整

128、模式切換到調(diào)分模式,然后又</p><p>  按動(dòng)了兩次調(diào)整鍵(10),實(shí)現(xiàn)了在調(diào)分模式下對(duì)當(dāng)前分的值進(jìn)行調(diào)整(從34 調(diào)到38),調(diào)整</p><p>  后時(shí)間為 2003 年6月7日12:38:56星期3。</p><p><b>  圖1-4</b></p><p>  從圖4可以看出,當(dāng)SELOUT分別等于0

129、,1,2,3,4,5,6,7時(shí),分別選擇對(duì)應(yīng)的輸入數(shù)據(jù)輸出,達(dá)到了設(shè)計(jì)要求。</p><p>  4. 邏輯綜合與分析</p><p>  綜合邏輯組合圖如圖:(由于總圖太大,無法一次截屏,因此分割截圖。)</p><p><b>  圖1-5</b></p><p>  該圖為調(diào)整控制電路(ATCC),通過KEY進(jìn)行調(diào)

130、整模式的選擇;CLK_KEY進(jìn)行具體調(diào)節(jié)相應(yīng)的秒、分、時(shí)、日、月、年等模式。</p><p>  下圖為整個(gè)計(jì)時(shí)系統(tǒng)的運(yùn)算部分。整體由上一級(jí)進(jìn)位信號(hào)作為下一級(jí)的是輸入信號(hào)。實(shí)現(xiàn)相關(guān)的關(guān)聯(lián)。由于界面過小,因此無法到完整的計(jì)數(shù)部分的原理圖。</p><p><b>  圖1-6</b></p><p>  下圖是整體電路圖中的顯示控制部分及譯碼器部

131、分。該部分實(shí)現(xiàn)的是相關(guān)的顯示在系統(tǒng)功能面板上的一系列LED顯示管。</p><p><b>  圖1-7</b></p><p>  最后就是控制顯示面板上的模式選擇發(fā)光二極管部分的連線。該部分的輸入線連接的是調(diào)整控制電路的相應(yīng)SEC_EN、MIN_IN等端口。表明控制調(diào)整模式的選擇。</p><p><b>  圖1-8</b

132、></p><p>  最后是整體波形的仿真圖:</p><p><b>  圖1-9</b></p><p>  由于相關(guān)的波形的設(shè)置較為復(fù)雜,就簡(jiǎn)略的設(shè)置了一下相應(yīng)的波形,確保了輸出顯示。然而在模式選擇的輸出端卻有所欠缺,由于時(shí)間較為緊迫,因此沒有具體去優(yōu)化該輸入信號(hào)的給與。</p><p>  圖1-10

133、 CLOCK綜合后的RTL視</p><p>  圖1-11 CLOCK邏輯綜合后的資源使用情況</p><p><b>  硬件驗(yàn)證及結(jié)果</b></p><p>  圖1-12 顯示周時(shí)分秒</p><p>  圖1-13 顯示年月天</p><p>  6. 設(shè)計(jì)收獲與體會(huì)</p&

134、gt;<p>  對(duì)于這次的綜合計(jì)時(shí)器的設(shè)計(jì),加深了我對(duì)eda兩種設(shè)計(jì)的體會(huì),之前一直用VHDL語(yǔ)言去編寫,沒用過圖表設(shè)計(jì),這一次通過畫圖的方法設(shè)計(jì)了頂端程序。</p><p>  二、SOBEL圖像邊緣檢測(cè)器的設(shè)計(jì)</p><p><b>  1. 系統(tǒng)設(shè)計(jì)原理</b></p><p>  該系統(tǒng)的主要設(shè)計(jì)原理是采用現(xiàn)代電子設(shè)計(jì)

135、的最新技術(shù)——EDA技術(shù),使用高速可編程邏輯器件PFGA/CPLD自行開發(fā)有關(guān)處理芯片成了一種全新的解決方案。如下組成框圖所示:</p><p>  圖2-1 DSP+FPGA/CPLD圖像主處理器</p><p>  其中圖像傳感器CCD的功能是獲取外界圖像的各個(gè)像素點(diǎn)灰度值;圖像主處理器采用數(shù)字信號(hào)處理器DSP,主要負(fù)責(zé)對(duì)圖像傳感器傳送的灰度信息進(jìn)行存儲(chǔ),并負(fù)責(zé)調(diào)用協(xié)處理器進(jìn)行邊界像素

136、判別,找出我們感興趣的目標(biāo)對(duì)象,從而得到該對(duì)象的運(yùn)動(dòng)信息,以便控制執(zhí)行裝置進(jìn)行位置跟蹤;邊緣檢測(cè)協(xié)處理器為FPGA/CPLD,主要是完成主處理器傳送過來的像素的邊界判別,并把處理結(jié)果返回到主處理器中。</p><p>  在本系統(tǒng)中,各項(xiàng)設(shè)計(jì)指標(biāo)為:數(shù)據(jù)吞吐量>10Mb/s;動(dòng)態(tài)響應(yīng)時(shí)間<100ms/frame。主處理器初步選用德州公司的DSP芯片TMS320C5402,協(xié)處理器擬采用ALTERA公司

137、的FLEX10K20。圖像處理系統(tǒng)接口關(guān)系如下圖所示:</p><p><b>  圖2-2</b></p><p>  邊緣可定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界,它是圖像最基本的特征,是圖像分析識(shí)別前必不可少的環(huán)節(jié),是一種重要的圖像預(yù)處理技術(shù)。邊緣檢測(cè)主要就是(圖像的)灰度變化的度量、檢測(cè)和定位,它是圖像分析和模式識(shí)別的主要特征提取手段,它在計(jì)算機(jī)視覺、圖像分析

138、等應(yīng)用中起著重要的作用,是圖像分析與處理中研究的熱點(diǎn)問題。在過去的20年里產(chǎn)生了許多邊緣檢測(cè)器,如Rorberts算子,Sobel算子,Prewitt算子,Laplacian算子等。由于Sobel算法只涉及加法操作,但卻可以得到很好的劃分效果,因而是圖像處理系統(tǒng)中最常用的邊緣檢測(cè)算法。</p><p>  Sobel算法包括帶4個(gè)3×3掩碼的輸入圖像數(shù)據(jù),即Sobel算子,它設(shè)置權(quán)重來檢測(cè)水平、垂直、左

溫馨提示

  • 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ù)僅提供信息存儲(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)論