




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
EDA 技術(shù)實用教程,第 12 章 系統(tǒng)仿真,12.1 仿真,KX康芯科技,仿真也稱模擬(Simulation) 是對電路設(shè)計的一種間接的檢測方法,是利用計算機(jī)對整個硬件系統(tǒng)進(jìn)行模擬檢測,但卻可以不接觸具體的硬件系統(tǒng)。,12.2 VHDL源程序仿真,KX康芯科技,圖12-1 VHDL仿真流程,12.2 VHDL源程序仿真,KX康芯科技,【例12-1】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY and1 IS PORT(aaa,bbb : IN STD_LOGIC; ccc: OUT STD_LOGIC); END and1; ARCHITECTURE one OF and1 IS BEGIN ccc = aaa AND bbb; END;,12.2 VHDL源程序仿真,KX康芯科技,【例12-2】 LIBRARY IEEE; USE IEEE.std_logic_1164.all; ENTITY TRIBUF_and1 IS GENERIC ( ttri: TIME := 1 ns; ttxz: TIME := 1 ns; ttzx: TIME := 1 ns); PORT ( in1 : IN std_logic; oe : IN std_logic; y : OUT std_logic); END TRIBUF_and1; ARCHITECTURE behavior OF TRIBUF_and1 IS BEGIN PROCESS (in1, oe) BEGIN IF oeEVENT THEN (接下頁),KX康芯科技,IF oe = 0 THEN y = TRANSPORT Z AFTER ttxz; ELSIF oe = 1 THEN y = TRANSPORT in1 AFTER ttzx; END IF; ELSIF oe = 1 THEN y = TRANSPORT in1 AFTER ttri; ELSIF oe = 0 THEN y = TRANSPORT Z AFTER ttxz; END IF; END PROCESS; END behavior; LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE work.tribuf_and1; ENTITY and1 IS PORT ( aaa : IN std_logic; bbb : IN std_logic; ccc : OUT std_logic); END and1; ARCHITECTURE EPF10K10LC84_a3 OF and1 IS . . . . . . END EPF10K10LC84_a3;,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,【例12-3】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADDER4 IS PORT ( a, b : IN INTEGER RANGE 0 TO 15; c : OUT INTEGER RANGE 0 TO 15 ); END ADDER4; ARCHITECTURE one OF ADDER4 IS BEGIN c = a + b; END one;,第一種方法 :,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,【例12-4】 ENTITY SIGGEN IS PORT ( sig1 : OUT INTEGER RANGE 0 TO 15; sig2 : OUT INTEGER RANGE 0 TO 15 ); END; ARCHITECTURE Sim OF SIGGEN IS BEGIN sig1 = 10, 5 AFTER 200 ns, 8 AFTER 400 ns; sig2 = 3, 4 AFTER 100 ns, 6 AFTER 300 ns; END;,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,圖12-2 SIGGEN的仿真輸出波形,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,【例12-5】 ENTITY BENCH IS END; ARCHITECTURE one OF BENCH IS COMPONENT ADDER4 PORT ( a, b : integer range 0 to 15; c : OUT INTEGER RANGE 0 TO 15 ); END COMPONENT; COMPONENT SIGGEN PORT ( sig1 : OUT INTEGER RANGE 0 TO 15; sig2 : OUT INTEGER RANGE 0 TO 15 ); END COMPONENT; SIGNAL a, b, c : INTEGER RANGE 0 TO 15; BEGIN U1 : ADDER4 PORT MAP (a, b, c); U2 : SIGGEN PORT MAP (sig1=a, sig2=b); END;,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,圖12-3 BENCH仿真波形圖,12.3 仿真激勵信號的產(chǎn)生,KX康芯科技,force , -repeat ,第二種方法 :,force a 0 (強(qiáng)制信號的當(dāng)前值為0) force b 0 0, 1 10 (強(qiáng)制信號b在時刻0的值為0,在時刻10的值為1) force clk 0 0, 1 15 repeat 20 (clk為周期信號,周期為20,force a 10 0, 5 200, 8 400 force b 3 0, 4 100, 6 300,12.4 VHDL測試基準(zhǔn),KX康芯科技,【例12-6】 Library IEEE; use IEEE.std_logic_1164.all; entity counter8 is port ( CLK,CE,LOAD,DIR,RESET: in STD_LOGIC; DIN: in INTEGER range 0 to 255; COUNT: out INTEGER range 0 to 255 ); end counter8; architecture counter8_arch of counter8 is begin process (CLK, RESET) variable COUNTER: INTEGER range 0 to 255; begin if RESET=1 then COUNTER := 0; elsif CLK=1 and CLKevent then if LOAD=1 then COUNTER := DIN; (接下頁),KX康芯科技,Else if CE=1 then if DIR=1 then if COUNTER =255 then COUNTER := 0; Else COUNTER := COUNTER + 1; end if; else if COUNTER =0 then COUNTER := 255; Else COUNTER := COUNTER - 1; end if; end if; end if; end if; end if; COUNT = COUNTER; end process; end counter8_arch;,12.4 VHDL測試基準(zhǔn),KX康芯科技,【例12-7】 Entity testbench is end testbench; Architecture testbench_arch of testbench is File RESULTS: TEXT open WRITE_MODE is “results.txt“; Component counter8 port ( CLK: in STD_LOGIC; RESET: in STD_LOGIC; CE, LOAD, DIR: in STD_LOGIC; DIN: in INTEGER range 0 to 255; COUNT: out INTEGER range 0 to 255 ); end component; shared variable end_sim : BOOLEAN := false; signal CLK, RESET, CE, LOAD, DIR: STD_LOGIC; signal DIN: INTEGER range 0 to 255; signal COUNT: INTEGER range 0 to 255; procedure WRITE_RESULTS ( CLK,CE,LOAD,LOAD,RESET : STD_LOGIC; (接下頁),KX康芯科技,DIN,COUNT : INTEGER ) is Variable V_OUT : LINE; Begin write(V_OUT, now, right, 16, ps); - 輸入時間 write(V_OUT, CLK, right, 2); write(V_OUT, RESET, right, 2); write(V_OUT, CE, right, 2); write(V_OUT, LOAD, right, 2); write(V_OUT, DIR, right, 2); write(V_OUT, DIN, right, 257); -write outputs write(V_OUT, COUNT, right, 257); writeline(RESULTS,V_OUT); end WRITE_RESULTS; begin UUT: COUNTER8 port map (CLK = CLK,RESET = RESET, CE = CE, LOAD = LOAD, DIR = DIR, DIN = DIN, COUNT = COUNT ); CLK_IN: process Begin (接下頁),KX康芯科技,if end_sim = false then CLK = 0; Wait for 15 ns; CLk =1; Wait for 15 ns; Else Wait; end if; end process; STIMULUS: process Begin RESET = 1; CE = 1; - 計數(shù)使能 DIR = 1; - 加法計數(shù) DIN = 250; - 輸入數(shù)據(jù) LOAD = 0; - 禁止加載輸入的數(shù)據(jù) wait for 15 ns; RESET = 0; wait for 1 us; CE = 0; - 禁止計數(shù)脈沖信號進(jìn)入 wait for 200 ns; CE = 1; wait for 200 ns; (接下頁),KX康芯科技,DIR = 0; wait for 500 ns; LOAD = 1; wait for 60 ns; LOAD = 0; wait for 500 ns; DIN = 60; DIR = 1; LOAD = 1; wait for 60 ns; LOAD = 0; wait for 1 us; CE = 0; wait for 500 ns; CE = 1; wait for 500 ns; end_sim :=true; wait; end process; WRITE_TO_FILE: WRITE_RESULTS(CLK,RESET,CE,LOAD,DIR,DIN,COUNT); End testbench_arch;,12.4 VHDL測試基準(zhǔn),KX康芯科技,圖12-4 8位計數(shù)器測試基準(zhǔn)仿真部分波形圖,12.5 VHDL系統(tǒng)級仿真,KX康芯科技,圖12-5 VHDL系統(tǒng)仿真模型示意圖,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,12.5 VHDL系統(tǒng)級仿真,【例12-8】 LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY cnt4 IS PORT ( rst : IN STD_LOGIC; d : IN STD_LOGIC_VECTOR(3 downto 0); load : IN STD_LOGIC; clk,ce : IN STD_LOGIC; q : OUT STD_LOGIC_VECTOR(3 downto 0); cout : OUT STD_LOGIC ); END cnt4; ARCHITECTURE syn OF cnt4 IS signal count : std_logic_vector(3 downto 0); BEGIN (接下頁),KX康芯科技,12.5 VHDL系統(tǒng)級仿真,cntproc: process(clk,rst) begin if rst = 1 then count 0); elsif rising_edge(clk) then if ce = 1 then if load = 1 then count = d; else count = count + 1; end if; end if; end if; end process; coutproc : process(clk,rst) begin if rst = 1 then cout = 0; elsif rising_edge(clk) then if count = “1111“ then cout = 1; else cout = 0; end if; end if; end process; q = count; END syn;,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-6 ModelSim的啟動界面,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-7 建立工程建立項目,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-8 開始編譯仿真文件,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-9 ModelSim編譯時的提示信息,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-10 裝載設(shè)計模塊,12.5 VHDL系統(tǒng)級仿真,KX康芯科技,圖12-11 ModelSim的仿真觀察窗,12.5 VHDL系統(tǒng)級仿真,KX康芯科技,12.5 VHDL系統(tǒng)級仿真,【例12-9】 library ieee; use ieee.std_logic_1164.all; ENTITY wavegen IS PORT ( clk,rst : OUT STD_LOGIC ); end wavegen; ARCHITECTURE sim OF wavegen is constant cycle:Time := 10 ns; BEGIN process begin clk = 0; wait for cycle/2; clk = 1; wait for cycle/2; end process; process begin rst = 1; wait for cycle*5; rst = 0; wait; end process; END sim;,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-12 ModelSim的波形觀察窗,12.5 VHDL系統(tǒng)級仿真,12.6 使用ModelSim進(jìn)行仿真,KX康芯科技,圖12-12 時鐘與復(fù)位信號生成,12.5 VHDL系統(tǒng)級仿真,12.7 VHDL的RTL表述,KX康芯科技,12.5 VHDL系統(tǒng)級仿真,12.7.1 行為描述,【例12-10】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cunter_up IS
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年遵義余慶縣選聘城市社區(qū)工作者筆試真題
- 2025年新能源與環(huán)保產(chǎn)業(yè)環(huán)保產(chǎn)業(yè)綠色金融與綠色金融產(chǎn)品報告
- 2025至2030中國天然水晶手鐲行業(yè)商業(yè)模式及發(fā)展前景與投資報告
- 2025至2030離心泵和容積泵行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國船舶配套自動化行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報告
- 甘南州中考數(shù)學(xué)試卷
- 2025至2030拉鏈儲物袋行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國半導(dǎo)體測試板行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025至2030消防車行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 尾礦泥制備生物基質(zhì)建設(shè)項目實施方案
- 現(xiàn)代教育技術(shù)投稿格式
- 肥胖幼兒個案跟蹤觀察記錄表
- 足球《踢墻式二過一》課件
- UPS跳切試驗報告
- 共享直播創(chuàng)業(yè)方案
- 慢性腎病防治
- 2023江蘇省射陽中等專業(yè)學(xué)校工作人員招聘考試真題
- 2022-2023學(xué)年北京八中物理高一下期末監(jiān)測模擬試題含解析
- 銀行理財經(jīng)理績效考核辦法(試行)模版
- 電子設(shè)計案例教程:基于Flowcode的流碼編程
- 電梯司機(jī)安全技術(shù)交底
評論
0/150
提交評論