欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      eda大作業(yè)

      時(shí)間:2019-05-12 12:34:56下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《eda大作業(yè)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《eda大作業(yè)》。

      第一篇:eda大作業(yè)

      ——EDA技術(shù)與Verilog HDL

      交通燈設(shè)計(jì)學(xué) 院:電子信息學(xué)院

      專(zhuān) 業(yè):電氣工程及其自動(dòng)化 班 級(jí):

      學(xué) 號(hào): 姓 名: 1

      目錄

      前言------1

      一、設(shè)計(jì)任務(wù)-----------

      2二、題目分析與整體構(gòu)思--

      2三、硬件電路設(shè)計(jì)-------3

      四、程序設(shè)計(jì)-----------7

      五、設(shè)計(jì)創(chuàng)新----------12

      六、心得體會(huì)----------1

      3七、參考文獻(xiàn)----------13

      前 言

      伴隨著社會(huì)的發(fā)展以及人類(lèi)生活水平的提高,汽車(chē)的數(shù)量在D的DEA技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息,通信,自動(dòng),控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性日益突出。隨著技術(shù)市場(chǎng)與人才市場(chǎng)對(duì)DEA的不斷的增加,交通的問(wèn)題日益突出,單單依靠人力來(lái)指揮交通已經(jīng)不可行了,所以,設(shè)計(jì)交通燈來(lái)完成這個(gè)需求就顯的越加迫切了.為了確保十字路口的行人和車(chē)輛順利、暢通地通過(guò),往往采用電子控制的交通信號(hào)來(lái)進(jìn)行指揮。以下就是運(yùn)用數(shù)字電子設(shè)計(jì)出的交通燈:其中紅燈亮,表示該條路禁止通行;黃燈亮表示停車(chē);綠燈亮表示允許通行。一﹑設(shè)計(jì)任務(wù)

      1.1設(shè)計(jì)要求: 設(shè)計(jì)一個(gè)十字路口的交通燈控制系統(tǒng),用實(shí)驗(yàn)平臺(tái)上的LED發(fā)光二極管顯示車(chē)輛通過(guò)的方向(東西和南北各一組),用數(shù)碼管顯示該方向的剩余時(shí)間。要求:工作順序?yàn)闁|西方向紅燈亮45秒,前40秒南北方向綠燈亮,后5秒黃燈亮。然后南北方向紅燈亮45秒,前40秒東西方向綠燈亮,后5秒黃燈亮。依次重復(fù)。有緊急事件時(shí)允許將某方向一直開(kāi)綠燈或者開(kāi)紅燈,另外允許特定情況兩方向均為紅燈,車(chē)輛禁行,比如十字路口惡性交通事故時(shí),東西,南北兩個(gè)方向均有兩位數(shù)碼管適時(shí)顯示該方向亮燈時(shí)間。

      二、題目分析與整體構(gòu)思

      (1)該交通燈控制器應(yīng)具備的功能

      設(shè)東西和南北方向的車(chē)流量大致相同,因此紅、黃、綠燈的時(shí)長(zhǎng)也相同,定為紅燈45sec,黃燈5sec,綠燈40sec,同時(shí)用數(shù)碼管指示當(dāng)前狀態(tài)(紅、黃、綠)剩余時(shí)間。另外,設(shè)計(jì)一個(gè)緊急狀態(tài),當(dāng)緊急狀態(tài)出現(xiàn)時(shí),兩個(gè)方向都禁止通行,指示紅燈。緊急狀態(tài)解除后,重新計(jì)數(shù)并指示時(shí)間。(2)實(shí)現(xiàn)方案

      一 從題目中計(jì)數(shù)值與交通燈的亮滅的關(guān)系如圖(1)所示

      三﹑硬件電路設(shè)計(jì)(1)分頻器

      分頻器實(shí)現(xiàn)的是將高頻時(shí)鐘信號(hào)轉(zhuǎn)換成底頻的時(shí)鐘信號(hào),用于觸發(fā)控制器、計(jì)數(shù)器和掃描顯示電路。該分頻器實(shí)現(xiàn)的是一千分頻,將一千赫茲的時(shí)鐘信號(hào)分頻成一赫茲的時(shí)鐘信號(hào)。

      (2)控制器設(shè)計(jì)

      控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值控制發(fā)光二極管的亮、滅,以及輸出倒計(jì)時(shí)數(shù)值給七段數(shù)碼管的分位譯碼電路。此外,當(dāng)檢測(cè)到特殊情況(HOLD=‘1’)發(fā)生時(shí),無(wú)條件點(diǎn)亮紅燈的二極管。本控制器可以有兩種設(shè)計(jì)方法,一種是利用時(shí)鐘煙的下降沿讀取前級(jí)計(jì)數(shù)器的計(jì)數(shù)值,然后作出反應(yīng);另一種則是將本模塊設(shè)計(jì)成純組合邏輯電路,不需要時(shí)鐘驅(qū)動(dòng)。這兩種方法各有所長(zhǎng),必須根據(jù)所用器件的特性進(jìn)行選擇:比如有些FPGA有豐富的寄存器資源,而且可用與組合邏輯的資源則相對(duì)較少,那么使用第一種方法會(huì)比較節(jié)省資源;而有些CPLD的組合邏輯資源則比較多,用第二種方法可能更好。

      (3)計(jì)數(shù)器設(shè)計(jì)

      這里需要的計(jì)數(shù)器的計(jì)數(shù)范圍為0-90。計(jì)到90后,下一個(gè)時(shí)鐘沿回復(fù)到0,開(kāi)始下一輪計(jì)數(shù)。此外,當(dāng)檢測(cè)到特殊情況(HOLD=‘1’)發(fā)生是,計(jì)數(shù)器暫停計(jì)數(shù),而系統(tǒng)復(fù)位信號(hào)RESET則使計(jì)數(shù)器異步清零。

      (4)分位譯碼電路設(shè)計(jì)--1 因?yàn)榭刂破鬏敵龅牡接?jì)時(shí)數(shù)值可能是1位或者2位十進(jìn)制數(shù),所以在七段數(shù)碼管的譯碼電路前要加上分位電路(即將其分為2個(gè)1位的十進(jìn)制數(shù),如25分為2和5,7分為0和7)。

      與控制器一樣,分位電路同樣可以由時(shí)鐘驅(qū)動(dòng),也可以設(shè)計(jì)成純組合邏輯電路??刂破髦?,引入了寄存器。為了讓讀者開(kāi)拓眼界,分位電路就用組合邏輯電路實(shí)現(xiàn)。

      (5)分位譯碼電路設(shè)計(jì)—2

      (6)數(shù)碼管驅(qū)動(dòng)設(shè)計(jì)

      串行連接,即每個(gè)數(shù)碼管對(duì)應(yīng)的引腳都接在一起(如每個(gè)數(shù)碼管的a引腳都接到一起,然后再接到CPLD/FPGA上的一個(gè)引腳上),通過(guò)控制公共端為高電平控制相應(yīng)數(shù)碼管的亮、滅(共陰極數(shù)碼管的公共端為高電平時(shí),LED不亮;共陽(yáng)極的公共端為低電平時(shí),LED不亮)。

      串行法的優(yōu)點(diǎn)在于消耗的系統(tǒng)資源少,占用的I/O口少,N個(gè)數(shù)碼管只需要(7+N)個(gè)引腳(如果需要小數(shù)點(diǎn),則是(8+N)個(gè)引腳)。其缺點(diǎn)是控制起來(lái)不如并行法容易。

      (7)下圖為交通燈控制器的頂層文件連接圖

      四、程序設(shè)計(jì)

      (1)分頻器的設(shè)計(jì)

      LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;

      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;

      四、程序設(shè)計(jì)

      (1)分頻器的設(shè)計(jì)

      LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;

      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;(3)計(jì)數(shù)器的設(shè)計(jì)

      這里計(jì)數(shù)器的計(jì)數(shù)范圍為0—45S。計(jì)到45后,下一個(gè)時(shí)鐘沿回復(fù)到0,開(kāi)始下一輪計(jì)數(shù).此外,當(dāng)檢測(cè)到特殊情況(Hold=‘1‘)發(fā)生時(shí),計(jì)數(shù)器暫停計(jì)數(shù),而系統(tǒng)復(fù)位號(hào)Reset則使計(jì)數(shù)器異步清0。程序如下:

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter IS PORT(clock:IN STD_LOGIC;reset:in std_logic;Hold:in std_logic;countNum:BuFFeR INTEGER RANGE 0 TO 90);END;ARCHITECTURE behavior OF counter IS BEGIN process(reset,Clock)BEGIN IF Reset='1' THEN countNum<=0;ELSIF rising_edge(Clock)THEN IF Hold='1' then countNum<=countNum;ELSE IF countNum=90 THEN countNum<=0;ELSE countNum<=countNum+1;END IF;END IF;END IF;END PROCESS;END;(4)分位譯碼電路設(shè)計(jì)--1 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Fenwei IS PORT(Numin:IN integer RANGE 0 TO 45;NumA,NumB:OUT Integer RANGE 0 to 9);END;

      ARCHITECTURE behavior OF Fenwei 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)分位譯碼電路設(shè)計(jì)—2 USE IEEE.STD_LOGIC_1164.ALL;ENTITY Fenwei2 IS PORT(Numin:IN integer RANGE 0 TO 45;NumC,NumD:OUT Integer RANGE 0 to 9);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;

      (6)數(shù)碼管驅(qū)動(dòng)設(shè)計(jì) LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY bcd_data IS PORT(bcd_data:in STD_LOGIC_VECTOR(3 downto 0);segout: out STD_LOGIC_VECTOR(6 downto 0));END;ARCHITECTURE behavior OF bcd_data IS BEGIN process(bcd_data)BEGIN case bcd_data is when “0000”=>segout<=“1111110”;when “0001”=>segout<=“0110000”;when “0010”=>segout<=“1101101”;when “0011” =>segout<=“1111001”;when “0100” =>segout<=“0110011”;when “0101”=>segout<=“1011011”;when “0110”=>segout<=“0011111”;when “0111”=>segout<=“1110000”;when “1000” =>segout<=“1111111”;when “1001” =>segout<=“1110011”;when others =>null;END CASE;END PROCESS;END;

      LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_unsigned.ALL;ENTITY dtsm IS PORT(clk:in STD_LOGIC;NumA,NumB,NumC,NumD: in STD_LOGIC_VECTOR(3 downto 0);segout1:out STD_LOGIC_VECTOR(6 downto 0);led_sel: out STD_LOGIC_VECTOR(3 downto 0));END dtsm;architecture bhv of dtsm is component bcd_data is port(bcd_data:in STD_LOGIC_VECTOR(3 downto 0);segout:out STD_LOGIC_VECTOR(6 downto 0));end component;signal x:STD_LOGIC_VECTOR(3 downto 0);signal q:STD_LOGIC_VECTOR(1 downto 0);begin p1:process(clk)begin if clk'event and clk ='1' then Q<= Q + '1';end if;end process;

      p2:process(Q)begin case Q is when“00”=>led_sel<=“1110”;x<=NumD;when“01”=>led_sel<=“1101”;x<=NumC;when“10”=>led_sel<=“1011”;x<=NumB;when“11”=>led_sel<=“0111”;x<=NumA;when others=>null;end case;end process;u1:bcd_data PORT map(bcd_data=>x,segout=>segout1);end

      五﹑設(shè)計(jì)創(chuàng)新

      1﹑模塊化編程,模塊化接線,再編譯總原理圖,思路比較清楚解容易。2﹑可以比較容易的改變紅綠燈的時(shí)間。3﹑有的模塊可以供其它任務(wù)通用。

      六﹑心得體會(huì)

      EDA設(shè)計(jì)我感覺(jué)程序調(diào)試最重要,試驗(yàn)軟件、硬件熟悉其次。我在編完各模塊程序之后,編譯查錯(cuò)最初有三十幾個(gè)錯(cuò)誤,有輸入錯(cuò)誤、語(yǔ)法錯(cuò)誤。一遍一遍的變異查錯(cuò),直到?jīng)]有錯(cuò)誤。必須注意工程名和實(shí)體名一致,不然一般會(huì)出錯(cuò)。在沒(méi)有錯(cuò)誤之后可以進(jìn)行波型仿真。若與理想的不同,再查看程序,有無(wú)原理上的編輯錯(cuò)誤或沒(méi)有查出的輸入錯(cuò)誤。都通過(guò)可以進(jìn)行管腳配對(duì),把程序燒入芯片,在實(shí)物機(jī)上看結(jié)果,從顯示中得出還需改正的地方,再去改程序。必須注意沒(méi)改一次都要編譯,重新燒入。七﹑參考文獻(xiàn)

      (1)楊頌華 ;數(shù)字電子技術(shù)基礎(chǔ).西安:西安電子科技大學(xué)。

      (2)黃任;2005;VHDL入門(mén).解惑.經(jīng)典實(shí)例.經(jīng)驗(yàn)總結(jié).北京:北京航空航天大學(xué)出版社。

      (3)徐志軍,徐光輝.2002.CPLD/FPGA的開(kāi)發(fā)與應(yīng)用.北京:電子工業(yè)出版社。

      (4)褚振勇.FPGA設(shè)計(jì)與應(yīng)用.西安:西安電子科技大學(xué)出版社。

      第二篇:eda大作業(yè)

      班 級(jí) 021291 學(xué) 號(hào) 02129057

      EDA實(shí)驗(yàn)報(bào)告

      學(xué) 院 電子工程學(xué)院

      專(zhuān) 業(yè) 電子信息工程

      學(xué)生姓名

      02129057

      導(dǎo)師姓名

      糾博

      交通控制器

      一. 設(shè)計(jì)目標(biāo)

      設(shè)計(jì)一個(gè)十字路口交通控制系統(tǒng),其東西,南北兩個(gè)方向除了有紅、黃、綠燈指示是否允許通行外,還設(shè)有時(shí)鐘,以倒計(jì)時(shí)方式顯示每一路允許通行的時(shí)間,綠燈,黃燈,紅燈的持續(xù)時(shí)間分別是70、5和75秒。當(dāng)東西或南北兩路中任一道上出現(xiàn)特殊情況,例如有消防車(chē),警車(chē)要去執(zhí)行任務(wù),此時(shí)交通控制系統(tǒng)應(yīng)可由交警手動(dòng)控制立即進(jìn)入特殊運(yùn)行狀態(tài),即兩條道上的所有車(chē)輛皆停止通行,紅燈全亮,時(shí)鐘停止計(jì)時(shí),且其數(shù)字在閃爍。當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,管理系統(tǒng)恢復(fù)原來(lái)的狀態(tài),繼續(xù)正常運(yùn)行。

      二. 設(shè)計(jì)思路與實(shí)施方案

      1.設(shè)計(jì)目標(biāo)思路整理

      在十字路口的兩個(gè)方向上各設(shè)一組紅、綠、黃燈,顯示順序?yàn)槠渲幸环较颍|西方向)是綠燈、黃燈、紅燈;另一方向(南北方向)是紅燈、綠燈、黃燈。

      設(shè)置一組數(shù)碼管,以倒計(jì)時(shí)的方式顯示允許通行或禁止通行的時(shí)間,其中綠燈、黃燈、紅燈的持續(xù)時(shí)間分別是70s、5s和75s。

      當(dāng)各條路上任意一條上出現(xiàn)特殊情況時(shí),如當(dāng)消防車(chē)、救護(hù)車(chē)或其他需要優(yōu)先放行的車(chē)輛通過(guò)時(shí),各方向上均是紅燈亮,倒計(jì)時(shí)停止,且顯示數(shù)字在閃爍。當(dāng)特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來(lái)狀態(tài),繼續(xù)正常運(yùn)行。

      2.原理分析

      本系統(tǒng)主要由分頻器,計(jì)數(shù)器,控制器,倒計(jì)時(shí)顯示器等電路組成。分頻器將晶振送來(lái)的50MHZ信號(hào)變?yōu)?HZ時(shí)鐘信號(hào);計(jì)數(shù)器實(shí)現(xiàn)總共150秒的計(jì)數(shù),它也是交通控制系統(tǒng)的一個(gè)大循環(huán);控制器控制系統(tǒng)的狀態(tài)轉(zhuǎn)移和紅黃綠燈的信號(hào)輸出;倒計(jì)時(shí)顯示電路實(shí)現(xiàn)75秒,70秒及5秒的倒計(jì)時(shí)和顯示功能。整個(gè)系統(tǒng)的工作時(shí)序受控制器控制,是系統(tǒng)的核心?;诖?,做出交通控制系統(tǒng)的轉(zhuǎn)移圖如下:

      其中,s0:A方向綠燈亮,B方向紅燈亮,此狀態(tài)持續(xù)70秒;

      S1:A方向黃燈亮,B方向紅燈亮,此狀態(tài)持續(xù)5秒;

      S2:A方向紅燈亮,B方向綠燈亮,此狀態(tài)持續(xù)70秒;

      S3:A方向紅燈亮,B方向黃燈亮,此狀態(tài)持續(xù)5秒;

      S4:緊急制動(dòng)狀態(tài),A方向紅燈亮,B方向紅燈亮,當(dāng)hold=‘0‘時(shí)進(jìn)入這種狀態(tài)。

      當(dāng)緊急制動(dòng)信號(hào)無(wú)效時(shí),狀態(tài)按照s0—s1—s2—s3—s0循環(huán);當(dāng)緊急制動(dòng)信號(hào)有效時(shí),立即進(jìn)入s4,兩個(gè)方向紅燈全亮,計(jì)數(shù)器停止計(jì)數(shù)。

      三. 設(shè)計(jì)過(guò)程

      1.電路設(shè)計(jì)

      交通控制系統(tǒng)頂層原理圖如下圖示,它主要由50MHZ分頻器模塊,控制器,倒計(jì)時(shí)計(jì)數(shù)器模塊,7段數(shù)碼管組成。

      (1)分頻器的設(shè)計(jì)

      分頻器外部接口如右圖所示:

      library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

      entity fp50m is port(clk : in std_logic;

      reset : in std_logic;

      clk_out: out std_logic);end entity fp50m;

      architecture behavior of fp50m is signal count : std_logic_vector(31 downto 0);signal Q:std_logic;begin process(reset,clk)

      begin if(reset = '0')then

      count <=(others=>'0');--復(fù)位計(jì)數(shù)器

      elsif clk'event and clk='1' then

      count<=count+1;

      if(count = 25000000)then

      Q<= not Q;--反置輸出

      count <=(others=>'0');

      end if;

      end if;

      clk_out<=Q;end process;end architecture behavior;由于50MHz過(guò)大,在這里就不展示分頻時(shí)序圖。(2)控制器的設(shè)計(jì)

      控制器control的邏輯符號(hào)如下圖所示。其中,clk為時(shí)鐘輸入信號(hào);hld為緊急制動(dòng)信號(hào);ared,agreen,ayellow為東西方向驅(qū)動(dòng)紅燈,綠燈及黃燈指示的輸出信號(hào);bred,bgreen,byellow分別為南北方向驅(qū)動(dòng)紅燈。綠燈及黃燈指示的輸出信號(hào)??刂破靼凑丈线叺臓顟B(tài)轉(zhuǎn)移圖所示控制系統(tǒng)的時(shí)序,即為個(gè)方向紅,綠,黃燈的亮滅時(shí)間。control的VHDL描述文件control.vhd: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

      entity control is

      port(clk,hold:in std_logic;

      ared,agreen,ayellow,bred,bgreen,byellow:out std_logic);end control;

      architecture behavior of control is

      type state_type is(s0,s1,s2,s3,s4);

      signal current_state,next_state:state_type;

      signal counter:std_logic_vector(6 downto 0);

      begin synch:process begin

      wait until clk'event and clk='1';

      if hold='0' then

      --當(dāng)緊急制動(dòng)信號(hào)有效時(shí),計(jì)數(shù)器停止工作

      counter<=counter;

      else

      --當(dāng)緊急制動(dòng)信號(hào)無(wú)效時(shí),計(jì)數(shù)器進(jìn)行周期為150s的計(jì)數(shù)

      if counter<149 then

      counter<=counter+1;

      else

      counter<=(others=>'0');

      end if;

      end if;end process;

      process

      --狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移描述 begin

      wait until clk'event and clk='1';

      current_state<=next_state;end process;

      state_trans:process(current_state)begin

      case current_state is when s0=>

      if hold='0' then

      next_state<=s4;

      else

      if counter<69 then

      next_state<=s0;

      else

      next_state<=s1;

      end if;

      end if;when s1=>

      if hold='0' then

      next_state<=s4;

      else

      if counter<74 then

      next_state<=s1;

      else

      next_state<=s2;

      end if;

      end if;when s2=>

      if hold='0' then

      next_state<=s4;

      else

      if counter<144 then

      next_state<=s2;

      else

      next_state<=s3;

      end if;

      end if;when s3=>

      if hold='0' then

      next_state<=s4;

      else

      if counter<149 then

      next_state<=s3;

      else

      next_state<=s0;

      end if;

      end if;when s4=>

      if hold='0' then

      next_state<=s4;

      else

      if counter<69 then

      next_state<=s0;

      elsif counter<74 then

      next_state<=s1;

      elsif counter<144 then

      next_state<=s2;

      elsif counter<149 then

      next_state<=s3;

      end if;

      end if;

      end case;end process;

      output:process(current_state)begin case current_state is when s0=>

      ared<='0';

      agreen<='1';

      ayellow<='0';

      bred<='1';

      bgreen<='0';

      byellow<='0';when s1=>

      ared<='0';

      agreen<='0';

      ayellow<='1';

      bred<='1';

      bgreen<='0';

      byellow<='0';

      --每種狀態(tài)下兩個(gè)路口紅綠燈的狀態(tài)描述

      when s2=>

      ared<='1';

      agreen<='0';

      ayellow<='0';

      bred<='0';

      bgreen<='1';

      byellow<='0';when s3=>

      ared<='1';

      agreen<='0';

      ayellow<='0';

      bred<='0';

      bgreen<='0';

      byellow<='1';when s4=>

      ared<='1';

      agreen<='0';

      ayellow<='0';

      bred<='1';

      bgreen<='0';

      byellow<='0';when others => NULL;end case;end process;end behavior;

      control的時(shí)序圖

      由圖可以看出緊急制動(dòng)有效,即’hold’=0時(shí),兩個(gè)方向都是紅燈。而緊急制動(dòng)無(wú)效時(shí),為s1狀態(tài),一方為綠燈,另一方紅燈。(3)倒計(jì)時(shí)計(jì)數(shù)器upm75(x)的設(shè)計(jì) 倒計(jì)時(shí)計(jì)數(shù)器upm75(x)的邏輯符號(hào)如下圖所示。其中,clk,cr分別為時(shí)鐘和清零端,en0~en2分別表示倒計(jì)數(shù)75s,70s,5s使能端,ql[3..0],qh[3..0],oc分別為BCD碼的個(gè)位,十位跟進(jìn)位輸出。

      VHDL描述upm75(x).vhd如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity upm75 is

      --實(shí)體聲明 port(clk:in std_logic;

      en0,en1,en2:in std_logic;

      cr,hld:in std_logic;

      ql,qh:out std_logic_vector(3 downto 0);

      oc:out std_logic);end upm75;

      architecture behavior of upm75 is

      --結(jié)構(gòu)體

      signal coul,couh:std_logic_vector(3 downto 0);begin

      process(cr,clk,hld,en0,en1,en2)

      begin

      if cr='0' then

      --異步清零

      coul<=“0000”;

      couh<=“0000”;

      elsif clk'event and clk='1' then

      if hld='1' then

      --緊急制動(dòng)無(wú)效時(shí),計(jì)數(shù)器正常計(jì)數(shù)

      if en0='1' then

      --en0有效,倒計(jì)時(shí)75s

      if(coul=0 and couh=0)then

      --減法記到00后,重新指數(shù)75

      coul<=“0101”;

      couh<=“0111”;

      elsif coul=0 then

      --否則,個(gè)位記到0時(shí)置為9,十位減1

      coul<=“1001”;

      couh<=couh-1;

      else

      coul<=coul-1;

      --否則,個(gè)位減1

      end if;

      end if;

      if en1='1' then

      --en1有效,倒計(jì)時(shí)70s

      if(coul=0 and couh=0)then

      coul<=“0000”;

      couh<=“0111”;

      elsif coul=0 then

      coul<=“1001”;

      couh<=couh-1;

      else

      coul<=coul-1;

      end if;

      end if;

      if en2='1' then

      --en2有效,倒計(jì)時(shí)5s

      if(coul=0 and couh=0)then

      coul<=“0101”;

      couh<=“0000”;

      elsif coul=0 then

      coul<=“1001”;

      couh<=couh-1;

      else

      coul<=coul-1;

      end if;

      end if;

      else

      coul<=coul;

      --緊急制動(dòng)有效時(shí),各位保持不變

      couh<=couh;

      end if;

      end if;

      end process;

      process(coul,couh)

      begin

      if(coul=0 and couh=0)then

      --減到00時(shí),借位輸出

      oc<='1';

      else

      oc<='0';

      end if;

      end process;

      ql<=coul;

      qh<=couh;end behavior;倒計(jì)時(shí)的時(shí)序仿真圖如下: 1.75s倒計(jì)時(shí)

      由圖可以看出緊急制動(dòng)有效時(shí),停止計(jì)時(shí),一直持續(xù)在75s,滿(mǎn)足要求。2.70s倒計(jì)時(shí)

      3.5s倒計(jì)時(shí)

      (4)七段數(shù)碼管的設(shè)計(jì)

      分頻器外部接口如右圖所示: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S IS

      PORT(A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

      hold:IN STD_LOGIC;

      clk:IN STD_LOGIC;

      LED7S : OUT STD_LOGIC_VECTOR(6 downto 0));END;ARCHITECTURE one OF DECL7S IS BEGIN PROCESS(A)BEGIN if(hold = '0' and clk = '1')then LED7S <= “0000000”;elsif(hold = '1')then CASE A IS WHEN “0000” => LED7S <= “0111111”;WHEN “0001” => LED7S <= “0000110”;WHEN “0010” => LED7S <= “1011011”;WHEN “0011” => LED7S <= “1001111”;WHEN “0100” => LED7S <= “1100110”;WHEN “0101” => LED7S <= “1101101”;

      WHEN “0110” => LED7S <= “1111101”;WHEN “0111” => LED7S <= “0000111”;WHEN “1000” => LED7S <= “1111111”;WHEN “1001” => LED7S <= “1101111”;WHEN “1010” => LED7S <= “1110111”;WHEN “1011” => LED7S <= “1111100”;WHEN “1100” => LED7S <= “0111001”;WHEN “1101” => LED7S <= “1011110”;WHEN “1110” => LED7S <= “1111001”;WHEN “1111” => LED7S <= “1110001”;WHEN OTHERS => NULL;END CASE;END IF;END PROCESS;END;

      三. 遇到的問(wèn)題及解決方法

      1.七段數(shù)碼管顯示的數(shù)字并不是1,2,3…,將LED7S的輸出取反后,得到了正確的結(jié)果; 2.倒計(jì)時(shí)開(kāi)始設(shè)計(jì)的是從74s,69s,4s開(kāi)始計(jì)時(shí)的,后改為75s,70s,5s;

      3.緊急制動(dòng)有效時(shí),計(jì)時(shí)停止,但不閃爍,之后在DECL7S程序里加入了時(shí)鐘,能夠達(dá)到閃爍的效果。

      四. 綜合時(shí)序仿真結(jié)果及功能分析

      總體電路圖如下:

      總體時(shí)序仿真:

      由于50MHz太大,看不出多種狀態(tài)間的變化,但通過(guò)仿真圖可以看出一方是綠燈,而另一方是紅燈。

      五. 小結(jié)及心得體會(huì)

      在本次實(shí)驗(yàn)中我選擇的是交通燈,輸出有很多種情況。該系統(tǒng)主要由分頻器,計(jì)數(shù)器,控制器,倒計(jì)時(shí)顯示器等電路組成。其中,分頻器與七段數(shù)碼管是小作業(yè)的時(shí)候做好的,控制器與倒計(jì)時(shí)計(jì)數(shù)器參考數(shù)電書(shū)完成。在實(shí)驗(yàn)過(guò)程中,出現(xiàn)了很多的問(wèn)題,多虧了同學(xué)和老師的幫助,有很多問(wèn)題都是由于粗心導(dǎo)致的,這又一次說(shuō)明了編程是需要細(xì)心和耐心的,一個(gè)小小的錯(cuò)誤就會(huì)影響到整個(gè)運(yùn)行結(jié)果。所以我覺(jué)得,結(jié)果固然重要,但是自己真正投入努力的過(guò)程更是值得被體會(huì)。

      第三篇:EDA作業(yè) 單管低頻放大器

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      GUIZHOU UNIVERSITY EDA實(shí)驗(yàn)報(bào)

      實(shí)驗(yàn)課程名稱(chēng) EDA技術(shù)與實(shí)驗(yàn) 實(shí)驗(yàn)項(xiàng)目名稱(chēng) 單管低頻放大器 學(xué) 院 科技學(xué)院 專(zhuān) 業(yè) 班 級(jí) 2010級(jí)電子信息科學(xué)與技術(shù) 學(xué) 生 姓 名 王斌 學(xué) 號(hào) 1020040464 任 課 教 師 李良榮

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      單管低頻放大器

      1、實(shí)驗(yàn)?zāi)康?/p>

      (1)學(xué)習(xí)元器件的放置和手動(dòng)、自動(dòng)連線方法;(2)熟悉元器件標(biāo)號(hào)及虛擬元件值的修改方法;(3)熟悉節(jié)點(diǎn)及標(biāo)注文字的放置方法;(4)熟悉電位器的調(diào)整方法;(5)熟悉信號(hào)源的設(shè)置方法;(6)熟悉示波器的使用方法;

      (7)熟悉放大器的主要性能指標(biāo)的測(cè)試方法;

      (8)熟悉示波器、信號(hào)源、萬(wàn)用表、電壓表、電流表的應(yīng)用方法;(9)學(xué)習(xí)實(shí)驗(yàn)報(bào)告的書(shū)寫(xiě)方法。

      2、實(shí)驗(yàn)內(nèi)容 a:測(cè)試電路如圖

      圖1——0(1)測(cè)量Ic 常規(guī)方法測(cè)量Ve。用Ie=Ve/Re ≈ Ic計(jì)算集電極電流。如圖1——1所示。測(cè)試的Ve=1.589V

      Ie?Ic?Ib?I c

      ?

      Ic?則Ie=Ve/Re ≈ Ic=1.589mA

      VERE?1.5891000=1.589V 2

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      檢測(cè)是否正確:如圖1——2

      圖1——2 測(cè)試正確!

      結(jié)論:測(cè)試看出,兩種方法的結(jié)果是有些誤差的,原因在于RE的值是有誤差的,調(diào)入器件時(shí)計(jì)算機(jī)在器件的誤差范圍內(nèi)任意取值作計(jì)算依據(jù),在實(shí)際電路中也往往如此,用萬(wàn)用表測(cè)量晶體管發(fā)射極電阻上的電壓來(lái)測(cè)量電路的Ic是實(shí)際電路的設(shè)計(jì)時(shí)的一般方法。

      (2)信號(hào)發(fā)生器設(shè)置正旋波,f=1KHZ,V=10mV;

      如圖1——3

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      圖1——3 仿真,調(diào)整示波器觀察后得到結(jié)果。

      A通道(x1,y1)=(221.048ms ,-1.146v)、B通道為(222.085ms , 9.995mV)。利用兩條時(shí)間差可以分析信號(hào)的周期、頻率等參數(shù)(圖中T2-T1=1.036ms為周期)。信號(hào)類(lèi)型為“DC”方式,波形包含直流成分,“0”禁止輸入,“AC”方式不包含直流成分。

      結(jié)論:保持信號(hào)源不變,調(diào)整R5為5000(接入電阻的阻值為50?5000=25K?,如果滑動(dòng)變阻器增大,調(diào)到7400左右),信號(hào)輸出幅度最大,失真較小,則R5的取值在56K?左右

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      最佳。

      (3)調(diào)整R5,在示波器上觀察波形,是波形輸出幅度最大,且不失真;

      a:減小電阻會(huì)使電路失真,且截止失真;

      b:真大電阻會(huì)是電路的放大倍數(shù)增大;

      (4)測(cè)量單管放大器的輸入輸出電阻RI、R0;

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      輸入電阻:

      RI?VIRVS?VI?VIII=

      7.0713.693?10?3?1.914k?

      輸出電阻:用“替代法”計(jì)算R0,閉合開(kāi)關(guān),得到VL的值為4.614mv,斷開(kāi)開(kāi)關(guān),得到V0的值為4.722mv。

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      R0?(V0VL?1)?3?10?3?4.722?3???1??3?10?7.022k? ?4.614?

      (5)用“失真度測(cè)量?jī)x”測(cè)量電路的失真度;

      在輸入信號(hào)3mV,f=1KHZ時(shí),測(cè)得失真度:2.767%。在輸入信號(hào)10mV,f=1KHZ時(shí),測(cè)得失真度:9.193%。如圖1——4。

      結(jié)論:電路的失真度為9.193% 7

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      圖1——4(6)用“波特圖示儀”測(cè)試電路的幅頻特性曲線。

      根據(jù)帶寬的測(cè)量原理,移動(dòng)測(cè)試指針,使幅度值下降3dB,找到半功率點(diǎn)=26.459MHZ。如圖1——5

      =23.698HZ,圖1——5 測(cè)得fw?fH?fL?26.459MHZ。

      貴州大學(xué)科技學(xué)院2010級(jí) 電科班

      王斌

      心得:通過(guò)這次實(shí)驗(yàn)讓我對(duì)Multisim 更進(jìn)一步的了解和學(xué)習(xí),也對(duì)很多電路的分析應(yīng)用加深了了解。!

      第四篇:EDA實(shí)驗(yàn)報(bào)告

      實(shí)驗(yàn)一:

      QUARTUS II 軟件使用及組合電路設(shè)計(jì)仿真

      實(shí)驗(yàn)?zāi)康模?/p>

      學(xué)習(xí)QUARTUS II 軟件的使用,掌握軟件工程的建立,VHDL源文件的設(shè)計(jì)和波形仿真等基本內(nèi)容。

      實(shí)驗(yàn)內(nèi)容:

      1.四選一多路選擇器的設(shè)計(jì) 基本功能及原理 :

      選擇器常用于信號(hào)的切換,四選一選擇器常用于信號(hào)的切換,四選一選擇器可以用于4路信號(hào)的切換。四選一選擇器有四個(gè)輸入端a,b,c,d,兩個(gè)信號(hào)選擇端s(0)和s(1)及一個(gè)信號(hào)輸出端y。當(dāng)s輸入不同的選擇信號(hào)時(shí),就可以使a,b,c,d中某一個(gè)相應(yīng)的輸入信號(hào)與輸出y端接通。

      邏輯符號(hào)如下:

      程序設(shè)計(jì):

      軟件編譯:

      在編輯器中輸入并保存了以上四選一選擇器的VHDL源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析:

      仿真結(jié)果如下圖所示

      分析:

      由仿真圖可以得到以下結(jié)論:

      當(dāng)s=0(00)時(shí)y=a;當(dāng)s=1(01)時(shí)y=b;當(dāng) s=2(10)時(shí)y=c;當(dāng)s=3(11)時(shí)y=d。符合我們最開(kāi)始設(shè)想的功能設(shè)計(jì),這說(shuō)明源程序正確。2.七段譯碼器程序設(shè)計(jì) 基本功能及原理:

      七段譯碼器是用來(lái)顯示數(shù)字的,7段數(shù)碼是純組合電路,通常的小規(guī)模專(zhuān)用IC,如74或4000系列的器件只能作十進(jìn)制BCD碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿(mǎn)足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用VHDL譯碼程序在FPGA或CPLD中實(shí)現(xiàn)。本項(xiàng)實(shí)驗(yàn)很容易實(shí)現(xiàn)這一目的。輸出信號(hào)的7位分別接到數(shù)碼管的7個(gè)段,本實(shí)驗(yàn)中用的數(shù)碼管為共陽(yáng)極的,接有低電平的段發(fā)亮。數(shù)碼管的圖形如下

      七段譯碼器的邏輯符號(hào):

      程序設(shè)計(jì):

      軟件編譯:

      在編輯器中輸入并保存了以上七段譯碼器的VHDL源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件

      。仿真分析:

      仿真結(jié)果如下圖所示:

      分析: 由仿真的結(jié)果可以得到以下結(jié)論:

      當(dāng)a=0(0000)時(shí)led7=1000000 此時(shí)數(shù)碼管顯示0; 當(dāng)a=1(0001)時(shí)led7=1111001 此時(shí)數(shù)碼管顯示1; 當(dāng)a=2(0010)時(shí)led7=0100100 此時(shí)數(shù)碼管顯示2; 當(dāng) a=3(0011)時(shí)led7=0110000 此時(shí)數(shù)碼管顯示3; 當(dāng) a=4(0100)時(shí)led7=0011001 此時(shí)數(shù)碼管顯示4; 當(dāng) a=5(0101)時(shí)led7=0010010 此時(shí)數(shù)碼管顯示5; 當(dāng) a=6(0110)時(shí)led7=0000010 此時(shí)數(shù)碼管顯示6; 當(dāng) a=7(0111)時(shí)led7=1111000 此時(shí)數(shù)碼管顯示7; 當(dāng) a=8(1000)時(shí)led7=0000000 此時(shí)數(shù)碼管顯示8; 當(dāng)a=9(1001)時(shí)led7=0010000 此時(shí)數(shù)碼管顯示9; 當(dāng)a=10(1010)時(shí)led7=0001000 此時(shí)數(shù)碼管顯示A; 當(dāng)a=11(1011)時(shí)led7=0000011 此時(shí)數(shù)碼管顯示B; 當(dāng) a=12(1100)時(shí)led7=1000110 此時(shí)數(shù)碼管顯示C; 當(dāng)a=13(1101)時(shí)led7=0100001 此時(shí)數(shù)碼管顯示D; 當(dāng)a=14(1110)時(shí)led7=0000110 此時(shí)數(shù)碼管顯示E; 當(dāng)a=15(1111)時(shí)led7=0001110 此時(shí)數(shù)碼管顯示F;

      這完全符合我們最開(kāi)始的功能設(shè)計(jì),所以可以說(shuō)明源VHDL程序是正確的。

      實(shí)驗(yàn)心得:

      通過(guò)這次實(shí)驗(yàn),我基本掌握了QUARTUS II軟件的使用,也掌握了軟件工程的建立,VHDL源文件的設(shè)計(jì)和波形仿真等基本內(nèi)容。在實(shí)驗(yàn)中,我發(fā)現(xiàn)EDA這門(mén)課十分有趣,從一個(gè)器件的功能設(shè)計(jì)到程序設(shè)計(jì),再到編譯成功,最后得到仿真的結(jié)果,這其中的每一步都需要認(rèn)真分析,一遍又一遍的編譯,修改。當(dāng)然,中間出現(xiàn)過(guò)錯(cuò)誤,但我依然不放棄,一點(diǎn)一點(diǎn)的修改,驗(yàn)證,最終終于出現(xiàn)了正確的仿真結(jié)果,雖然有一些毛刺,但是總的來(lái)說(shuō),不影響整體的結(jié)果。

      實(shí)驗(yàn)二:計(jì)數(shù)器設(shè)計(jì)與顯示

      實(shí)驗(yàn)?zāi)康模?/p>

      (1)熟悉利用QUARTUS II中的原理圖輸入法設(shè)計(jì)組合電路,掌握層次化的設(shè)計(jì)方法;

      (2)學(xué)習(xí)計(jì)數(shù)器設(shè)計(jì),多層次設(shè)計(jì)方法和總線數(shù)據(jù)輸入方式的

      仿真,并進(jìn)行電路板下載演示驗(yàn)證。實(shí)驗(yàn)內(nèi)容:

      1.完成計(jì)數(shù)器設(shè)計(jì)

      基本功能及原理:

      本實(shí)驗(yàn)要設(shè)計(jì)一個(gè)含有異步清零和計(jì)數(shù)使能的4位二進(jìn)制加減可控計(jì)數(shù)器,即有一個(gè)清零端和使能端,當(dāng)清零端為1時(shí)異步清零,即所有輸出值都為0,當(dāng)使能端為0時(shí),計(jì)數(shù)器停止工作,當(dāng)使能端為1時(shí),正常工作,由時(shí)鐘控制。另外,還應(yīng)該有一個(gè)控制端,當(dāng)控制端為0時(shí),進(jìn)行減法運(yùn)算,當(dāng)控制端為1時(shí),進(jìn)行加法運(yùn)算。輸出端有輸出值和進(jìn)位端,當(dāng)進(jìn)行加法運(yùn)算時(shí),輸出值遞增,當(dāng)減法運(yùn)算時(shí),輸出值遞減,同時(shí)進(jìn)位端進(jìn)行相應(yīng)的變化。

      4位二進(jìn)制加減計(jì)數(shù)器的邏輯符號(hào):

      程序設(shè)計(jì):

      軟件編譯:

      在編輯器中輸入并保存了以上4位二進(jìn)制加減計(jì)數(shù)器的VHDL源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析: 仿真結(jié)果如下:

      分析:

      由仿真圖可以得到以下結(jié)論:

      當(dāng)enable端為0時(shí),所有數(shù)值都為0,當(dāng)enable端為1時(shí),計(jì)數(shù)器正常工作;當(dāng)reset端為1時(shí),異步清零,所有輸出數(shù)值為0,當(dāng)reset端為0時(shí),正常工作;當(dāng)updown端為0時(shí),進(jìn)行減法運(yùn)算,當(dāng)updown為1時(shí),進(jìn)行加法運(yùn)算;另外,當(dāng)程序進(jìn)行減法運(yùn)算時(shí),出現(xiàn)借位時(shí),co為1,其余為0,當(dāng)進(jìn)行加法運(yùn)算時(shí),出現(xiàn)進(jìn)位時(shí),co為1,其余為0。圖中所有的功能與我們?cè)O(shè)計(jì)的完全一樣,所以說(shuō)明源程序正確。2.50M分頻器的設(shè)計(jì)

      基本功能及原理:

      50M分頻器的作用主要是控制后面的數(shù)碼管顯示的快慢。即一個(gè)模為50M的計(jì)數(shù)器,由時(shí)鐘控制,分頻器所有的端口基本和上述4位二進(jìn)制加減計(jì)數(shù)器的端口一樣,原理也基本相同。分頻器的進(jìn)位端(co)用來(lái)控制加減計(jì)數(shù)器的時(shí)鐘,將兩個(gè)器件連接起來(lái)。50M分頻器的邏輯符號(hào)如下:

      程序設(shè)計(jì):

      軟件編譯:

      在編輯器中輸入并保存了以上50M分頻器的VHDL源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析: 結(jié)果如下:

      上圖為仿真圖的一部分,由于整個(gè)圖太大,所以顯示一部分即可,其余部分如圖以上圖規(guī)律一直遞增,直到50M為止,然后再重復(fù),如此循環(huán)。

      上圖是部分輸出的顯示,由于整個(gè)圖太大,所以只顯示部分,其余部分如圖遞增。

      分析:

      由仿真圖可以看出,當(dāng)reset為0,enable為1時(shí)(因?yàn)楸緦?shí)驗(yàn)中計(jì)數(shù)器的模值太大,為了盡可能多的觀察出圖形,可讓reset一直為0,enable一直為1,即一直正常工作),輸出值由0一直遞增到50M,構(gòu)成一個(gè)加法計(jì)數(shù)器,與我們?cè)O(shè)計(jì)的功能一致。3.七段譯碼器程序設(shè)計(jì)

      基本功能及原理:

      七段譯碼器是用來(lái)顯示數(shù)字的,7段數(shù)碼是純組合電路,通常的小規(guī)模專(zhuān)用IC,如74或4000系列的器件只能作十進(jìn)制BCD碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿(mǎn)足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用VHDL譯碼程序在FPGA或CPLD中實(shí)現(xiàn)。本項(xiàng)實(shí)驗(yàn)很容易實(shí)現(xiàn)這一目的。輸出信號(hào)的7位分別接到數(shù)碼管的7個(gè)段,本實(shí)驗(yàn)中用的數(shù)碼管為共陽(yáng)極的,接有低電平的段發(fā)亮。

      七段譯碼器的邏輯符號(hào):

      程序設(shè)計(jì):

      軟件編譯:

      在編輯器中輸入并保存了以上七段譯碼器的VHDL源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析:

      仿真結(jié)果如下圖所示:

      分析:具體分析與實(shí)驗(yàn)一中七段譯碼器的分析相同,在此不再贅述。計(jì)數(shù)器和譯碼器連接電路的頂層文件原理圖:

      原理圖連接好之后就可以進(jìn)行引腳的鎖定,然后將整個(gè)程序下載到已經(jīng)安裝好的電路板上,即可進(jìn)行仿真演示。

      實(shí)驗(yàn)心得:

      經(jīng)過(guò)本次試驗(yàn),我學(xué)到了很多。首先,我加強(qiáng)了對(duì)QUARTUS II軟件的掌握;其次,我掌握了電路圖的頂層文件原理圖的連接,學(xué)會(huì)了如何把自己設(shè)計(jì)的程序正確的轉(zhuǎn)化為器件,然后正確的連接起來(lái),形成一個(gè)整體的功能器件;最后,我學(xué)會(huì)了如何安裝以及如何正確的把完整的程序下載到電路板上,并進(jìn)行演示驗(yàn)證。

      實(shí)驗(yàn)三:大作業(yè)設(shè)計(jì)

      (循環(huán)彩燈控制器)

      實(shí)驗(yàn)?zāi)康模?/p>

      綜合應(yīng)用數(shù)字電路的各種設(shè)計(jì)方法,完成一個(gè)較為復(fù)雜的電路設(shè)計(jì)。實(shí)驗(yàn)內(nèi)容:

      流水燈(循環(huán)彩燈)的設(shè)計(jì) 設(shè)計(jì)任務(wù):

      設(shè)計(jì)一個(gè)循環(huán)彩燈控制器,該控制器可控制10個(gè)發(fā)光二極管循環(huán)點(diǎn)亮,間隔點(diǎn)亮或者閃爍等花型。要求至少三種以上花型,并用按鍵控制花型之間的轉(zhuǎn)換,用數(shù)碼管顯示花型的序號(hào)?;驹恚?/p>

      該控制器由兩部分組成,一部分是一個(gè)50M的分頻器,其主要用來(lái)控制花色變化的快慢;另一部分是一個(gè)彩燈控制器,該彩燈控制器可由兩個(gè)開(kāi)關(guān)控制花型的序號(hào),10個(gè)輸出分別控制10個(gè)發(fā)光二極管的亮暗,當(dāng)輸出為1時(shí),該發(fā)光二極管亮,輸出為0時(shí),該二極管滅。將分頻器的co端用來(lái)控制彩燈控制器的時(shí)鐘,將兩個(gè)器件連接起來(lái)。1.分頻器的設(shè)計(jì)

      50M分頻器與實(shí)驗(yàn)二中的分頻器一樣,這里不再贅述。2.彩燈控制器的設(shè)計(jì) 基本原理:

      該彩燈控制器由時(shí)鐘控制,reset異步清零,enable當(dāng)做使能端,由兩個(gè)開(kāi)關(guān)do(0-1)來(lái)控制選擇不同的花型,10個(gè)輸出端lig(0-9)來(lái)控制10個(gè)LED燈的亮滅。因?yàn)橛昧藘蓚€(gè)開(kāi)關(guān)來(lái)控制花型,所以一共有4種花色。

      彩燈控制器的邏輯符號(hào):

      程序設(shè)計(jì):

      3.七段譯碼器的設(shè)計(jì)

      七段譯碼器是用來(lái)顯示不同花型的序號(hào)的,其設(shè)計(jì)與實(shí)驗(yàn)一中的設(shè)計(jì)一樣,這里不再贅述。循環(huán)彩燈控制器的原理圖:

      仿真波形如下: 第一種花型:

      第二種花型:

      第三種花型:

      第四種花型:

      仿真分析:

      將以上仿真波形圖和源程序?qū)Ρ?,我們可以看到,仿真出?lái)的波形和我們?cè)O(shè)計(jì)的功能一致,這說(shuō)明源VHDL程序是正確的。實(shí)驗(yàn)心得:

      本次試驗(yàn)是在沒(méi)有老師指導(dǎo)的情況下自己完成的,我在參考了網(wǎng)上的程序的情況下,最終成功的設(shè)計(jì)并正確的演示出了循環(huán)彩燈的不同花型。通過(guò)本次試驗(yàn),我真正的體會(huì)到了DEA這門(mén)課的樂(lè)趣,也發(fā)現(xiàn)它對(duì)我們的學(xué)習(xí)和生活帶來(lái)很大的方便。

      第五篇:EDA學(xué)習(xí)心得

      EDA

      專(zhuān)業(yè);姓名;學(xué)號(hào);學(xué)習(xí)心 得

      劉華

      201530220109

      電氣自動(dòng)化技術(shù)

      本學(xué)期對(duì)EDA技術(shù)的學(xué)習(xí)為我的專(zhuān)業(yè)知識(shí)學(xué)習(xí)打開(kāi)了一個(gè)全新的窗口——微電子技術(shù)領(lǐng)域。對(duì)EDA技術(shù),我更是有了全新的認(rèn)識(shí)。

      微電子技術(shù)的進(jìn)步主要表現(xiàn)在大規(guī)模集成電路加工技術(shù)即半導(dǎo)體工藝技術(shù)的發(fā)展上,使得表征半導(dǎo)體工藝水平的線寬已經(jīng)達(dá)到了納米級(jí)。所以,集成電路設(shè)計(jì)正在不斷地向超大規(guī)模、極低功耗和超高速的方向發(fā)展。

      而現(xiàn)代電子設(shè)計(jì)技術(shù)的核心已日趨轉(zhuǎn)向基于計(jì)算機(jī)的電子設(shè)計(jì)自動(dòng)化技術(shù),即EDA技術(shù)。EDA技術(shù)就是依賴(lài)功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言HDL為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測(cè)試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。EDA技術(shù)使得設(shè)計(jì)者的工作僅限于利用軟件的方式,即利用硬件描述語(yǔ)言和EDA軟件來(lái)完成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn),這是電子設(shè)計(jì)技術(shù)的一個(gè)巨大進(jìn)步。EDA技術(shù)在進(jìn)入21世紀(jì)后,得到了更大的發(fā)展。嵌入式處理器軟核的成熟,使得SOPC步入大規(guī)模應(yīng)用階段。電子技術(shù)領(lǐng)域全方位融入EDA技術(shù),除了日益成熟的數(shù)字技術(shù)外,傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)建模理念發(fā)生了重大的變化。同時(shí),EDA使得電子領(lǐng)域各學(xué)科的界限更加模糊,更加互為包容。這些都利于設(shè)計(jì)人員利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì),如全定制或半定制ASIC設(shè)計(jì),F(xiàn)PGA/CPLD開(kāi)發(fā)應(yīng)用和印制電路板 從EDA技術(shù)的特點(diǎn)不難看出,相比于傳統(tǒng)的數(shù)字電子系統(tǒng)或IC設(shè)計(jì),EDA技術(shù)擁有獨(dú)特的優(yōu)勢(shì)。在傳統(tǒng)的數(shù)字電子系統(tǒng)或IC設(shè)計(jì)中,手工設(shè)計(jì)占了較大的比例。因此,也存在很多缺點(diǎn)。例如:復(fù)雜電路的設(shè)計(jì)、調(diào)試十分困難;由于無(wú)法進(jìn)行硬件系統(tǒng)仿真,如果某一過(guò)程存在錯(cuò)誤,查找和修改十分不便;設(shè)計(jì)過(guò)程中產(chǎn)生大量文檔,不易管理;可移植性差等。相比之下,EDA技術(shù)有很大不同。它運(yùn)用HDL對(duì)數(shù)字系統(tǒng)進(jìn)行抽象的行為與功能描述到具體的內(nèi)部線路結(jié)構(gòu)描述,從而可以在電子設(shè)計(jì)的各個(gè)階段、各個(gè)層次進(jìn)行計(jì)算機(jī)模擬驗(yàn)證,保證設(shè)計(jì)過(guò)程的正確性,可以大大降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期。由于有各類(lèi)庫(kù)的支持,能夠完成各種自動(dòng)設(shè)計(jì)過(guò)程。它極大地簡(jiǎn)化了設(shè)計(jì)文檔的管理,邏輯設(shè)計(jì)仿真測(cè)試技術(shù)也日益強(qiáng)大。VHDL在現(xiàn)在的EDA設(shè)計(jì)中使用最多,也擁有幾乎所有主流EDA工具的支持。VHDL作為一個(gè)規(guī)范語(yǔ)言和建模語(yǔ)言,不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,可以利用軟件工具將VHDL源碼自動(dòng)地轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件。這種方法顯然對(duì)于電路自動(dòng)設(shè)計(jì)是一個(gè)極大的推進(jìn)。它具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。EDA技術(shù)良好的可移植性與可 測(cè)試性,將所有設(shè)計(jì)環(huán)節(jié)納入統(tǒng)一的自頂向下的設(shè)計(jì)方案中。它不但在整個(gè)設(shè)計(jì)流程上充分利用計(jì)算機(jī)的自動(dòng)設(shè)計(jì)能力、在各個(gè)設(shè)計(jì)層次上利用計(jì)算機(jī)完成不同內(nèi)容的仿真模擬,而且在系統(tǒng)板設(shè)計(jì)結(jié)束后仍可利用計(jì)算機(jī)對(duì)硬件系統(tǒng)進(jìn)行完整的測(cè)試

      書(shū)中通過(guò)大量的圖示對(duì)PLD硬件特性與編程技術(shù)進(jìn)行了形象的講解,不僅融合了之前學(xué)習(xí)的關(guān)于電路設(shè)計(jì)的知識(shí)還將EDA的技術(shù)加入其中。對(duì)VHDL語(yǔ)言的詳盡講解更是讓我深刻理解了VHDL語(yǔ)言的編程原理。由于本門(mén)課程是一門(mén)硬件學(xué)習(xí)課程,所以實(shí)驗(yàn)必不可少。通過(guò)課程最后實(shí)驗(yàn),我體會(huì)一些VHDL語(yǔ)言相對(duì)于其他編程語(yǔ)言的特點(diǎn)。

      相對(duì)于其它計(jì)算機(jī)語(yǔ)言的學(xué)習(xí),如C 或匯編語(yǔ)言,VHDL 具有明顯的特點(diǎn)。這不僅僅是由于VHDL 作為一種硬件描述語(yǔ)言的學(xué)習(xí)需要了解較多的數(shù)字邏輯方面的硬件電路知識(shí),包括目標(biāo)芯片基本結(jié)構(gòu)方面的知識(shí)更重要的是由于VHDL 描述的對(duì)象始終是客觀的電路系統(tǒng)。由于電路系統(tǒng)內(nèi)部的子系統(tǒng)乃至部分元器件的工作狀態(tài)和工作方式可以是相互獨(dú)立、互不相關(guān)的,也可以是互為因果的。這表明,在任一時(shí)刻,電路系統(tǒng)可以有許多相關(guān)和不相關(guān)的事件同時(shí)并行發(fā)生。例如可以在多個(gè)獨(dú)立的模塊中同時(shí)入行不同方式的數(shù)據(jù)交換和控制信號(hào)傳輸,這種并行工作方式是任何一種基于CPU 的軟件程序語(yǔ)言所無(wú)法描繪和實(shí)現(xiàn)的。傳統(tǒng)的軟件編程語(yǔ)言只能根據(jù)CPU 的工作方式,以排隊(duì)式指令的形式來(lái)對(duì)特定的事件和信息進(jìn)行控制或接收。在CPU 工作的任一時(shí)間段內(nèi)只能完成一種操作。因此,任何復(fù)雜的程序在一個(gè)單CPU 的計(jì)算機(jī)中的運(yùn)行,永遠(yuǎn)是單向和一維的。因而程序設(shè)計(jì)者也幾乎只需以一維的思維模式就可以編程和工作了。

      VHDL 雖然也含有類(lèi)似于軟件編程語(yǔ)言的順序描述語(yǔ)句結(jié)構(gòu),但其工作方式是完全不同的。軟件語(yǔ)言的語(yǔ)句是根據(jù)CPU 的順序控制信號(hào),按時(shí)鐘節(jié)拍對(duì)應(yīng)的指令周期節(jié)拍逐條運(yùn)行的,每運(yùn)行一條指令都有確定的執(zhí)行周期。但VHDL 則不同,從表面上觀,VHDL 的順序語(yǔ)句與軟件語(yǔ)句有相同的行為描述方式,但在標(biāo)準(zhǔn)的仿真執(zhí)行中有很大的區(qū)別。VHDL 的語(yǔ)言描述只是綜合器賴(lài)以構(gòu)成硬件結(jié)構(gòu)的一種依據(jù),但進(jìn)程語(yǔ)句結(jié)構(gòu)中的順序語(yǔ)句的執(zhí)行方式?jīng)Q非是按時(shí)鐘節(jié)拍運(yùn)行的。實(shí)際情況是其中的每一條語(yǔ)句的執(zhí)行時(shí)間幾乎是0(但該語(yǔ)句的運(yùn)行時(shí)間卻不一定為0),即1000 條順序語(yǔ)句與10 條順序語(yǔ)句的執(zhí)行時(shí)間是相同的。在此,語(yǔ)句的運(yùn)行和執(zhí)行具有不同的概念(在軟件語(yǔ)言中,它們的概念是相同),的執(zhí)行是指啟動(dòng)一條語(yǔ)句,允許它運(yùn)行一次,而運(yùn)行就是指該語(yǔ)句完成其設(shè)定的功能。通過(guò)實(shí)驗(yàn),我認(rèn)識(shí)到理論要與實(shí)際結(jié)合,培養(yǎng)動(dòng)手動(dòng)腦能力的重要性,做事情要抱著一絲不茍的態(tài)度,這樣才能做好事情。同時(shí)也入一步了解到EDA的強(qiáng)大之處,硬件電路的優(yōu)秀的地方,對(duì)硬件方面更感興趣了。這門(mén)課程的學(xué)習(xí),為我以后的專(zhuān)業(yè)知識(shí)的學(xué)習(xí)打下了良好的基礎(chǔ)。

      下載eda大作業(yè)word格式文檔
      下載eda大作業(yè).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        EDA學(xué)習(xí)心得

        EDA 學(xué)習(xí)心得 姓名:賀鑫 學(xué)號(hào):20081001164 班號(hào):072085-10 在本學(xué)期短短5周的EDA學(xué)習(xí)中,我初步對(duì)這一新的領(lǐng)域有了一個(gè)較為系統(tǒng)的理解,也為我的專(zhuān)業(yè)學(xué)習(xí)打開(kāi)了一個(gè)新的思路,那就......

        EDA畢業(yè)論文

        現(xiàn)代EDA技術(shù)及其發(fā)展 引言 隨著大規(guī)模集成電路技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國(guó)防、航天、醫(yī)學(xué)、工業(yè)自動(dòng)化、計(jì)算機(jī)應(yīng)用、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計(jì)工作中,E......

        EDA 課程設(shè)計(jì)

        《電子系統(tǒng)設(shè)計(jì)自動(dòng)化》課程設(shè)計(jì)報(bào)告 學(xué) 院: 機(jī)電工程學(xué)院 題 目: 數(shù)字時(shí)鐘電路設(shè)計(jì) 課 程: 《電子系統(tǒng)設(shè)計(jì)自動(dòng)化》課程設(shè)計(jì) 專(zhuān)業(yè)班級(jí): 電信10級(jí)2 班 學(xué)生姓名: 劉星 秦玉杰 王......

        《EDA課程設(shè)計(jì)》

        《EDA課程設(shè)計(jì)》 課程設(shè)計(jì)題目: 基于單片機(jī)的溫濕度采集系統(tǒng) 姓 名: xxx 學(xué)班時(shí)地 號(hào):xxxx 級(jí): xxxx 間:2014.4.21~ 2013.5.5 點(diǎn): xxxxx 指 導(dǎo)老師: xxxxx 目錄 一、電路原理......

        EDA課程設(shè)計(jì)

        考試序號(hào):28 自動(dòng)打鈴系統(tǒng)設(shè)計(jì)說(shuō)明書(shū) 學(xué) 生 姓 名:周文江 學(xué) 號(hào):14112502521 專(zhuān) 業(yè) 班 級(jí):1102 報(bào)告提交日期:2013.11.26 湖 南 理 工 學(xué) 院 物 電 學(xué) 院 目錄 一、題目及要......

        EDA實(shí)驗(yàn)報(bào)告

        EDA課程實(shí)驗(yàn)報(bào)告 ----移位相加8位硬件乘法器電路計(jì) ou 1 移位相加硬件乘法器設(shè)計(jì) 一.實(shí)驗(yàn)?zāi)康?1、學(xué)習(xí)移位相加8 位硬件乘法器電路設(shè)計(jì); 2、學(xué)習(xí)應(yīng)用EDA 技術(shù)進(jìn)行項(xiàng)目設(shè)計(jì)......

        EDA實(shí)驗(yàn)報(bào)告

        EDA 實(shí)驗(yàn)報(bào)告 姓名:湯燦亮 學(xué)號(hào):2012118060 班級(jí):1211自動(dòng)化實(shí)驗(yàn)一 QUARTUS Ⅱ的設(shè)計(jì)流程 一、實(shí)驗(yàn)?zāi)康模?1、掌握QUARTUSⅡ安裝過(guò)程; 2、熟悉QUARTUSⅡ設(shè)計(jì)環(huán)境; 3、掌握QUARTUS......

        EDA實(shí)驗(yàn)報(bào)告

        EDA 實(shí)驗(yàn)報(bào)告 張佳興 2220131738 電氣工程及其自動(dòng)化1班 一、 Verilog語(yǔ)言反應(yīng)硬件特性舉例 1. module cc ( clk,en,cout)、input、output,這三個(gè)語(yǔ)句用Verilog語(yǔ)言定義了一......