隨著社會一步步向前發(fā)展,報(bào)告不再是罕見的東西,多數(shù)報(bào)告都是在事情做完或發(fā)生后撰寫的。那么報(bào)告應(yīng)該怎么制定才合適呢?下面是我給大家整理的報(bào)告范文,歡迎大家閱讀分享借鑒,希望對大家能夠有所幫助。
四位十進(jìn)制頻率計(jì)設(shè)計(jì)EDA實(shí)驗(yàn)報(bào)告篇一
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握多位計(jì)數(shù)器相連的設(shè)計(jì)方法。
2、掌握十進(jìn)制,六進(jìn)制,二十四進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法。
3、掌握揚(yáng)聲器的驅(qū)動及報(bào)時的設(shè)計(jì)。
4、led燈的花樣顯示。
5、掌握cpld技術(shù)的層次化設(shè)計(jì)方法。
二、實(shí)驗(yàn)器材
1、主芯片altera epf10k10lc84-4。2、8個led燈。
3、揚(yáng)聲器。4、4位數(shù)碼顯示管。5、8個按鍵開關(guān)(清零,調(diào)小時,調(diào)分鐘)。
三、實(shí)驗(yàn)內(nèi)容
根據(jù)電路特點(diǎn),運(yùn)用層次設(shè)計(jì)概念設(shè)計(jì)。將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口。
1、時計(jì)時程序: library ieee;use ;use ;
entity hour is
port(reset,clk : in std_logic;
daout : out std_logic_vector(7 downto 0));end hour;
architecture behav of hour is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);begin
p1: process(reset,clk)
begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<2)then
if(count=9)then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
else
if(count=3)
then
counter<=“0000”;
else
count<=count+1;
count<=“0000”;
end if;
end if;
end if;
end process;
daout(7 downto 4)<=counter;daout(3 downto 0)<=count;
end behav;
2、分計(jì)時程序: library ieee;
use ;use ;
entity minute is
port(reset,clk,sethour: in std_logic;
daout : out std_logic_vector(7 downto 0);
enhour : out std_logic);end minute;
architecture behav of minute is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin
p1: process(reset,clk)begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<5)then
if(count=9)then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
carry_out1<='0';
else
if(count=9)then
count<=“0000”;
counter<=“0000”;
carry_out1<='1';
else
count<=count+1;
carry_out1<='0';
end if;
end if;end if;end process;
p2: process(clk)begin
if(clk'event and clk='0')then
if(counter=0)then
if(count=0)then
carry_out2<='0';
end if;
else
carry_out2<='1';
end if;end if;end process;
daout(7 downto 4)<=counter;daout(3 downto 0)<=count;enhour<=(carry_out1 and carry_out2)or sethour;end behav;
3、秒計(jì)時程序: library ieee;
use ;use ;
entity second is
port(reset,clk,setmin : in std_logic;
daout : out std_logic_vector(7 downto 0);
enmin : out std_logic);end second;
architecture behav of second is
signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin
p1: process(reset,clk)begin
if reset='0' then
count<=“0000”;
counter<=“0000”;
elsif(clk'event and clk='1')then
if(counter<5)
then
if
(count=9)
then
count<=“0000”;
counter<=counter + 1;
else
count<=count+1;
end if;
carry_out1<='0';
else
if(count=9)
then
count<=“0000”;
counter<=“0000”;
carry_out1<='1';
else
count<=count+1;
carry_out1<='0';
end if;
end if;end if;end process;daout(7 downto
4)<=counter;
daout(3
downto
0)<=count;enmin<=carry_out1 or setmin;end behav;6
4、alert程序: library ieee;
use ;use ;
entity alert is port(clkspk : in std_logic;
second : in std_logic_vector(7 downto 0);
minute : in std_logic_vector(7 downto 0);
speak : out std_logic;
lamp : out std_logic_vector(8 downto 0));end alert;
architecture behav of alert is signal spanclkspk2 : std_logic;begin p1: process(clkspk)begin
if(clkspk'event and clkspk='1')then
spanclkspk2<=not spanclkspk2;
end if;end process;p2: process(second,minute)begin if(minute=“01011001”)then case second is
when “01010001”=>lamp<=“000000001”;speak<=spanclkspk2;when “01010010”=>lamp<=“000000010”;speak<='0';when “01010011”=>lamp<=“000000100”;speak<=spanclkspk2;when “01010100”=>lamp<=“000001000”;speak<='0';when “01010101”=>lamp<=“000010000”;speak<=spanclkspk2;when “01010110”=>lamp<=“000100000”;speak<='0';when “01010111”=>lamp<=“001000000”;speak<=spanclkspk2;when “01011000”=>lamp<=“010000000”;speak<='0';when “01011001”=>lamp<=“100000000”;speak<=clkspk;when others=>lamp<=“000000000”;end case;end if;end process;end behav;8
5、seltime程序 library ieee;
use ;use ;
entity seltime is port(ckdsp : in std_logic;
reset : in std_logic;
second : in std_logic_vector(7 downto 0);
minute : in std_logic_vector(7 downto 0);
hour : in std_logic_vector(7 downto 0);
daout : out std_logic_vector(3 downto 0);
sel : out std_logic_vector(2 downto 0));end seltime;
architecture behav of seltime is signal sec : std_logic_vector(2 downto 0);begin
process(reset,ckdsp)begin
if(reset='0')then sec<=“000”;
elsif(ckdsp'event and ckdsp='1')then
sec<=“000”;else
sec<=sec+1;end if;end if;end process;
process(sec,second,minute,hour)begin case sec is
when “000”=>daout<=second(3 downto 0);when “001”=>daout<=second(7 downto 4);when “011”=>daout<=minute(3 downto 0);when “100”=>daout<=minute(7 downto 4);when “110”=>daout<=hour(3 downto 0);when “111”=>daout<=hour(7 downto 4);when others=>daout<=“1111”;end case;end process;
if(sec=“111”)then
sel<=sec;end behav;
6、deled程序: library ieee;
use ;use ;
entity deled is port(s: in std_logic_vector(3 downto 0);
a,b,c,d,e,f,g,h: out std_logic);end deled;
architecture behav of deled is
signal data:std_logic_vector(3 downto 0);signal dout:std_logic_vector(7 downto 0);begin data<=s;process(data)begin
case data is
when “0000”=>dout<=“00111111”;when “0001”=>dout<=“00000110”;when “0010”=>dout<=“01011011”;when “0011”=>dout<=“01001111”;when “0100”=>dout<=“01100110”;when “0101”=>dout<=“01101101”;when “0110”=>dout<=“01111101”;when “0111”=>dout<=“00000111”;when “1000”=>dout<=“01111111”;when “1001”=>dout<=“01101111”;when “1010”=>dout<=“01110111”;when “1011”=>dout<=“01111100”;when “1100”=>dout<=“00111001”;when “1101”=>dout<=“01011110”;when “1110”=>dout<=“01111001”;when “1111”=>dout<=“01000000”;when others=>dout<=“00000000”;end case;end process;h<=dout(7);
g<=dout(6);
f<=dout(5);
e<=dout(4);d<=dout(3);c<=dout(2);b<=dout(1);a<=dout(0);end behav;
7、頂層原理圖:
四、實(shí)驗(yàn)結(jié)果 頂層原理圖仿真波形:
五、心得體會
1、系統(tǒng)設(shè)計(jì)進(jìn)要行充分的方案論證,不可盲目就動手去做;
2、實(shí)驗(yàn)中對每一個細(xì)節(jié)部分都要全面思考,要對特殊情況進(jìn)行處理;
3、對于數(shù)字系統(tǒng),要考慮同步、異步問題;
4、數(shù)字電路的理論分析要結(jié)合時序圖;
5、遇到問題,要順藤摸瓜,分析清楚,不可胡亂改動,每做一次改變都要有充分的理由;
6、模塊化設(shè)計(jì)方法的優(yōu)點(diǎn)在于其簡潔性,但是在實(shí)驗(yàn)設(shè)計(jì)中也發(fā)現(xiàn),在實(shí)驗(yàn)最終電路確定之前,要盡量減少模塊重疊嵌套,因?yàn)樵诳偟碾娐非枚ㄖ埃娐愤€不成熟,很多地方需要改進(jìn),如果在開始時就進(jìn)行多層模塊化,里層模塊電路的修改將影響其外層的全部電路,這樣就是牽一發(fā)動全身,很顯然,這樣將導(dǎo)致電 數(shù)字鐘課程設(shè)計(jì) 電路設(shè)計(jì)的低效,所以在設(shè)計(jì)過程中,一定要盡量減少超過兩層的模塊;
7、遇到問題花了很長時間沒有解決掉,要學(xué)會想他人請教,別人的不經(jīng)意一點(diǎn),可能就能把自己帶出思維死區(qū)。
四位十進(jìn)制頻率計(jì)設(shè)計(jì)EDA實(shí)驗(yàn)報(bào)告篇二
簡單頻率計(jì)設(shè)計(jì)
物理與電子工程學(xué)院 電子信息科學(xué)與技術(shù)專業(yè) 2011級 董思林
指導(dǎo)教師 何傳紅
摘 要:隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項(xiàng)越來越普遍的工作,因此測頻計(jì)常受到人們的青睞。eda技術(shù)是以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以硬件語言為系統(tǒng)邏輯描述的主要方式,以計(jì)算機(jī)、大規(guī)模可編程邏輯器件的開發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的設(shè)計(jì),最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù),其設(shè)計(jì)的靈活性使得eda技術(shù).快速發(fā)展和廣泛應(yīng)用。
關(guān)鍵詞:可編程邏輯器件;計(jì)數(shù);分頻;脈沖;掃描 引言
在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測量方案、測量結(jié)果都有十分密切的關(guān)系,因此,頻率的測量就顯得非常重要。測量頻率的方法有多種,其中電子計(jì)數(shù)器測量具有精度高、使用方便、測量迅速,以及便于實(shí)現(xiàn)測量過程自動化等優(yōu)點(diǎn),是頻率測量的重要手段之一。電子計(jì)數(shù)器測頻有兩種方式:一是直接測頻法,即在一定閘門時間內(nèi)量被測信號的脈沖個數(shù);二是間接測頻法,如周期測頻法。直接測頻法適用于高頻信號的頻率測量,間接測頻法適用于低頻號的頻率測量。本設(shè)計(jì)采用直接測頻法,以quartusⅱ軟件為設(shè)計(jì)平臺,采用vhdl語言實(shí)現(xiàn)數(shù)字頻率計(jì)的整體設(shè)計(jì)。伴隨著集成電路(ic)技術(shù)的發(fā)展,電子設(shè)計(jì)自動化(eda)逐漸成為重要的設(shè)計(jì)手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計(jì)自動化是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計(jì)的技術(shù),它與電子技術(shù),微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺,促進(jìn)了工程發(fā)展。eda的一個重要特征就是使用硬件描述語言(hdl)來完成的設(shè)計(jì)文件,在電子
第 1 頁(共 7 頁)設(shè)計(jì)領(lǐng)域受到了廣泛的接受。
eda技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在eda軟件平臺上,有硬件描述語言vhdl完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作,最終形成集成電子系統(tǒng)或?qū)I(yè)集成芯片的一門新技術(shù)。eda技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動強(qiáng)度。設(shè)計(jì)原理
2.1 基本原理
數(shù)字頻率計(jì)的主要功能是測量周期信號的頻率。頻率是單位時間(1秒)內(nèi)信號發(fā)生周期變化的次數(shù)。在給定的1秒時間內(nèi)對信號波形計(jì)數(shù),并將所計(jì)數(shù)值顯示出來,就能讀取被測信號的頻率。數(shù)字頻率計(jì)首先必須獲得相對穩(wěn)定與準(zhǔn)確的時間,然后通過計(jì)數(shù)器計(jì)算這一段時間間隔內(nèi)的方波脈沖個數(shù)并顯示出來。這就是數(shù)字頻率計(jì)的基本原理。
2.2 系統(tǒng)框圖
通過測頻控制信號發(fā)生器將由脈沖發(fā)生器產(chǎn)生的信號轉(zhuǎn)換成所需要的控制信號clk1和en,待測信號計(jì)數(shù)器在en的控制下對待測信號進(jìn)行測量并通過鎖存與譯碼器在clk1的控制下按要求進(jìn)行顯示,大體結(jié)構(gòu)如圖1所示:
圖2.2 系統(tǒng)框圖
第 2 頁(共 7 頁)整體功能介紹
3.1 計(jì)數(shù)器設(shè)計(jì)
頻率計(jì)的核心元件之一是含有時鐘使能及進(jìn)位擴(kuò)展輸出的十進(jìn)制計(jì)數(shù)器。為此,這里用一個雙十進(jìn)制計(jì)數(shù)器器件74390和其他一些輔助元件來完成。電路框圖如圖3.1所示。
圖3.1 含有時鐘使能的2位十進(jìn)制計(jì)數(shù)器
圖中,74390連接成兩個獨(dú)立的十進(jìn)制計(jì)數(shù)器,待測頻率信號clk通過一個與門進(jìn)入74390的計(jì)數(shù)器“1”端的時鐘輸入端1clka。與門的另一端由計(jì)數(shù)使能信號enb控制:當(dāng)enb=1時允許計(jì)數(shù);enb=0時禁止計(jì)數(shù)。計(jì)數(shù)器1的4位輸出q[3]、q[2]、q[1] 和q[0] 并成總線表達(dá)方式,即q[3..0],由圖左下角的output輸出端口向外輸出計(jì)數(shù)值。同時由一個4輸入與門和兩個反相器構(gòu)成進(jìn)位信號,進(jìn)位信號進(jìn)入第二個計(jì)數(shù)器的時鐘輸入端2clka。第二個計(jì)數(shù)器的4位計(jì)數(shù)輸出是q[7]、q[6]、q[5] 和q[4],總線輸出信號是q[7..4].這兩個計(jì)數(shù)器的總得進(jìn)位信號,可由一個6輸入與門和兩個反相器產(chǎn)生,由cout輸出。clr是計(jì)數(shù)器的清零信號。對圖3.1所示電路進(jìn)行仿真,其波形圖如下圖3.1.1所示。
第 3 頁(共 7 頁)
圖3.1.1 仿真波形圖
3.2 時序控制電路設(shè)計(jì)
欲使電路能自動測頻,還需增加一個測頻時序控制電路,如圖3.2所示。該電路由三部分組成:4位二進(jìn)制計(jì)數(shù)器7493、4-16譯碼器74154和兩個由雙與非門構(gòu)成的rs觸發(fā)器。
圖3.2 測頻時序控制電路
3.3 時鐘分頻模塊設(shè)計(jì)
由于設(shè)計(jì)中利用了一個50mhz的時鐘信號輸入,需要將其分頻為合適的頻率供給本設(shè)計(jì)中的各個模塊。其程序代碼如下:
module clk_span(clk,spanclk);input clk;
output spanclk;
reg spanclk;
reg [span_width-1:0]counter;
parameter span_num = 500000;
parameter span_width = 19;
//時鐘偶數(shù)分頻模塊
//定義輸入時鐘 //定義輸出時鐘 //定義寄存器
//定義計(jì)數(shù)寄存器 //參數(shù),定義分頻參數(shù)
//參數(shù),定義分頻參數(shù)占用的位寬
第 4 頁(共 7 頁)always @(posedge clk)
//分頻過程
begin
if(counter ==((span_num>>1)-1))//注意分頻數(shù)的計(jì)算公式
begin
counter <= 0;
spanclk <= ~spanclk;
end
else
counter <= counter + 1'b1;end endmodule
利用此代碼生成元件命名為clk_span,供上層文件調(diào)用。3.4 數(shù)碼管動態(tài)掃描顯示驅(qū)動模塊設(shè)計(jì)
本設(shè)計(jì)利用8位7段led數(shù)碼管,但只需要2位,需采用動態(tài)掃描驅(qū)動,為顯示頻率計(jì)的結(jié)果,需要在計(jì)數(shù)器和數(shù)碼管之間放置一個驅(qū)動電路模塊,由于數(shù)碼管的現(xiàn)實(shí)字符段碼過于冗長,這里只作簡要說明。代碼總共分為三部分:第一部分是相關(guān)參數(shù)的定義和段碼字符的賦值;第二部分有兩個case語句,第一個case語句實(shí)現(xiàn)對莫一位數(shù)碼管的定義,第二個case語句實(shí)現(xiàn)對數(shù)碼管某一個段進(jìn)行定義;第三部分則是對數(shù)碼管具體要顯示哪個字符進(jìn)行初始化。3.5 頂層電路設(shè)計(jì)
將圖3.1所示電路包裝入庫,元件名取為counter8;將圖3.2所示電路包裝入庫,元件名取為ft_ctrl。有了counter8和ft_ctrl,就可以做成自動測頻和數(shù)據(jù)顯示的實(shí)用頻率計(jì)了,電路如圖3.5所示。圖中counter8為第1步生成的2位十進(jìn)制計(jì)數(shù)器模塊,ft_ctrl為第2步生成的時序控制模塊,只含有兩個輸入信號:待測頻率輸入信號f_in和測頻控制時鐘clk。時鐘分頻模塊clk_span在此設(shè)計(jì)中被調(diào)用(例化)了3次,因?yàn)榇四K采用了參數(shù)可配置的設(shè)計(jì)模式,所以調(diào)用同一個原型,通過改變參數(shù)就可以實(shí)現(xiàn)不同的特性,其中最上面一個時鐘分頻模塊把50mhz分頻到1024hz(參數(shù)span_num為48828,所以輸出頻率為50mhz/48828≈1024hz;參數(shù)span_width隨span_num而變;中間一個分頻模塊把1024hz分頻到8hz作為時序控制模塊的時鐘,則計(jì)數(shù)使能信號cnt_en的脈沖寬度即
第 5 頁(共 7 頁)為1秒,從而可使數(shù)碼管直接顯示f_in的頻率值了;下面一個分頻模塊把1024hz分頻到約51hz作為被測頻率f_in輸入到十進(jìn)制計(jì)數(shù)器。
圖3.5 頂層電路設(shè)計(jì)電路 設(shè)計(jì)總結(jié)
通過這次eda課程設(shè)計(jì),我對課堂上所學(xué)到的理論知識的理解加深了許多,自己動腦、動手設(shè)計(jì)的能力也得到了較大提高。在這次課程設(shè)計(jì)的過程中,我對 vhdl 語言有了更深的認(rèn)識。通過查閱相關(guān)資料和動手設(shè)計(jì)我發(fā)現(xiàn)我以前對 vhdl 語言的認(rèn)識太過膚淺,認(rèn)為 vhdl 語言只能用于設(shè)計(jì)小型的電路系統(tǒng)。但有了更深刻的認(rèn)識之后我發(fā)現(xiàn)學(xué)好 vhdl 語言可以設(shè)計(jì)出大規(guī)模的、功能復(fù)雜的電路系統(tǒng)。以前之所以會有錯誤的認(rèn)識是因?yàn)樽约簩?vhdl 語言的了解和掌握還不夠。現(xiàn)在仔細(xì)想想,這次課程設(shè)計(jì)使得我對 vhdl 語言的理解與應(yīng)用能力得到了較大的提升,也讓我認(rèn)識到只要深入學(xué)習(xí),提升的空間永遠(yuǎn)是存在的。在設(shè)計(jì)的過程中我遇到了一些問題,通過查閱書本我發(fā)現(xiàn)了產(chǎn)生錯誤的原因并解決了問題完成了設(shè)計(jì)。經(jīng)過反思我發(fā)現(xiàn)較大一部分錯誤是因?yàn)椴僮鞯牟皇炀氃斐傻模@也讓我明白了要保持設(shè)計(jì)的高效率必須經(jīng)常練習(xí)。另一方面我第 6 頁(共 7 頁)也發(fā)現(xiàn)了動手實(shí)踐的重要性。動手實(shí)踐是理論知識得以靈活運(yùn)用的必要前提,也是今后走上工作崗位之后能夠很好的完成設(shè)計(jì)工作的技術(shù)保證。只有遇到實(shí)際問題并根據(jù)自己對課堂上獲得的專業(yè)知識的理解來解決才能真正的提高自己的能力。這也提醒我在平時的學(xué)習(xí)生活中不能一味埋頭于課本知識,當(dāng)今社會競爭越來越激烈,社會對人才的要求越來越全面,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,必須靠實(shí)踐作支撐。雖然此次設(shè)計(jì)完成了,但是我意識到,我對fpga 技術(shù)僅僅只是停留在入門的階段,想要有更大的發(fā)展,更深入的研究,還需要更多的努力與實(shí)踐。因此在學(xué)習(xí)之余我們應(yīng)該積極參加各種與專業(yè)知識有關(guān)的實(shí)踐活動和競賽,鞏固所學(xué)的理論知識,多注重培養(yǎng)實(shí)際動手能力和專業(yè)技術(shù)能力,這樣才能在以后的工作崗位上有所作為。
參考文獻(xiàn): [1] 技術(shù)實(shí)用教程-verilog hdl版(第四版).科學(xué)出版社 [2] 楊欣.電子設(shè)計(jì)從零開始(第2版),清華大學(xué)出版社 [3] 康華光.電子技術(shù)基礎(chǔ)·模擬部分,高等教育出版社 [4] 康華光.電子技術(shù)基礎(chǔ)·數(shù)字部分,高等教育出版社
[5] 顧斌,趙明忠,姜志鵬,馬才根.數(shù)字電路eda設(shè)計(jì),西安電子科技大學(xué)出版社
第 7 頁(共 7 頁)
四位十進(jìn)制頻率計(jì)設(shè)計(jì)EDA實(shí)驗(yàn)報(bào)告篇三
工學(xué)院實(shí)驗(yàn)報(bào)告
姓名:黃娟
學(xué)號:32214125
班級:自動141
成績:
實(shí)驗(yàn)名稱:2位十進(jìn)制頻率計(jì)設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握eda工具quartus ⅱ的使用; 2.掌握quartus ⅱ的原理圖設(shè)計(jì)流程。3.掌握2位十進(jìn)制頻率計(jì)設(shè)計(jì)方法。
二、2位十進(jìn)制頻率計(jì)設(shè)計(jì)
1、quartus ⅱ原理圖設(shè)計(jì)流程
(1)計(jì)數(shù)器設(shè)計(jì) a.設(shè)計(jì)電路原理圖 b.建立工程 c.系統(tǒng)仿真 d.生成元件符號(2)頻率計(jì)主結(jié)構(gòu)電路設(shè)計(jì)(3)時序控制電路設(shè)計(jì)
(4)頂層電路設(shè)計(jì) 2、2位十進(jìn)制頻率計(jì)(1)原理圖
工學(xué)院實(shí)驗(yàn)報(bào)告
(2)仿真測試結(jié)果
(2)rtl圖
工學(xué)院實(shí)驗(yàn)報(bào)告
三、實(shí)驗(yàn)小結(jié)
通過這次實(shí)驗(yàn),我們掌握eda工具quartus ⅱ的使用; 了解了quartus ⅱ的原理圖設(shè)計(jì)流程。掌握2位十進(jìn)制頻率計(jì)設(shè)計(jì)方法。其中原理圖中運(yùn)用主線和線的命名實(shí)現(xiàn)連接更加簡單方便。基于前面的設(shè)計(jì)基礎(chǔ),所以我們在搞清楚實(shí)驗(yàn)?zāi)康暮鸵笾螅汩_始了設(shè)計(jì)實(shí)驗(yàn),而且整個過程中思路比較清晰,我們首先設(shè)計(jì)了計(jì)數(shù)器,然后將計(jì)數(shù)器封裝置后,設(shè)置為可以在后邊的設(shè)計(jì)電路中調(diào)用的工具文件,然后設(shè)計(jì)了2位十進(jìn)制數(shù)字頻率計(jì)的電路,最后經(jīng)過仿真測試,實(shí)現(xiàn)了實(shí)驗(yàn)要求的功能。
四位十進(jìn)制頻率計(jì)設(shè)計(jì)EDA實(shí)驗(yàn)報(bào)告篇四
eda課程設(shè)計(jì)報(bào)告書
交通燈設(shè)計(jì)
設(shè) 計(jì) 者: 邱春華 呂云蘭
指導(dǎo)老師: 李 敏
學(xué) 號: 09387105 09387114 專業(yè)班級:通信工程0911班
摘要………………………………………………………………………………3
1、設(shè)計(jì)任務(wù)………………………………………………………………………4
2、方案選擇與論證………………………………………………………4
3、實(shí)現(xiàn)方案原理及說明…………………………………………………………5
4、系統(tǒng)設(shè)計(jì)詳述…………………………………………………………………6 a、分頻器的設(shè)計(jì)……………………………………………………………………6 b、控制器的設(shè)計(jì)……………………………………………………………………7 c、計(jì)數(shù)器的設(shè)計(jì)……………………………………………………………………7 d、分位譯碼電路的設(shè)計(jì)……………………………………………………………8 e、數(shù)碼管驅(qū)動的設(shè)計(jì)——綠燈和紅燈驅(qū)動………………………………………9 f、數(shù)碼管驅(qū)動的設(shè)計(jì)--黃燈驅(qū)動……………………………………………9
5、程序設(shè)計(jì)………………………………………………………………………10 5.1 分頻器的設(shè)計(jì)…………………………………………………………………10 5.2 控制器的設(shè)計(jì)…………………………………………………………………10 5.3 計(jì)數(shù)器的設(shè)計(jì)…………………………………………………………………11 5.4 分位譯碼電路的設(shè)計(jì)…………………………………………………………14 5.5數(shù)碼管驅(qū)動的設(shè)計(jì)……………………………………………………………15
6、整個系統(tǒng)的構(gòu)成及仿真圖……………………………………………………17
7、心得體會………………………………………………………………………18
8、參考文獻(xiàn)………………………………………………………………………18
語言實(shí)現(xiàn)交通燈的設(shè)計(jì)
作者:邱春華、呂云蘭
指導(dǎo)老師:李 敏(湖北文理學(xué)院理工學(xué)院 襄陽 230036)
【摘要】:伴隨著社會的發(fā)展以及人類生活水平的提高,汽車的數(shù)量在eda技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,eda 技術(shù)在電子信息、通信、自動控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出。隨著技術(shù)市場與人才市場對dea 的不斷的增加,交通的問題日益突出,單單依靠人力來指揮交通已經(jīng)不可行了。所以,設(shè)計(jì)交通燈來完成這個需求就顯的越加迫切。
【關(guān)鍵字】:eda技術(shù)、vhdl語言、交通燈
quartusii 設(shè)計(jì)軟件為用戶提供完整的多平臺設(shè)計(jì)環(huán)境,它可以輕易滿足特定設(shè)計(jì)的需要。它是單芯片可編程系統(tǒng)(sopc)設(shè)計(jì)的綜合性環(huán)境,eda技術(shù)作為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心,它依賴強(qiáng)大的計(jì)算機(jī),在eda工具軟件平臺上,對以硬件描述語言vhdl為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動地完成邏輯編譯、邏輯簡化、邏輯分割、邏輯綜合,以及邏輯優(yōu)化和仿真測試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。下面詳細(xì)介紹在quartus ii軟件環(huán)境下開發(fā)基于vhdl語言交通燈的設(shè)計(jì)。、設(shè)計(jì)任務(wù)
a、設(shè)計(jì)內(nèi)容
設(shè)計(jì)一個十字路口的交通燈控制系統(tǒng),用實(shí)驗(yàn)平臺上的led 發(fā)光二極管顯示車輛通過的方向(甲車道和乙車道各一組),用數(shù)碼管顯示該方向的亮燈時間。
b、設(shè)計(jì)要求:
交通燈按正常狀態(tài)依次點(diǎn)亮紅、黃、綠燈,交警可以根據(jù)路口車流量的情況分別設(shè)置紅、綠、黃燈持續(xù)點(diǎn)亮的時間。在紅、綠燈點(diǎn)亮?xí)r,能夠顯示其點(diǎn)亮持續(xù)的時間。
2、方案選擇與論證
本次實(shí)驗(yàn)設(shè)計(jì)交通燈設(shè)計(jì)采用自頂向下、由粗到細(xì), 逐步分解的設(shè)計(jì)方法, 最頂層電路是指系統(tǒng)的整體要求, 最下層是具體的邏輯電路的實(shí)現(xiàn)。自頂向下的設(shè)計(jì)方法將一個復(fù)雜的系統(tǒng)逐漸分解成若干功能模塊, 從而進(jìn)行設(shè)計(jì)描述, 并且應(yīng)用eda 軟件平臺自動完成各功能模塊的邏輯綜合與優(yōu)化, 門級電路的布局, 再下載到硬件中實(shí)現(xiàn)設(shè)計(jì)。對于交通燈來說首先是分頻器、控制器、計(jì)數(shù)器、分位譯碼電路及數(shù)碼管驅(qū)動的設(shè)計(jì),然后能在led中顯示紅、綠、黃燈的轉(zhuǎn)化,并帶有數(shù)碼管計(jì)時功能。通過參考eda課程設(shè)計(jì)指導(dǎo)書,有以下方案:
(1)、頂層文件輸入端口:時鐘脈沖信號、復(fù)位按鍵及綠燈計(jì)數(shù)器的計(jì)數(shù)范圍輸入端t1;輸出端口:兩個車道的紅、綠、黃輸出,及其所對應(yīng)各燈所輸出時間計(jì)數(shù)共16個。
(2)、底層文件分為:a.分頻模塊、b.計(jì)數(shù)器模塊、c.控制器模塊、d.分位譯碼模塊、e.數(shù)碼管驅(qū)動模塊。
、實(shí)現(xiàn)方案原理及說明
從題目中計(jì)數(shù)值與交通燈的亮滅的關(guān)系如圖(1)所示:
圖(1)
交通燈控制器系統(tǒng)框圖如圖2 所示:
圖(2)考慮到黃燈的作用是警示已過停車線的司機(jī)盡快離開路口,而路口總寬度不變,因此將其固定為5 秒,而紅燈亮的時間等于綠燈亮的時間加上黃燈亮的時間,因此緊對綠燈點(diǎn)亮?xí)r間進(jìn)行設(shè)置就可以同時改變紅燈亮的時間,這里將綠燈所能設(shè)置的最長時間設(shè)置為40 秒即(0
4、系統(tǒng)設(shè)計(jì)詳述
其輸入及輸出端口有:
clkin——輸入的高頻時鐘脈沖; reset——復(fù)位端,高電平有效; t1——綠燈計(jì)數(shù)器的計(jì)數(shù)范圍輸入端;
r1、g1、y1——分別為第一車道紅、綠、黃燈輸出;
r1a、r1b、g1a、g1b、y1a——分別為第一車道紅、綠、黃燈對應(yīng)的數(shù)碼管計(jì)數(shù)輸出;
r2、g2、y2——分別為第二車道紅、綠、黃燈輸出;
r2a、r2b、g2a、g2b、y2a——分別為第二車道紅、綠、黃燈對應(yīng)的數(shù)碼管計(jì)數(shù)輸出; a、分頻器的設(shè)計(jì)
分頻器實(shí)現(xiàn)的是將高頻時鐘信號轉(zhuǎn)換成低頻的時鐘信號,用于觸發(fā)控制器和計(jì)數(shù)器。該分頻器實(shí)現(xiàn)的是一千分頻,將一千赫茲的時鐘信號分頻成一赫茲的時鐘信號。生成的symbol 文件如圖
圖(3)3 和仿真波形如圖4 所示。
圖(4)
b、控制器的設(shè)計(jì)
控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值及t1 的輸入數(shù)據(jù)控制發(fā)光二極管的亮、滅,以及輸出正計(jì)時數(shù)值給七段數(shù)碼管的分位譯碼電路。本控制器是利用時鐘沿的下降沿讀取前級計(jì)數(shù)器的計(jì)數(shù)值,然后作出反應(yīng);生成的實(shí)體模塊如圖5 和仿真波形如圖6 所 圖(5)示。
圖(6)
c、計(jì)數(shù)器的設(shè)計(jì)
計(jì)數(shù)器rcounter的計(jì)數(shù)范圍為由t1引腳輸入。計(jì)到t1 后,下一個時鐘沿恢復(fù)到0,開始下一輪計(jì)數(shù)。仿真波形如圖當(dāng)t1 取7 時,計(jì)數(shù)器計(jì)數(shù)到7 后清零。實(shí)體模塊如圖7 和仿真波形如圖8。計(jì)數(shù)器grounter和計(jì)數(shù)器ycounter的實(shí)體模塊如圖9 和圖10 所示。
圖(7)圖(9)圖(10)
圖(8)
d、分位譯碼電路的設(shè)計(jì)
由于控制器輸出的正計(jì)時數(shù)值可能是1 位或者2 位十進(jìn)制數(shù),因此在七段數(shù)碼管的譯碼電路前要加上分位電路(即將其分成2 個1 位的十進(jìn)制數(shù),如40 分成4 和0,5分為0 和5)。與控制器一樣,分位電路同樣可以由時鐘驅(qū)動,也可以設(shè)計(jì)成純組合邏輯電路。控制器中,引入了寄
圖(11)存器。本電路中分位電路使用組合邏輯電路實(shí)現(xiàn)。生成的實(shí)體模塊如圖11 及仿真波形如圖12。
圖(12)
e、數(shù)碼管驅(qū)動的設(shè)計(jì)——綠燈和紅燈驅(qū)動
要求數(shù)碼管共陽極連接(共陽極的公共端為低電平時,led 不亮),在設(shè)計(jì)中為每個數(shù)碼管都添加了一個驅(qū)動電路,在使用時通過調(diào)用模塊來實(shí)現(xiàn)。本模塊設(shè)計(jì)為時序邏
圖(14)
輯電路,采用下降沿觸發(fā)。實(shí)體模塊如圖14 和仿真波形如圖15。
圖(15)
f、數(shù)碼管驅(qū)動的設(shè)計(jì)——黃燈驅(qū)動
由于黃燈固定時間是5 秒,因此變化范圍是0 至5 秒,七段數(shù)碼管只要能顯示0-5 的數(shù)就行了,所以單獨(dú)用一個數(shù)碼管驅(qū)動。實(shí)體模塊如圖16和仿真波形如圖17。圖(16)
圖(17)
、程序設(shè)計(jì)
5.1 分頻器的設(shè)計(jì)
library ieee;use ;entity fredevider is port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fredevider is constant n:integer:=499;signal counter:integer range 0 to n;signal clk:std_logic;begin process(clkin)begin if rising_edge(clkin)then if counter=n then counter<=0;clk<=not clk;else counter<=counter+1;end if;end if;end process;clkout<=clk;end;5.2 控制器的設(shè)計(jì)
library ieee;use ;entity control is port(clk :in std_logic;c1,c2,c3:out std_logic;w1,w2,w3:in std_logic;r1,r2 :out std_logic;y1,y2 :out std_logic;g1,g2 :out std_logic;reset :in std_logic);end control;architecture a of control is type state_space is(s3,s2,s1,s0);
begin process(clk)begin if reset='1' then state<=s0;else if(clk'event and clk='1')then case state is when s0=> if w1='1' then state<=s1;end if;when s1=> if w2='1' then state<=s2;end if;when s2=> if w3='1' then state<=s3;end if;when s3=> if w2='1' then state<=s0;end if;end case;end if;end if;end process;c1<='1'when state =s0 else '0';c2<='1'when state =s1 or state =s3 else '0';c3<='1'when state =s2 else '0';r1<='1'when state =s1 or state =s0 else '0';y1<='1'when state =s3 else '0';g1<='1'when state =s2 else '0';r2<='1'when state =s2 or state =s3 else '0';y2<='1'when state =s1 else '0';g2<='1'when state =s0 else '0';end a;5.3 計(jì)數(shù)器的設(shè)計(jì) 5.3.1 綠燈計(jì)數(shù)器
library ieee;use ;
port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c1 :out std_logic;m1 :out integer range 0 to 5);end gcounter;architecture a of gcounter is begin process(clk)variable cnt : integer range 0 to 40;begin if(clk'event and clk='1')then if enable='1'and cnt
library ieee;use ;entity rcounter is port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c2 :out std_logic;m2:out integer range 0 to 32);end rcounter;architecture a of rcounter is constant y:integer:=5;signal t2: integer range 0 to 45;begin process(clk)variable cnt : integer range 0 to 45;
t2<=t1+y;if(clk'event and clk='1')then if enable='1'and cnt
library ieee;use ;entity ycounter is port(clk :in std_logic;enable :in std_logic;c3 :out std_logic;m3 :out integer range 0 to 5);end ycounter;architecture a of ycounter is begin process(clk)variable cnt : integer range 0 to 5;begin if(clk'event and clk='1')then if enable='1'and cnt<5 then cnt:=cnt+1;else cnt:=0;end if;if cnt=5 then c3<='1';else c3<='0';end if;end if;
end process;end a;5.4 分位譯碼電路設(shè)計(jì) 5.4.1分位器-1 library ieee;use ;entity fenwei1 is port(numin:in integer range 0 to 45;numa,numb:out integer range 0 to 9);end;architecture behavior of fenwei1 is begin process(numin)begin if numin>=40 then numa<=4;numb<=numin-40;elsif numin>=30 then numa<=3;numb<=numin-30;elsif numin>=20 then numa<=2;numb<=numin-20;elsif numin>=10 then numa<=1;numb<=numin-10;else numa<=0;numb<=numin;end if;end process;end;5.4.2分位器-2 library ieee;use ;entity fenwei2 is port(numin:in integer range 0 to 45;);end;architecture behavior of fenwei2 is begin process(numin)begin if numin>=40 then numc<=4;numd<=numin-40;elsif numin>=30 then numc<=3;numd<=numin-30;elsif numin>=20 then numc<=2;numd<=numin-20;elsif numin>=10 then numc<=1;numd<=numin-10;else numc<=0;numd<=numin;end if;end process;end;5.5數(shù)碼管驅(qū)動的設(shè)計(jì) 5.5.1 紅綠燈驅(qū)動
library ieee;use ;entity ygqudong is port(clk:in std_logic;enable :in std_logic;data:in integer range 0 to 9;segout: out std_logic_vector(6 downto 0));end;architecture behavior of ygqudong is begin process(clk,data)begin if falling_edge(clk)and enable='1' then case data is
when 1=>segout<=“0110000”;when 2=>segout<=“1101101”;when 3=>segout<=“1111001”;when 4=>segout<=“0110011”;when 5=>segout<=“1011011”;when 6=>segout<=“0011111”;when 7=>segout<=“1110000”;when 8=>segout<=“1111111”;when 9=>segout<=“1110011”;when others =>null;end case;end if;end process;end;5.5.2 黃燈驅(qū)動
library ieee;use ;entity hqudong is port(clk:in std_logic;enable :in std_logic;data:in integer range 0 to 5;segout: out std_logic_vector(6 downto 0));end;architecture behavior of hqudong is begin process(clk,data)begin if falling_edge(clk)and enable='1' then case data is when 0=>segout<=“1111110”;when 1=>segout<=“0110000”;when 2=>segout<=“1101101”;when 3=>segout<=“1111001”;when 4=>segout<=“0110011”;when 5=>segout<=“1011011”;when others =>null;end case;end if;end process;end;
、整個系統(tǒng)的構(gòu)成及仿真圖
圖(18)
圖(19)
結(jié)果說明:在圖18 中,綠燈計(jì)數(shù)器直接接分位譯碼器1,紅燈計(jì)數(shù)器直接接分位譯碼器2,每個譯碼器分別接兩個驅(qū)動電路,然后接輸出。左邊5 個驅(qū)動器接的數(shù)碼管顯示的是甲車道各個燈亮的時間,右邊5 個驅(qū)動器接的數(shù)碼管顯示的是乙車道各個燈亮的時間。在19 圖中可以看出甲車道綠燈亮的時間加上黃燈亮
乙車道紅燈亮的時間,乙車道綠燈亮的時間加上黃燈亮的時間等于甲車道紅燈亮的時間。與此同時具有燈亮?xí)r間計(jì)數(shù)顯示,可以看出該系統(tǒng)滿足我們所需的要求。
7、心得體會
一段時間的eda課程設(shè)計(jì),使我們學(xué)到了很多,本次課程設(shè)計(jì)的交通燈所需底層模塊很多,其實(shí)現(xiàn)的vhdl語言程序較多,整個過程中調(diào)試程序是很重要的,要有很好的耐心,開始編譯時總是會有很多錯誤,比如輸入錯誤、語法錯誤等,發(fā)現(xiàn)錯誤之后再一遍一遍的仔細(xì)查錯,直到?jīng)]有錯誤,然后進(jìn)行波型仿真。現(xiàn)在,對eda 的認(rèn)識有了很大的提高,能夠熟練的使用quartsii,能夠用vhdl 語言編寫簡單的、實(shí)用的小程序,這次eda 課程設(shè)計(jì)重點(diǎn)學(xué)習(xí)了交通燈部分程序的編寫、調(diào)試、還有硬件下載、操作等過程。在整個課程設(shè)計(jì)的過程中,我們查閱了大量的關(guān)于eda 的資料,特別是在網(wǎng)上和圖書館我找到了大量的關(guān)于硬件編程的資料。在李敏老師平時認(rèn)真的授課及嚴(yán)格的治學(xué)態(tài)度下,讓我有了一定的基礎(chǔ),同時還得感謝老師在實(shí)驗(yàn)課上的細(xì)心指導(dǎo),讓我們學(xué)到了很多,受益終生。
【參考文獻(xiàn)】
[1] 潘松, 技術(shù)實(shí)用教程[m] 第2版 北京: 科學(xué)出版社, 2006 [2] 曹昕燕,周鳳臣,技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì) 北京:清華大學(xué)出版社,2006.5
四位十進(jìn)制頻率計(jì)設(shè)計(jì)EDA實(shí)驗(yàn)報(bào)告篇五
eda
多 功 能 數(shù) 字 時 鐘
專業(yè):11級應(yīng)用電子技術(shù) 班級:二班
學(xué)號:110372023307 姓名:賀成林 指導(dǎo)老師:祝宏
日期:2023年6月29日
一、實(shí)驗(yàn)?zāi)康?/p>
1、課程設(shè)計(jì)是一實(shí)踐教學(xué)環(huán)節(jié),是針對《數(shù)字電子技術(shù)》課程的要求,結(jié)合實(shí)踐對學(xué)生進(jìn)行綜合設(shè)計(jì)性訓(xùn)練,在自學(xué)和實(shí)踐訓(xùn)練中培養(yǎng)學(xué)生理論聯(lián)系實(shí)踐和實(shí)踐動手能力,獨(dú)立地解決實(shí)際問題能力。
2、通過課程設(shè)計(jì)是使學(xué)生熟悉和了解可編程專用數(shù)字邏輯電路的設(shè)計(jì)、開發(fā)流程,熟悉和了解現(xiàn)代eda設(shè)計(jì)工具,掌握數(shù)字電子系統(tǒng)層次化的設(shè)計(jì)方法。
已知條件:max+plus軟件
基本功能:
1、以數(shù)字形式顯示時、分、秒的時間;
2、小時計(jì)數(shù)器為24進(jìn)制;
3、分秒計(jì)數(shù)器為60進(jìn)制。
二、實(shí)驗(yàn)要求、綜合應(yīng)用《數(shù)字電子技術(shù)基礎(chǔ)》課程中的理論知識去獨(dú)立地完成一個設(shè)計(jì)課題;
2、熟悉和了解現(xiàn)代eda設(shè)計(jì)、編程、編譯、仿真及下載技術(shù)的全過程。
三、eda 技術(shù)介紹
1、eda 技術(shù)概況
eda 是電子設(shè)計(jì)自動化(electronic design automation)的縮寫,在 20 世 紀(jì) 90 年代初從計(jì)算機(jī)輔助設(shè)計(jì)(cad)、計(jì)算機(jī)輔助制造(cam)、計(jì)算機(jī)輔助測試(cat)和計(jì)算機(jī)輔助工程(cae)的概念發(fā)展而來的。eda 技術(shù)就是以計(jì)算機(jī)為工 具,設(shè)計(jì)者在 eda 軟件平臺上,用硬件描述語言 hdl 完成設(shè)計(jì)文件,然后由計(jì)算機(jī) 自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特 定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。eda 技術(shù)的出現(xiàn),極大地提 高了電路設(shè)計(jì)的效率和可*性,減輕了設(shè)計(jì)者的勞動強(qiáng)度。
2、altera quartus ii 軟件介紹
quartus ii 是 altera 公司的綜合性 pld 開發(fā)軟件,支持原理圖、vhdl、veriloghdl 以及 ahdl(altera hardware description language)等多種 設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件 配置的完整 pld 設(shè)計(jì)流程。
四、關(guān)鍵詞
數(shù)字計(jì)數(shù)器、動態(tài)顯示、快速校分、整點(diǎn)報(bào)時、時段控制。
五、實(shí)驗(yàn)步驟
1、秒計(jì)數(shù)器是60進(jìn)制的。當(dāng)下面的74161到9時等下一個脈沖來是向上面的74161計(jì)數(shù),到5時將兩個74161共同預(yù)置。從而實(shí)現(xiàn)00—59秒的計(jì)數(shù)功能。
電路圖如下:
進(jìn)行編譯及波形仿真,如下圖: 將上述文件保存并打包,如圖:
2、分計(jì)數(shù)器是60進(jìn)制的。功能如秒計(jì)數(shù)器。其電路圖如下:
波形圖仿真及打包圖如下:
3、小時計(jì)數(shù)器是24進(jìn)制的。當(dāng)下面的74161到9時等下一個脈沖來是向上面的74161計(jì)數(shù)。但是等到上面的記到2時下面的將不能超過4,所以等上面的記到2,下面的記到4時就將兩個74161共同預(yù)置。從而實(shí)現(xiàn)00—24秒的計(jì)數(shù)功能。
原理圖如下:
仿真的波形圖及打包的文件圖如下:
4、校時。校時是通過加快時分的計(jì)數(shù)速度來快速校準(zhǔn)時間的。實(shí)際上我們把秒脈沖cps加到分計(jì)數(shù)和時計(jì)數(shù)上,是他們加快計(jì)數(shù)速度。所以其中我們需要通過開關(guān)來選擇。
原理圖及打包圖如下:
5、時段控制:時段控制是通過7485集成電路的數(shù)據(jù)比較來控制的。
原理圖及打包圖如下:
6、整點(diǎn)報(bào)時:整點(diǎn)報(bào)時是通過整點(diǎn)時的二進(jìn)制數(shù)據(jù)規(guī)律來報(bào)時的。
原理圖及打包圖如下:
7、將時分秒打包文件連成多功能數(shù)字電路圖如下:
8、多功能數(shù)字鐘硬件測試原理圖如下:
9、部分制作過程圖,如下:
六、實(shí)驗(yàn)工具
裝有quartusⅱ軟件的電腦,eda開發(fā)板,相關(guān)eda設(shè)計(jì)方面的書籍。
七、設(shè)計(jì)中遇到問題及解決方法
1、實(shí)驗(yàn)后期的引腳分配及下載方法不當(dāng),實(shí)驗(yàn)所用電腦沒有
quartus11.0 的 驅(qū)動。耗費(fèi)時間較多。解決方法:參閱西安電子科技大學(xué)出版社出版的《數(shù)字電路設(shè)計(jì)及 verilog hdl 實(shí)現(xiàn)》第 394 頁關(guān)于引腳分配和下載驗(yàn)證的介紹;
2、下載驗(yàn)證過程中時段控制部分有錯誤,原代碼在軟件上仿真沒有錯誤,但是下載到實(shí)驗(yàn)板驗(yàn)證時,出現(xiàn)錯誤。解決方法:通過去請教同學(xué)及查閱相關(guān)資料得到解決。
八、特點(diǎn)和實(shí)用性
利用 quartusii 軟件,結(jié)合所學(xué)的數(shù)字電路的知識設(shè)計(jì)一個 24 時多功能數(shù) 字鐘,具有正常分、秒計(jì)時,動態(tài)顯示、快速校分、整點(diǎn)報(bào)時、時段控制的功能。分析整個電路的工作原理,分別說明各子模塊的設(shè)計(jì)原理和調(diào)試、仿真、編 程下載的過程,并對最終結(jié)果進(jìn)行總結(jié),最后提出在實(shí)驗(yàn)過程中出現(xiàn)的問題和解 決的方案。通過實(shí)驗(yàn)掌握一些邏輯組合器件的基本功能和用法,同時體會利用軟件設(shè)計(jì) 電路的方便快捷,避免硬件布線的繁瑣,提高效率。
九、心得體會
1、設(shè)計(jì)必須要有整體概念,提前熟悉軟件。剛開始時沒頭緒,不知道該怎 樣分塊,進(jìn)度很慢,加上對軟件不是很熟悉,比如:封裝要注意哪些,哪些不能 運(yùn)行,哪些是不正確的操作等等,走了很多冤枉路。
2、設(shè)計(jì)的模塊要分塊調(diào)試,免得等所有都完工了再調(diào)試出錯,那樣的話很 難確定是什么出錯,更加沒頭緒。有必要的話做一部分后就送到平臺上調(diào)試,這 樣會大大減少出錯率。
3、沒有硬件軟件化的概念,開始設(shè)計(jì)時沒有總體的規(guī)劃,不知道什么是可行 的,什么是封裝,怎樣使搭配組合最優(yōu)化。
4、遇到問題先自己摸索,查閱資料要有技巧,避免沒有目的和思路。明白 自己要解決什么問題。同時請教老師,和同學(xué)交流。良好的溝通很重要。針對本次的畢業(yè)設(shè)計(jì),用我國著名的數(shù)學(xué)家的話概括一下我的感受: “科學(xué)上沒有平坦的大道,真理長河中有無數(shù)礁石險灘。只有不為畏攀登的采藥者,只有不怕 巨浪的弄潮兒,才能登上高峰采得仙草,深入水底覓得驪珠。”
十、參閱教材及文獻(xiàn)
1、蔣立平編著《數(shù)字電路》.南京理工大學(xué)翻印;
2、南京理工大學(xué)電子技術(shù)中心編著.《eda 設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書》 南京理工大學(xué),2008 年;
3、譚會生,張昌凡.《eda 技術(shù)及應(yīng)用》.西安電子科技大學(xué)出版社,2001年;
4、《數(shù)字電路設(shè)計(jì)及 verilog hdl 實(shí)現(xiàn)》 西安電子科技大學(xué)出版社出版;
5、《電子線路實(shí)驗(yàn)設(shè)計(jì)與仿真講義》。
上一篇:最新電子eda課程心得
下一篇:返回列表