



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、唐山學(xué)院EDA課程設(shè)計題目簡易數(shù)字頻率計設(shè)計系 (部)信息工程系班級12自動化姓名陳帥學(xué)號4120219124指導(dǎo)教師郭耀華2014年12月21日至 12月26日共1周2014年 12月26日目錄1 引言 .12 實驗 .22.1 實驗原理 .22.1.1基本原理 .32.1.2原理框圖 .32.2 各模塊程序的設(shè)計 .32.2.1分頻定時模塊的設(shè)計 .32.2.2待測信號計數(shù)模塊的設(shè)計 .42.2.3顯示編譯模塊的設(shè)計 .92.2.4頂層模塊的設(shè)計 .13.2.2.5封裝圖 .152.2.6.引腳鎖定 .154 結(jié)論 .17參考文獻.18附 錄 .192課程設(shè)計說明書1 引言數(shù)字頻率計是通訊
2、設(shè)備、計算機、電子產(chǎn)品等生產(chǎn)領(lǐng)域不可缺少的測量儀器。由于硬件設(shè)計的器件增加,使設(shè)計更加復(fù)雜,可靠性變差,延遲增加,測量誤差變大。通過使用EDA 技術(shù)對系統(tǒng)功能進行描述,運用VHDL 語言,使系統(tǒng)簡化,提高整體的性能和可靠性。采用VHDL 編程設(shè)計的數(shù)字頻率計,除了被測信號的整形部分, 鍵輸入和數(shù)碼顯示以外, 其他都在一片 FPGA 上實現(xiàn),從而讓整個系統(tǒng)非常精簡,讓其具有靈活的現(xiàn)場更改性,在不改變硬件電路的基礎(chǔ)上,進一步改進提高系統(tǒng)的性能,使數(shù)字頻率計具有高速,精確度高,可靠性強,抗干擾等優(yōu)點,為數(shù)字系統(tǒng)進一步的集成創(chuàng)造了條件。傳統(tǒng)的硬件設(shè)計采用自下至上 (bottom_up)的設(shè)計方法。這種
3、設(shè)計方法在系統(tǒng)設(shè)計的后期進行仿真和調(diào)試 ,一旦考慮不周 ,系統(tǒng)設(shè)計存在較大缺陷 ,就有可能要重新設(shè)計系統(tǒng) ,使設(shè)計周期大大增加。現(xiàn)代硬件設(shè)計利用電子設(shè)計自動化 (EDA) 技術(shù) ,采用并行工程和自上至下 (top_down)的設(shè)計方法 ,從系統(tǒng)設(shè)計入手 ,在頂層進行功能方框圖的劃分和結(jié)構(gòu)設(shè)計 ,在方框圖一級進行仿真和糾錯 ,并用 vhdl 等硬件描述語言對高層次的系統(tǒng)行為進行描述 ,在系統(tǒng)一級進行驗證 ,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表 ,其對應(yīng)的物理實現(xiàn)是專用集成電路 (ASIC) 。Vhdl 即超高速集成電路硬件描述語言 ,主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、 行為、功能和接口
4、。 vhdl 對設(shè)計的描述具有相對獨立性 ,因此設(shè)計者可以不懂硬件結(jié)構(gòu) , 降低了硬件電路設(shè)計難度。 以 4 位十進制數(shù)字頻率計的設(shè)計來說明 vhdl 語言在現(xiàn)代硬件設(shè)計中的應(yīng)用。信號頻率計的測量有測頻法和周期測量法。本文采用測頻法 ,即直接計算每秒鐘內(nèi)信號脈沖的個數(shù)。1課程設(shè)計說明書2 實驗2.1 簡易數(shù)字頻率計設(shè)計原理設(shè)計內(nèi)容 :( 1)設(shè)計四位十進制的簡易數(shù)字頻率計,對1HZ-10MHZ的方波信號進行測量;( 2)測量的方波頻率值要在4 位數(shù)碼管上進行顯示;( 3)根據(jù)不同的待測方波信號,頻率計分為4 個量程進行測量,四個量程分別為乘1 乘 10,乘 100,乘 1000 量程。( 4)
5、此頻率計要設(shè)有一個整體復(fù)位控制;2.1.1 基本原理數(shù)字頻率計的主要功能是測量周期信號的頻率。頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘,對比測量其他信號的頻率。頻率是單位時間( 1 秒)內(nèi)方波信號發(fā)生周期變化的次數(shù)。在給定的1 秒時間內(nèi)對方波信號波形計數(shù),并將所計數(shù)值顯示出來,就能讀取被測信號的頻率。數(shù)字頻率計首先必須獲得相對穩(wěn)定與準(zhǔn)確的時間,然后通過計數(shù)器計算這一段時間間隔內(nèi)的方波脈沖個數(shù)并顯示出來。這就是數(shù)字頻率計的基本原理。脈沖信號的頻率就是在單位時間內(nèi)所產(chǎn)生的脈沖個數(shù),其表達式為 f NT,其中 f 為被測信號的頻率, N 為計數(shù)器所累計的脈沖個數(shù),T 為產(chǎn)生 N 個脈
6、沖所需的時間。本設(shè)計要求基準(zhǔn)時鐘的頻率為1HZ,所以需要分頻設(shè)計產(chǎn)生脈寬為 1 秒的脈沖。再利用這個脈寬為1 秒的脈沖計數(shù),計數(shù)器所記錄的結(jié)果,就是被測信號的頻率。因為待測方波信號的頻率在1HZ-10MHZ ,所以僅用四位 7 段數(shù)碼管無法完全正確顯示,所以需要選擇恰當(dāng)?shù)牧砍虂盹@示待測風(fēng)波信號的頻率,當(dāng)量程選擇不當(dāng)或者頻率超出10MHZ 時,用一個 LED 燈點亮來警告測量有錯誤。2.1.2 原理框圖本設(shè)計要求用基準(zhǔn)時鐘信號 ( f=1HZ )的控制完成對 1HZ-10MHZ 的方波信號進行測量,使得所測量的方波頻率值在 4 位 7 段數(shù)碼管上進行顯示,并根據(jù)不同的待測方波信號,將頻率計分為
7、4 個量程進行測量,四個量程分別為乘 1,乘 10,乘 100,乘 1000 量程,量程的選擇分為手動和自動兩種。當(dāng)手動選擇量程時,自動量程顯示為零,手動量程部分依手動所選量程而定;當(dāng)手動選擇信號不工作時,頻率計自動選擇比較合適的量程進行顯示,手動量程部分顯示為零。而且此頻率計具有記憶功能,在測量過程中不刷新數(shù)據(jù),等數(shù)據(jù)測量過程2課程設(shè)計說明書結(jié)束后才顯示測量值,顯示測量的頻率值,并保存到下一次測量結(jié)束。數(shù)字頻率計還有一個整體的異步清零端,隨時可以進行清零操作。此外,數(shù)字頻率計還有一個不能正確顯示待測方波信號頻率時的警告燈。數(shù)字頻率計通過測頻控制發(fā)生器將基準(zhǔn)信號轉(zhuǎn)換成所需要的控制信號clk1和
8、 en,待測信號計數(shù)器在en 的控制下對待測信號進行測量并通過鎖存器在clk1的控制下按要求進行顯示,數(shù)字頻率計包括測頻控制發(fā)生器ctr、待測信號計數(shù)器 counter、鎖存器 regist 三個功能模塊,其原理框圖如圖所示。a(3:0)a(3:0)q1(3:0)q1(3:0)rstrstq2(3:0)q2(3:0)clkclk 測 頻 控clkclk鎖q3(3:0)制 發(fā) 生q3(3:0)rsten存器器q4(3:0)q4(3:0)sd(3:0)sd(3:0)end(27:0)d(27:0)zd(3:0)zd(3:0)待 測 信rst 號 計 數(shù)sel(3:0)sel(3:0)clkin器b
9、bclkin3課程設(shè)計說明書其中 a 是手動選擇量程輸入端, sd 代表手動量程的顯示, rst 是整體異步清零輸入端, clk 是頻率為 1HZ 的基準(zhǔn)時鐘, clkin 是待測的方波信號, b 是顯示是否超出了頻率計的測量范圍, zd 是在手動選擇量程不工作時頻率計進行的自動選擇合適的量程顯示,q1q4 是四位數(shù)值從高位到低位的顯示結(jié)果。2.2 各模塊程序及仿真此設(shè)計運用元件例化的方法進行功能的實現(xiàn),所以各個模塊即使相互獨立又是彼此聯(lián)系的,三個模塊共同完成方波信號的測量。2.2.1 測頻控制發(fā)生器ctr 模塊的設(shè)計本設(shè)計要求為該模塊 ctr 提供的基準(zhǔn)信號頻率為 1 HZ,所以要做一個 2
10、 分頻器控制產(chǎn)生一個脈寬為 1 秒的周期信號 en 和一個鎖存信號 clk1。rst 為高電平時進行整體異步清零。 當(dāng) en 處于高電平的時候?qū)斎氲拇郎y方波信號進行計數(shù)測量,當(dāng)en 處于低電平的時候停止計數(shù),并保持所計數(shù)值。當(dāng)clk1 是上升沿的時候?qū)⑺3值臄?shù)值輸出顯示。此測頻控制發(fā)生器的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity ctr isport(clk,rst: in std_logic;clk1,e
11、n: buffer std_logic);end ctr;architecture bhv of ctr is4課程設(shè)計說明書beginprocess(clk,rst)variable c:integer range 0 to 2beginif rst='1' thenen<='0'elsif clk'event and clk='1' thenc:=c+1;if c=1 thenc:=0;en<=not en;end if;end if;clk1<=not(clk or en);end process;end bhv;
12、此測頻控制發(fā)生器的仿真結(jié)果如圖所示。此模塊如果仿真12M 分頻器很困難,為了看到仿真效果,改成20 倍分頻器,得到了此仿真結(jié)果。如果按程序下載,在硬件上能很清楚的看到由6MHZ的基準(zhǔn)信號得到了脈寬為 1 秒的控制信號 en 和控制輸出信號 clk1,rst 實現(xiàn)了整體異步清零的功能。2.2.2 待測信號計數(shù)器counter 模塊的設(shè)計該模塊通過 ctr 模塊所產(chǎn)生的脈寬為1 秒的 en 信號來對待測信號進行計數(shù)。用 28 位二進制數(shù) d 進行對待測信號的計數(shù),同時用 sel 表示自動量程根據(jù)所得數(shù)值 d 變化,sel 為“ 0001”時代表乘 1,sel 為“0010”時代表乘 10,sel
13、為“ 0100”時代表乘 100,sel 為“1000”時代表乘 1000。如果測量選擇量程太小或者待測方波信號頻率超出 10MHZ ,均無法正確顯示測量結(jié)果, 則將 b 置高電平進行警告。此待測信號計數(shù)器的程序如下:5課程設(shè)計說明書library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity counter isport(en,clkin,rst:in std_logic;a:in std_logic_vector(3 downto 0)
14、;sel:out std_logic_vector(3 downto 0);d :out std_logic_vector(27 downto 0);b:out std_logic);end counter;architecture bhv of counter issignal dd: std_logic_vector(27 downto 0);beginprocess(rst,en,clkin)beginif rst='1' thendd<=(others=>'0');b<='0'elsif en='1' t
15、henif clkin'event and clkin='1' thenif dd(27 downto 0)="1001100110011001100110011001" then dd<=(others=>'0'); b<='1'elsif dd(23 downto 0)="100110011001100110011001" then dd<=dd+"011001100110011001100111"elsif dd(19 downto 0)="
16、;10011001100110011001" then dd<=dd+"01100110011001100111"elsif dd(15 downto 0)="1001100110011001" thendd<=dd+"0110011001100111"elsif dd(11 downto 0)="100110011001" thendd<=dd+"011001100111"elsif dd(7 downto 0)="10011001" thend
17、d<=dd+"01100111"elsif dd(3 downto 0)="1001" then6課程設(shè)計說明書dd<=dd+"0111"elsedd<=dd+'1'end if;end if;if dd(27 downto 24)>"0000" thensel<="1000"elsif dd(23 downto 20)>"0000" thensel<="0100"elsif dd(19 downt
18、o 16)>"0000" thensel<="0010"elsesel<="0001"end if;elsedd<=(others=>'0');end if;if dd(27 downto 24)>"0000" thenif a="1000" thenb<='0'elsif a="0000" thenb<='0'elseb<='1'end if;elsif d
19、d(23 downto 20)>"0000" thenif a="1000" thenb<='0'elsif a="0100" thenb<='0'elsif a="0000" thenb<='0'elseb<='1'7課程設(shè)計說明書end if;elsif dd(19 downto 16)>"0000" thenif a="1000" thenb<='0'
20、;elsif a="0100" thenb<='0'elsif a="0010" thenb<='0'elsif a="0000" thenb<='0'elseb<='1'end if;elseb<='0'end if;end process;process(en)beginif en'event and en='0' thend<=dd;end if;end process;end bhv;此待
21、測信號計數(shù)器的仿真結(jié)果如圖3 所示。該模塊實現(xiàn)了在en 為高電平時對輸入的待測信號clkin 進行測量,當(dāng) en 為8課程設(shè)計說明書低電平時停止測量并將所計數(shù)值輸出,即在1 秒內(nèi)待測信號的脈沖數(shù),也就是待測信號的頻率值。 sel 為根據(jù)所計數(shù)值自動合理選擇的量程, 此時 sel 為“0001”,代表乘 1HZ 的量程,即所測方波信號的頻率在 9999HZ 之內(nèi)。2.2.3 鎖存器 regist 模塊的設(shè)計該模塊用于實現(xiàn)記憶顯示,在測量過程中不刷新新的數(shù)據(jù),直到測量過程結(jié)束后,鎖存顯示測量結(jié)果,并且保存到下一次測量結(jié)束。 其功能是對四位 BCD 碼進行鎖存并且轉(zhuǎn)換成為對應(yīng)的 4 組七段碼,用于驅(qū)
22、動數(shù)碼管。 其中 rst 為高電平時對鎖存器進行異步清零。 rst 為低電平時正常工作。輸入信號 a 對鎖存器進行控制即手動選擇量程,當(dāng) a 為“ 0001”時,代表選擇乘 1 檔,自動量程顯示為零,手動量程顯示乘 1HZ,只輸出計數(shù)所得值 d 的低四位并顯示在四個十進制數(shù)碼管上;當(dāng) a 為“ 0010”時,代表選擇乘 10 檔,自動量程顯示為零,手動量程顯示乘 10HZ,只輸出計數(shù)所得值 d 的次低四位并顯示在四個十進制數(shù)碼管上;當(dāng) a 為“ 0100”時,代表選擇乘 100 檔,自動量程部分清零,手動量程顯示乘 100HZ,只輸出計數(shù)所得值 d 的次高四位并顯示在四個十進制數(shù)碼管上;當(dāng) a
23、 為“1000”時,代表選擇乘 1000 檔,自動量程部分清零,手動量程顯示乘1000HZ,只輸出計數(shù)所得值d 的高四位并顯示在四個十進制數(shù)碼管上。當(dāng)a 為“ 0000”時,代表不進行手動選擇,則手動量程顯示為零,自動量程部分根據(jù)所計數(shù)值進行合理選擇。 sel 為“ 0001”代表所測得的頻率值在 09999HZ 之內(nèi),則自動量程顯示乘 1HZ,輸出所測數(shù)值的有效部分并顯示在四個十進制數(shù)碼管上; sel 為“ 0010”代表所測得的頻率值在1000099999HZ 之內(nèi),則自動量程顯示乘 10HZ,輸出所測數(shù)值的有效部分的高四位并顯示在四個十進制數(shù)碼管上; sel 為“ 0100”代表所測得的
24、頻率值在100000999999HZ 之內(nèi),則自動量程顯示乘 100HZ,輸出所測數(shù)值的有效部分的高四位并顯示在四個十進制數(shù)碼管上; sel 為“ 1000”代表所測得的頻率值在10000009999999HZ 之內(nèi),則自動量程顯示乘1000HZ,輸出所測數(shù)值的有效部分的高四位并顯示在四個十進制數(shù)碼管上。此鎖存與譯碼器的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity regist isport(clk1,rst:in
25、 std_logic;d:in std_logic_vector(27 downto 0);9課程設(shè)計說明書sel,a:in std_logic_vector(3 downto 0);zd,sd:out std_logic_vector(3 downto 0);q1,q2,q3,q4:out std_logic_vector(3 downto 0);end regist;architecture bhv of regist isbeginprocess(rst,clk1)beginif rst='1' thenq1<=(others=>'0');q2
26、<="0000"q3<="0000"q4<="0000"zd<="0000"elsif(clk1'event and clk1='1') thenif(a="0000") thenif sel="1000" thenq1<=d(27 downto 24);q2<=d(23 downto 20);q3<=d(19 downto 16);q4<=d(15 downto 12);zd<="100
27、0"sd<="0000"elsif sel="0100" thenq1<=d(23 downto 20);q2<=d(19 downto 16);q3<=d(15 downto 12);q4<=d(11 downto 8);zd<="0100"sd<="0000"elsif sel="0010" thenq1<=d(19 downto 16);q2<=d(15 downto 12);q3<=d(11 downto 8);10課
28、程設(shè)計說明書q4<=d(7 downto 4);zd<="0010"sd<="0000"elsif sel="0001" thenq1<=d(15 downto 12);q2<=d(11 downto 8);q3<=d(7 downto 4);q4<=d(3 downto 0);zd<="0001"sd<="0000"end if;elsif(a="0001") thenq1<=d(15 downto 12);q2&
29、lt;=d(11 downto 8);q3<=d(7 downto 4);q4<=d(3 downto 0);zd<="0000"sd<="0001"elsif(a="0010") thenq1<=d(19 downto 16);q2<=d(15 downto 12);q3<=d(11 downto 8);q4<=d(7 downto 4);zd<="0000"sd<="0010"elsif(a="0100") th
30、enq1<=d(23 downto 20);q2<=d(19 downto 16);q3<=d(15 downto 12);q4<=d(11 downto 8);zd<="0000"sd<="0100"elsif(a="1000") thenq1<=d(27 downto 24);11課程設(shè)計說明書q2<=d(23 downto 20);q3<=d(19 downto 16);q4<=d(15 downto 12);zd<="0000"sd<=
31、"1000"end if;end if;end process;end bhv;此鎖存與譯碼器的仿真結(jié)果如圖所示。該模塊的仿真為了將各個功能都清晰的顯示出來將 sel 進行了提前設(shè)置,并不是根據(jù)所測頻率值進行的自動選擇。 Sel 是輸入信號,前提我們已經(jīng)知道 sel和 a 不能同時工作,所以為了使用 a,將 sel 人為的提前設(shè)成“ 0000”了,不過如此提前將 sel 的值進行設(shè)定并不影響整體的功能。 此仿真圖中 a 為“0001”代12課程設(shè)計說明書表乘 1 量程,只顯示所計數(shù)值 d 的低四位,即十六進制的 “ 0” “3”“6” “ 8” “ 9”,此時手動量程 sd
32、 顯示為“0001”,自動量程 zd 顯示“0000”代表不工作。2.2.4 頂層模塊的設(shè)計該模塊用元件調(diào)用(元件例化語句)實現(xiàn)本設(shè)計要求的整體功能。頂層文件的作用是將三個底層文件聯(lián)系到一起,共同實現(xiàn)該簡易數(shù)字頻率計數(shù)器的功能。此處定義了en0,d0,sel0,clko 等四個信號進行底層文件之間以及底層與頂層之間的連接。此模塊的程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity pin isport(rst,clk
33、,clkin:in std_logic;q1,q2,q3,q4:out std_logic_vector(3 downto 0);sd,zd:out std_logic_vector(3 downto 0);a:in std_logic_vector(3 downto 0);b:out std_logic);end pin;architecture bhv of pin iscomponent ctrport(clk,rst : in std_logic;clk1,en : buffer std_logic);end component;component counterport(en,clk
34、in,rst :in std_logic;a:in std_logic_vector(3 downto 0);sel :out std_logic_vector(3 downto 0);d :out std_logic_vector(27 downto 0);b :out std_logic);end component;component regist13課程設(shè)計說明書port(clk1,rst:in std_logic;d:in std_logic_vector(27 downto 0);sel,a:in std_logic_vector(3 downto 0);zd,sd:out std
35、_logic_vector(3 downto 0);q1,q2,q3,q4:out std_logic_vector(3 downto 0);end component;signal clk0: std_logic;signal en0: std_logic;signal d0: std_logic_vector(27 downto 0);signal sel0: std_logic_vector(3 downto 0);beginU1:ctr port map(clk,rst,clk0,en0);U2:counter port map(en0,clkin,rst,a,sel0,d0,b);U
36、3:regist port map(clk0,rst,d0,sel0,a,zd,sd,q1,q2,q3,q4); end bhv;此模塊的仿真結(jié)果如圖所示:由于頂層模塊調(diào)用 ctr 模塊,所以仿真時遇到類似的問題,我們改用12 倍分頻器來仿真 ,則在 6 個基準(zhǔn)信號周期時間內(nèi)對待測信號計數(shù),所以得到的數(shù)值除以 6 就是待測信號與基準(zhǔn)信號的頻率倍數(shù)關(guān)系。 所以整體功能仿真結(jié)果顯示,14課程設(shè)計說明書基準(zhǔn)信號周期為200ns,即頻率為 5MHZ ,所以此待測信號的頻率為50MHZ 。當(dāng) a 為“ 0001”時,代表選擇乘 1HZ 的量程,即顯示低四位,此時,手動量程顯示為“ 0001”表示乘 1H
37、Z 量程,自動量程顯示為 “0000表”示不工作。當(dāng) a 為“ 0010”時,代表選擇乘 10HZ 的量程,即顯示次低四位,此時,手動量程顯示為“ 0010”表示乘 10HZ 量程,自動量程顯示為 “0000表”示不工作。當(dāng) rst 為高電平時,輸出均為 0,則進行了整體異步清零。2.2.6 封裝圖2.2.5 引腳鎖定硬件下載前,進行引腳鎖定,各引腳鎖定情況如圖6 所示。15課程設(shè)計說明書引腳鎖定完成后,再次對設(shè)計文件進行編譯。重新編譯完成后,將配置文件下載到系統(tǒng)的目標(biāo)芯片上, 下載適配后, 按動鍵 1 到鍵 4 進行手動選擇量程,查看各個部分是否能夠完成其功能??梢园存I 8 進行異步清零。最
38、右邊四個數(shù)碼管從左向右是從高位到低位的顯示的頻率。最左邊數(shù)碼管顯示手動選擇的量程數(shù)值,左邊第二個是自動默認選擇的量程數(shù)值。硬件電路簡捷,體積小,所有電路都在一塊芯片里,因此性能穩(wěn)定。16課程設(shè)計說明書3 總結(jié)通過這學(xué)期學(xué)的 EDA 技術(shù),再加上這幾天邊查資料邊請教老師,終于理清了頭緒,完成了此次課程設(shè)計。剛開始拿到本次程序設(shè)計題的時候確實有點兒興奮,心想著盡量要獨立快速而又高質(zhì)量的完成這次課程設(shè)計。但是大概思路有了,覺得特別復(fù)雜,我害怕了,一陣慌亂后,終于定下心來了終于找到了一個比較類似的 VHDL 程序的簡易數(shù)字頻率計設(shè)計。 這也使得我今天的程序頗有類同的感覺??戳藥妆檎n題設(shè)計要求和書上給的
39、源程序后對如何寫這一方面的程序有了一定的了解, 于是就嘗試著自己開始作起了這個系統(tǒng)的總體框圖。平時覺得老師講課時都特別簡單清楚,但是現(xiàn)在自己拿到一個設(shè)計要求時,亂陣腳了,但是經(jīng)過努力,先把封裝圖畫了出來,最終把原理框圖畫出來了。時間過得真快,馬上到周四了,要進實驗室做仿真和下載的時候了,剛開始在實驗室有點著急,但是老師的新要求提出時,我冷靜了,修改程序,做調(diào)試,在最后終于成功的完成了符合設(shè)計要求的程序,下載后仍有點小問題需要修改。但是畢竟得到了老師的肯定, 我的信心更足了。 下午又重新整理了自己的思路,功夫不負有心人,終于把問題都解決了。通過這次EDA 課程設(shè)計,我對課堂上所學(xué)到的理論知識的理
40、解加深了許多, 自己動腦、動手設(shè)計的能力也得到了較大提高。在這次課程設(shè)計的過程中,我對VHDL語言有了更深的認識。通過查閱相關(guān)資料和動手設(shè)計我發(fā)現(xiàn)我以前對 VHDL 語言的認識太過膚淺, 認為 VHDL 語言只能用于設(shè)計小型的電路系統(tǒng)。但有了更深刻的認識之后我發(fā)現(xiàn)學(xué)好 VHDL 語言可以設(shè)計出大規(guī)模的、功能復(fù)雜的電路系統(tǒng)。我發(fā)現(xiàn)了動手實踐的重要性。動手實踐是理論知識得以靈活運用的必要前提,也是今后走上工作崗位之后能夠很好的完成設(shè)計工作的技術(shù)保證。只有遇到實際問題并根據(jù)自己對課堂上獲得的專業(yè)知識的理解來解決才能真正的提高自己的能力。這也提醒我在平時的學(xué)習(xí)生活中不能一味埋頭于課本知識,當(dāng)今社會競爭
41、越來越激烈,社會對人才的要求越來越全面,只有理論知識是遠遠不夠的,必須靠實踐作支撐。 雖然課設(shè)完成了,但是我意識到,我對 FPGA 技術(shù)僅僅只是停留在入門的階段,想要有更大的發(fā)展,更深入的研究,還需要更多的努力與實踐。參考文獻1 Voknei A.Pedroni. VHDL 數(shù)字電路設(shè)計教程.電子工業(yè)出版社,2008.517課程設(shè)計說明書2 潘松,黃繼業(yè) . EDA 技術(shù)實用教程(第二版) .科學(xué)出版社, 2005.23 焦素敏 . EDA 應(yīng)用技術(shù) .清華大學(xué)出版社, 2002.44 曾繁泰 ,陳美金 .VHDL 程序設(shè)計 M. 北京 :清華大學(xué)出版社 ,2001.5 潘松,黃繼業(yè) .EDA
42、 技術(shù)實用教程 M. 北京 :科學(xué)出版社, 2002.6 宋萬杰 ,羅豐 .CPLD 技術(shù)及其應(yīng)用 M. 西安 :西安電子科技大學(xué)出版社,1999附錄library ieee;use ieee.std_logic_1164.all;18課程設(shè)計說明書use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity cs3 isport(rst,clk,clkin:in std_logic;a:in std_logic_vector(3 downto 0);q1,q2,q3,q4:out std_logic_vector(3
43、downto 0);sd:out std_logic_vector(3 downto 0);zd:out std_logic_vector(3 downto 0);b:out std_logic);end cs3;architecture bhv of cs3 issignal clk1:std_logic;signalen:std_logic;signalbb:std_logic;signaldd:std_logic_vector(27 downto 0);signald:std_logic_vector(27 downto 0);signalsel:std_logic_vector(3 d
44、ownto 0);beginprocess(clk,rst)variable c:integer range 0 to 2;beginif rst='1' thenclk1<='0'en<='0'elsif clk'event and clk='1' thenc:=c+1;if c=1 thenc:=0;en<=not en;end if;end if;clk1<= not ( clk or en);end process;process(rst,en,clkin)begin19課程設(shè)計說明書if
45、rst='1' thendd<=(others=>'0');bb<='0'elsif en='1' thenif clkin'event and clkin='1' thenif dd(27 downto 0)="1001100110011001100110011001" then dd<=(others=>'0'); bb<='1'elsif dd(23 downto 0)="1001100110011001
46、10011001" then dd<=dd+"011001100110011001100111"elsif dd(19 downto 0)="10011001100110011001" then dd<=dd+"01100110011001100111"elsif dd(15 downto 0)="1001100110011001" thendd<=dd+"0110011001100111"elsif dd(11 downto 0)="10011001100
47、1" thendd<=dd+"011001100111"elsif dd(7 downto 0)="10011001" thendd<=dd+"01100111"elsif dd(3 downto 0)="1001" thendd<=dd+"0111"else dd<=dd+'1'end if;end if;if dd(27 downto 24)>"0000" thensel<="1000"el
48、sif dd(23 downto 20)>"0000" thensel<="0100"elsif dd(19 downto 16)>"0000" thensel<="0010"elsesel<="0001"end if;elsedd<=(others=>'0');bb<='0'end if;if dd(27 downto 24)>"0000" thenif a="1000" then20課程設(shè)計說明書bb<='0'elsif a="0000" thenbb<='0'elsebb<='1'end if;elsif dd(23 downto 20)>"0000" thenif a="1000" thenbb<='0'elsif a=&quo
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播簽約薪酬合同范本
- 別墅室內(nèi)石材合同范本
- 保密設(shè)備合同范本
- 分時度假 合同范本
- 保險增值服務(wù)合同范本
- 第15課 現(xiàn)代醫(yī)療衛(wèi)生體系與社會生活 教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版(2019)高二歷史選擇性必修2 經(jīng)濟與社會生活
- 勞動合同范本txt
- 2024年招商銀行鄭州分行招聘考試真題
- 二手電線買賣合同范本
- 2024年銀川市永寧三沙源上游學(xué)校招聘筆試真題
- 施工安全管理培訓(xùn)資料
- 第16課數(shù)據(jù)管理與編碼(教案)四年級全一冊信息技術(shù)人教版
- 0-3歲嬰幼兒基礎(chǔ)護理知到智慧樹章節(jié)測試課后答案2024年秋杭州師范大學(xué)
- 掛靠免責(zé)協(xié)議書范本
- 2024-2030年中國新媒體市場前景規(guī)模及發(fā)展趨勢分析報告
- Python金融數(shù)據(jù)分析與挖掘(微課版) 教案全套 黃恒秋
- 中建10t龍門吊安拆安全專項施工方案
- 國內(nèi)外測井技術(shù)現(xiàn)狀與展望文檔
- 《銷售人員的培訓(xùn)》課件
- 國防動員課件教學(xué)課件
- 特殊作業(yè)安全管理監(jiān)護人專項培訓(xùn)課件
評論
0/150
提交評論