freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的多功能波形發(fā)生器設(shè)計課程設(shè)計-文庫吧

2025-06-03 15:36 本頁面


【正文】 的采樣點數(shù)將正弦波形一個周期的數(shù)據(jù)信息存于ROM表中,表中包含著一個周期正弦波的數(shù)字幅度信息,每個地址對應(yīng)正弦波中0到360度范圍內(nèi)的一個相位點的幅度值,查找表時即是把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號,通過設(shè)置的輸出端口輸出。在實物設(shè)計中,可以使用D/A接口來實現(xiàn)波形信號的輸出。為簡化設(shè)計過程,本設(shè)計并未采用DDS技術(shù),而是采用描點輸出的方式,實現(xiàn)波形發(fā)生器的設(shè)計。程序中設(shè)置一個波形的起始點,經(jīng)過比較、計算得出波形的其他數(shù)值,將這些點依次連續(xù)輸出,從而實現(xiàn)波形的仿真。以遞增鋸齒波為例,首先定義初始點為 tmp=“00000000”;在時鐘上升沿到來時,執(zhí)行tmp=tmp+1。語句,同時將tmp輸出,當tmp=“11111111”;時,將tmp值清零,執(zhí)行下一個循環(huán)。在本設(shè)計中,采用QuartusII軟件仿真,所以可以通過波形文件直觀的反映出輸出的數(shù)字量的變化情況,以達到波形輸出的仿真。正弦波:通過循環(huán)不斷地從RAM中依次讀取正弦波一個周期在時域上64個采樣點的波形數(shù)據(jù)送入波形DAC,從而產(chǎn)生正弦波。正弦波的頻率取決于讀取數(shù)據(jù)的速度。任意波:首先通過鍵盤把任意波形波形數(shù)據(jù)存儲在存儲器中。然后循環(huán)不斷地從存儲器2中依次讀取任意波一個周期在時域上64個采樣點的波形數(shù)據(jù)送入波形DAC,從而產(chǎn)生任意波。任意波的頻率取決于讀取數(shù)據(jù)的速度。三角波:三角波波形是對稱的,每邊呈線形變化,所以可以根據(jù)地址數(shù)據(jù)做簡單運算,就可以得到三角波鋸齒波:產(chǎn)生單調(diào)性鋸齒波,因此把地址數(shù)據(jù)進行左移2位,結(jié)果送波形DAC就可。方波A:方波A產(chǎn)生也是由64個采樣點組成, 64個采樣點的數(shù)據(jù)只有“低電平”和“高電平” 2種狀態(tài)。更改“低電平”和“高電平”出現(xiàn)的比例,可以達到調(diào)節(jié)占空比的目的。波形DAC:根據(jù)輸入的波形數(shù)據(jù)(即FPGA輸出的數(shù)據(jù)),產(chǎn)生相應(yīng)的模擬波形的輸出。調(diào)幅DAC:根據(jù)輸入的幅度調(diào)節(jié)數(shù)據(jù)(即FPGA輸出的數(shù)據(jù)),用來調(diào)節(jié)波形DAC的基準電壓,到達輸出波形幅度調(diào)節(jié)的目的。波形指示:每種波形具有一個選擇開關(guān),而每個選擇開關(guān)與FPGA接口的一端都并有一個發(fā)光二極管,發(fā)光二極管起指示作用。頻率顯示:頻率可以直接用4位BCD撥盤開關(guān)上的數(shù)字和檔位開關(guān)位置一起來表示頻率。幅度顯示:用4個數(shù)碼管來顯示輸出波形的幅度。首先啟動Quartus II軟件如圖2所示: 圖2 Quartus II啟動界面接著利用向?qū)В⒁粋€新的工程。在File菜單中選擇New Project Wizard選項啟動項目向?qū)?。如圖2所示,分別指定創(chuàng)建工程的路徑,工程名和頂層文件名。工程名和頂層文件可以一致也可以不同。一個工程中可以有多個文件,但只能有一個頂層文件。這里我將工程名取為:keshe。如圖3所示。 圖3創(chuàng)建工程界面在圖2所示界面點擊NEXT按鈕出現(xiàn)對話框如圖3所示直接點next按鈕然后在出現(xiàn)的界面中選擇芯片出現(xiàn)如圖4所示界面。點擊Filenew按鍵,選擇VHDL語言,如圖5所示。即進入VHDL語言編輯區(qū)如圖7所示。 圖4創(chuàng)建工程的結(jié)束界面 圖5芯片選擇 圖6創(chuàng)建VHDL File對話框 圖7 VHDL語言編輯框在圖7所示的VHDL語言編輯框中依次輸入分頻器、四選一選擇器、循環(huán)加法計數(shù)器等4鐘計數(shù)器、七段譯碼器等功能模塊的VHDL語言源程序。輸入完成之后單擊保存圖標并輸入相應(yīng)的文件名。保存之后即可對源程序進行編譯。如果編譯成功則源程序完全正確,否則應(yīng)該返回到出錯處改正錯誤直至編譯成功為止。編譯成功之后再進行波形仿真,從中得出相應(yīng)數(shù)據(jù)及現(xiàn)象。3仿真結(jié)果輸入相應(yīng)源代碼,點擊,得出結(jié)果如圖8 圖8編譯結(jié)果程序在編譯階段出現(xiàn)了八個警告,以下面兩個為例:1.Warning (10492): VHDL Process Statement warning at (232): signal y is read inside the Process Statement but isn39。t in the Process Statement39。s sensitivity list2.Warning: Output pins are stuck at VCC or GND Warning (13410): Pin p180 is stuck at VCC第一個警告,在process里作為被判斷信號(if或者case后面的)或者賦值語句右端信號通常應(yīng)該寫在process的敏感信號表里。有些EDA工具不檢查這個,可能會導(dǎo)致仿真結(jié)果與綜合出來的電路不一致。實際上,綜合工具在綜合的時候會自動把這類信號添加到敏感信號表里,但仿真工具不會,而是完全按照代碼體現(xiàn)的語意來仿真。case y is 7段碼譯碼 when 0 = lcd(7 downto 1)=0000001。 when 1 = lcd(7 downto 1)=1001111。 when 2 = lcd(7 downto 1)=0010010。 when 3 = lcd(7 downto 1)=0000110。 when 4 = lcd(7 downto 1)=1001100。 when 5 = lcd(7 downto 1)=0100100。 when 6 = lcd(7 downto 1)=0100000。 when 7 = lcd(7 downto 1)=0001111。 when 8 = lcd(7 downto 1)=0000000。 when 9 = lcd(7 downto 1)=0000100。 when others = lcd(7 downto 1)=0000001。 end case。end process。綜合時,信號y被添加到敏感信號表中。第二個警告,認為引腳p180直接到正電源了。port(clk : in std_logic。 時鐘信號輸入 set, clr, up, down, zu, zd : in std_logic。 各個波形特征的調(diào)節(jié)觸發(fā)信號 posting : in std_logic。 任意波鍵盤置入信號 u0,d0,sw : in std_logic。 方波A、B的切換sw,和方波B的幅度調(diào)節(jié)按鍵 ss : in std_logic_vector( 3 downto 0 )。 檔位選擇信號 sss : in std_logic_vector( 4 downto 0 )。 波形選擇信號 Data3, Data2, Data1,Data0 : in std_logic_vector(3 downto 0)。 BCD碼輸入 p180 : out std_logic。 預(yù)留接口 lcd : out std_logic_vector(7 downto 0)。 顯示輸出 shift : out std_logic_vector(3 downto 0)。 位碼輸出 dd, a : out std_logic_vector( 7 downto 0))。 波形、幅度數(shù)據(jù)輸出但實際上引腳p180是預(yù)留接口未用。 圖9 編譯結(jié)果 在編譯通過后,要建立后綴為vwf的仿真波形文件。執(zhí)行菜單命令,選擇new,再選擇需要的Vector Waveform File,單擊ok。在波形文件編輯方式下,右鍵選擇insert添加信號節(jié)點,設(shè)置相應(yīng)的參數(shù)。如下圖所示。 圖10 仿真波形文件建立 圖11 仿真波形參數(shù)設(shè)置仿真結(jié)果如下圖所示 圖12仿真波形 RTL視圖生成的RTL視圖如下 圖13 RTL視圖4程序分析一個VHDL語言的設(shè)計程序描述的是一個電路單元,這個電路單元可以是一個門電路,或者是一個計數(shù)器,也可以是一個CPU,一般情況下,一個完整的VHDL語言程序至少包括實體、結(jié)構(gòu)體和程序包三個部分。實體給出電路單元的外部輸入輸出接口信號和引用信息,結(jié)構(gòu)體給出了電路單元的內(nèi)部結(jié)構(gòu)和信號的行為特點,程序包定義在設(shè)計結(jié)構(gòu)體和實體中將用到的常數(shù)、數(shù)據(jù)類型、子程序和設(shè)計好的電路單元等。 第一部分是程序包,程序包是用VHDL語言編寫的共享文件,定義在設(shè)計結(jié)構(gòu)體和實體中將要用到的常數(shù)、數(shù)據(jù)類型、子程序和設(shè)計好的電路單元等,放在文件目錄名稱為IEEE的程序包庫中。library ieee。use 。use 。use 。第二部分是程序的實體,定義電路單元的輸入/輸出引腳名稱。程序的實體名稱可以任意取,但必須與VHDL程序的文件名稱相同。實體的標示符是ENTITY,實體以ENTITY開頭,以END結(jié)束。ENTITY fulladder IS PORT(a,b,Ci:in std_logic。 Co,s: out std_logic_vector(7 downto 0))。END fulladder。其中,定義了a,b, Ci為輸入信號引腳,定義Co,s為輸出信號引腳。第三部分是程序的結(jié)構(gòu)體,具體描述電路的內(nèi)部結(jié)構(gòu)和邏輯功能。結(jié)構(gòu)體有三種描述方式,分別是行為(BEHAVIOR)描述方式、數(shù)據(jù)流(DATAFLOW)描述方式和結(jié)構(gòu)描述方式。其中數(shù)據(jù)流描述方式又被稱為寄存器(RTL)描述方式。結(jié)構(gòu)體以表示ARCHITECHTURE開頭,以END結(jié)尾。結(jié)構(gòu)體的名稱可以任取。architecture
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1