第一篇:EDA(解答題)EDA期末總結(jié)8大全
1章
ENTITY AD574 IS STD_LOGIC;并行信號賦值語句;進程語句;塊語句;條件信號賦值語句;元件例化語
PORT(D :IN STD_LOGIC_VECTOR(11
Q : OUT
1、常用的硬件描述語言有VHDL、Verilog、ABEL 句;生成語句;并行過程調(diào)用語句。DOWNTO 0);
STD_LOGIC_VECTOR(4 DOWNTO 0));
2、VHDL自頂向下的設(shè)計流程:
4、什么叫并行語句?
CLK ,STATUS : IN STD_LOGIC;--狀END MEALY1;1.設(shè)計說明書2.建立VHDL行為模型3.VHDL行為仿真4.VHDL-RTL在結(jié)構(gòu)體的執(zhí)行是同步進行的,或者說是并行運行的,其執(zhí)行方式
ARCHITECTURE behav OF MEALY1 IS 態(tài)機時鐘CLK,AD574狀態(tài)信號STATUS 級建模 與書寫的順序無關(guān)。
TYPE states IS(st0, st1, st2, st3,st4);
LOCK0
: OUT STD_LOGIC;5.前端功能仿真6.邏輯綜合7.測試向量生成8.功能仿真9.結(jié)
5、VHDL中具有屬性的項目:
SIGNAL STX : states;
--內(nèi)部鎖存信號LOCK的測試信號 構(gòu)綜合10.門級時序仿真11.硬件測試12.設(shè)計完成 類型、子類型、過程、函數(shù)、信號、變量、常量、實體、結(jié)構(gòu)體、BEGIN
CS,A0,RC,K12X8 : OUT STD_LOGIC;2章 配置、程序包、元件和語句標(biāo)號等。
COMREG : PROCESS(CLK,RESET)--AD574控制信號
BEGIN--決定轉(zhuǎn)換狀態(tài)的進程 1.一般ASIC設(shè)計的流程:
6、綜合器支持的屬性有:
Q : OUT STD_LOGIC_VECTOR(11
IF RESET ='1' THEN 系統(tǒng)規(guī)格說明:系統(tǒng)劃分:邏輯設(shè)計與綜合:綜合后仿真:版圖設(shè)LEFT、RIGHT、HIGH、LOW、RANGE、REVERS RANGE、LENGTH、DOWNTO 0));--鎖存數(shù)據(jù)輸出
STX <= ST0;計:版圖驗證:參數(shù)提取與后仿真:制版、流片:芯片測試 EVENT及STABLE。END AD574;
ELSIF CLK'EVENT AND CLK = '1'
2、常用EDA工具: ARCHITECTURE behav OF AD574 IS
THEN 設(shè)計輸入編輯器:HDL綜合器:仿真器:適配器(或布局布線器):TYPE states IS(st0, st1, st2, st3,st4);
CASE STX IS
SIGNAL current_state, next_state: 下載器
WHEN st0 => IF DATAIN = '1' states :=st0;
3、IP核:軟IP硬IP固IP THEN STX <= st1;END IF;
SIGNAL REGL : 3章
WHEN st1 => IF DATAIN = '0' STD_LOGIC_VECTOR(11 DOWNTO 0);
1、CPLD和FPGA的主要區(qū)別: THEN STX <= st2;END IF;
SIGNAL LOCK : STD_LOGIC;
WHEN st2 => IF DATAIN = '1' 結(jié)構(gòu)上的不同:集成度的不同:CPLD:500~50000門;FPGA:1K~10M門:應(yīng)用范圍不同:CPLD邏輯能力強而寄存器少(1K左右),適用于控制密集型系統(tǒng);FPGA邏輯能力較弱但寄存器多(100多K),適用于數(shù)據(jù)密集型系統(tǒng)。使用方法不同
2、FPGA和CPLD的選用(1)CPLD的選用: 邏輯密集型:中小規(guī)模(1000~50000):免費軟件支持;編程數(shù)據(jù)不丟失,電路簡單;ISP特性,編程加密;布線延遲固定,時序特性穩(wěn)定;(2)FPGA選用: 數(shù)據(jù)密集型;大規(guī)模設(shè)計(5000~數(shù)百萬門);SOC設(shè)計:ASIC的設(shè)計仿真:布線靈活,但時序特性不穩(wěn)定;需用專用的ROM進行數(shù)據(jù)配置 4章
1、EDA綜合工具提供的數(shù)據(jù)類型為布爾型(Boolean)、位型(Bit)、位矢量型(Bit-Vector)和整數(shù)型(Interger)。
2、VHDL語言描述結(jié)構(gòu)體功能有3種方法:行為描述法:數(shù)據(jù)流描述法;結(jié)構(gòu)描述法
3、VHDL的庫:STD庫和WORK庫:IEEE庫
4、clock’EVENT and clock=‘1檢測上升沿;clock’EVENT and clock=‘0’檢測下降沿。
5、簡述實體、端口概念,端口種類及INPUT與BUFFER的異同。以關(guān)鍵詞ENTITY引導(dǎo),END ENTITY....結(jié)束的語句部分成為實體。端口種類4種:IN、OUT、INOUT、BUFFER。INOUT定義的通道確定為輸入輸出雙向端口;、BUFFER在需要輸入數(shù)據(jù)是時,只允許內(nèi)不回讀輸出的信號。
6、結(jié)構(gòu)體 以關(guān)鍵詞ARCHITECTURE引導(dǎo),END 結(jié)束的語句部分成為結(jié)構(gòu)體。
7、端口: INOUT定義的通道為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù),而BUFFER定義的通道雖然也是輸入輸出端口,但它回讀的信號不能從外部輸入,而是由內(nèi)部產(chǎn)生,向外輸出的信號。IN定義的通道為單向只讀模式,規(guī)定數(shù)據(jù)只能通過此端口被讀入實體中 OUT定義的通道為單向輸出模式,規(guī)定數(shù)據(jù)只能通過此端口從實體向外流出,或者說可以將實體中的數(shù)據(jù)向此端口賦值。INOUT定義的通道確定為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù)。6章
1、說明用原理圖輸入方法設(shè)計電路的詳細流程 1.為一項工程設(shè)計建立文件夾 2.輸入設(shè)計項目和存盤 3.將設(shè)計項目設(shè)置成工程文件 4.選擇目標(biāo)器件并編譯 5時序仿真和包裝入庫 6.設(shè)計頂層文件 7章
1、為什么要使用狀態(tài)機 有限狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。狀態(tài)機的結(jié)構(gòu)模式相對簡單。狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊。狀態(tài)機的VHDL表述豐富多樣。在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。就可靠性而言,狀態(tài)機的優(yōu)勢也是十分明顯的。
2、時序進程將次態(tài)信號送到現(xiàn)態(tài)信號
3、Moore型輸出僅與當(dāng)前狀態(tài)有關(guān),Mealy型輸出是當(dāng)前狀態(tài)與所有輸入信號
FSM:s_machine current_state clkPROCESSPROCESSREGCOMreset next_statecomb_outputsstate_inputs
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS
PORT(clk,reset
: IN STD_LOGIC;
state_inputs : IN STD_LOGIC_VECTOR(0 TO 1);
comb_outputs : OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE behv OF s_machine IS
TYPE FSM_ST IS(s0, s1, s2, s3);
SIGNAL current_state, next_state: FSM_ST;BEGIN REG: PROCESS(reset,clk)
BEGIN
IF reset = '1' THEN
current_state <= s0;
ELSIF clk='1' AND clk'EVENT THEN
current_state <= next_state;
END IF;
END PROCESS;
COM:PROCESS(current_state, state_Inputs)BEGIN
CASE current_state IS
WHEN s0 => comb_outputs<= 5;
IF state_inputs = “00” THEN next_state<=s0;
ELSE next_state<=s1;
END IF;
WHEN s1 => comb_outputs<= 8;
IF state_inputs = “00” THEN next_state<=s1;
ELSE next_state<=s2;
END IF;
WHEN s2 =>
comb_outputs<= 12;
IF state_inputs = “11” THEN next_state <= s0;
ELSE next_state <= s3;
END IF;
WHEN s3 => comb_outputs <= 14;
IF state_inputs = “11” THEN next_state <= s3;
ELSE next_state <= s0;
END IF;
END case;
END PROCESS;
END behv;
3、三進程有限狀態(tài)機 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;BEGIN
K12X8 <= '1';
LOCK0 <= LOCK;
COM1: PROCESS(current_state,STATUS)--決定轉(zhuǎn)換狀態(tài)的進程 BEGIN
CASE current_state IS
WHEN st0 => next_state <= st1;
WHEN st1 => next_state <= st2;
WHEN st2 => IF(STATUS='1')THEN next_state <= st2;
ELSE
next_state <= st3;
END IF;
WHEN st3=>
next_state <= st4;
WHEN st4=>
next_state <= st0;
WHEN OTHERS => next_state <= st0;
END CASE;
END PROCESS COM1;COM2: PROCESS(current_state)--輸出控制信號的進程
BEGIN
CASE current_state IS
WHEN st0=> CS<='1';A0<='1';RC<='1';LOCK<='0';--初始化
WHEN st1=> CS<='0';A0<='0';RC<='0';LOCK<='0';--啟動12位轉(zhuǎn)換
WHEN st2=> CS<='0';A0<='0';RC<='0';LOCK<='0';--等待轉(zhuǎn)換 WHEN st3=> CS<='0';A0<='0';RC<='1';LOCK<='0';--12位并行輸出有效
WHEN st4=> CS<='0';A0<='0';RC<='1';LOCK<='1';--鎖存數(shù)據(jù)
WHEN OTHERS=>CS<='1';A0<='1';RC<='1';LOCK<='0';--其它情況返回初始態(tài)
END CASE;
END PROCESS COM2;
REG: PROCESS(CLK)--時序進程
BEGIN
IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;
END IF;
END PROCESS REG;
LATCH1 : PROCESS(LOCK)--數(shù)據(jù)鎖存器進程
BEGIN
IF LOCK='1' AND LOCK'EVENT THEN
REGL <= D;
END IF;
END PROCESS;
Q <= REGL;END behav;
5、單進程有限狀態(tài)機 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS
PORT(DATAIN :IN STD_LOGIC_VECTOR(1 DOWNTO 0);
CLK,RST : IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END MOORE1;ARCHITECTURE behav OF MOORE1 IS
TYPE ST_TYPE IS(ST0, ST1, ST2, ST3,ST4);
SIGNAL C_ST : ST_TYPE;
BEGIN
PROCESS(CLK,RST)
BEGIN
IF RST ='1' THEN C_ST <= ST0;Q<= “0000”;
ELSIF CLK'EVENT AND CLK='1' THEN
CASE C_ST IS
WHEN ST0 => IF DATAIN =“10” THEN C_ST <= ST1;
ELSE C_ST <= ST0;END IF;
Q <= “1001”;
WHEN ST1 => IF DATAIN =“11” THEN C_ST <= ST2;
ELSE C_ST <= ST1;END IF;
Q <= “0101”;
WHEN ST2 => IF DATAIN =“01” THEN C_ST <= ST3;
ELSE C_ST <= ST0;END IF;
Q <= “1100”;
WHEN ST3 => IF DATAIN =“00” THEN C_ST <= ST4;
ELSE C_ST <= ST2;END IF;
Q <= “0010”;
WHEN ST4 => IF DATAIN =“11” THEN C_ST <= ST0;
ELSE C_ST <= ST3;END IF;
Q <= “1001”;
WHEN OTHERS => C_ST <= ST0;
END CASE;
END IF;
END PROCESS;END behav;
6、Mealy型有限狀態(tài)機的設(shè)計
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 IS PORT(CLK ,DATAIN,RESET : IN THEN STX <= st3;END IF;
WHEN st3=> IF DATAIN = '0' THEN STX <= st4;END IF;
WHEN st4=> IF DATAIN = '1'
THEN STX <= st0;END IF;
WHEN OTHERS => STX <= st0;
END CASE;
END IF;
END PROCESS COMREG;COM1: PROCESS(STX,DATAIN)BEGIN--輸出控制信號的進程
CASE STX IS
WHEN st0 => IF DATAIN = '1' THEN
Q <= “10000”;
ELSE Q<=“01010”;
END IF;
WHEN st1 => IF DATAIN = '0' THEN Q <= “10111”;
ELSE Q<=“10100”;
END IF;
WHEN st2 => IF DATAIN = '1' THEN Q <= “10101”;
ELSE Q<=“10011”;
END IF;
WHEN st3=> IF DATAIN = '0' THEN Q <= “11011”;
ELSE Q<=“01001”;
END IF;
WHEN st4=> IF DATAIN = '1' THEN Q <= “11101”;
ELSE Q<=“01101”;
END IF;
WHEN OTHERS => Q<=“00000”;
END CASE;
END PROCESS COM1;
END behav;
7、狀態(tài)編碼
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574A IS
PORT(D : IN
STD_LOGIC_VECTOR(11 DOWNTO 0);
CLK ,STATUS : IN STD_LOGIC;
OUT4 : OUT
STD_LOGIC_VECTOR(3 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0));END AD574A;ARCHITECTURE behav OF AD574A IS SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0);
CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “11100”;
CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00001”;
CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00000”;
CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00100”;
CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00110”;
SIGNAL REGL
: STD_LOGIC_VECTOR(11 DOWNTO 0);
SIGNAL LK
: STD_LOGIC;
BEGIN
COM1: PROCESS(current_state,STATUS)
--決定轉(zhuǎn)換狀態(tài)的進程 BEGIN
CASE current_state IS
WHEN st0 => next_state <= st1;
WHEN st1 => next_state <= st2;
WHEN st2 => IF(STATUS='1')THEN next_state <= st2;
ELSE
next_state <= st3;
END IF;
WHEN st3=> next_state <= st4;
WHEN st4=> next_state <= st0;
WHEN OTHERS => next_state <= st0;
END CASE;
OUT4 <= current_state(4 DOWNTO 1);END PROCESS COM1;
REG: PROCESS(CLK)--時序進程
BEGIN
IF(CLK'EVENT AND CLK='1')THEN
current_state <= next_state;
END IF;
END PROCESS REG;
LK <= current_state(1);
LATCH1 : PROCESS(LK)--數(shù)據(jù)鎖存器進程
BEGIN
IF LK='1' AND LK'EVENT THEN
REGL <= D;
END IF;
END PROCESS;
Q <= REGL;
END behav;9章
1、VHDL有那幾種基本的順序語句? 賦值語句;流程控制語句;等待語句;子程序調(diào)用語句;返回語句;空操作語句。
2、什么叫順序語句,它的適用范圍是什么? 執(zhí)行順序與它們的書寫順序基本一致的語句叫順序語句,順序語句只能出現(xiàn)在進程和子程序中,子程序包括函數(shù)和過程。3、VHDL并行語句幾種?
第二篇:EDA期末總結(jié)7
1章 PORT DOWNTO 0);(D:INSTD_LOGIC_VECTOR(11DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0));
1、常用的硬件描述語言有VHDL、Verilog、ABEL
CLK ,STATUS : IN STD_LOGIC;END AD574A;
2、VHDL自頂向下的設(shè)計流程:
LOCK0 : OUT STD_LOGIC;ARCHITECTURE behav OF AD574A IS 1.設(shè)計說明書2.建立VHDL行為模型3.VHDL行為仿真4.VHDL-RTL
CS,A0,RC,K12X8 : OUT STD_LOGIC;SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0);級建模 Q:OUTSTD_LOGIC_VECTOR(11DOWNTO 0));
CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “11100”;5.前端功能仿真6.邏輯綜合7.測試向量生成8.功能仿真9.結(jié)END AD574;
CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00001”;構(gòu)綜合10.門級時序仿真11.硬件測試12.設(shè)計完成 ARCHITECTURE behav OF AD574 IS
CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00000”;2章 TYPE states IS(st0, st1, st2, st3,st4);
CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00100”;SIGNALcurrent_state,next_state:states :=st0;
CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0):= “00110”;1.一般ASIC設(shè)計的流程: SIGNAL REGL:STD_LOGIC_VECTOR(11DOWNTO 0);
SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0);系統(tǒng)規(guī)格說明:系統(tǒng)劃分:邏輯設(shè)計與綜合:綜合后仿真:版圖設(shè)SIGNAL LOCK : STD_LOGIC;
SIGNAL LK
: STD_LOGIC;計:版圖驗證:參數(shù)提取與后仿真:制版、流片:芯片測試 BEGIN BEGIN
2、常用EDA工具:
K12X8 <= '1';
LOCK0 <= LOCK;
COM1: PROCESS(current_state,STATUS)設(shè)計輸入編輯器:HDL綜合器:仿真器:適配器(或布局布線器):COM1: PROCESS(current_state,STATUS)
BEGIN 下載器 BEGIN
CASE current_state IS
3、IP核:軟IP硬IP固IP
CASE current_state IS
WHEN st0 => next_state <= st1;3章
WHEN st0 => next_state <= st1;
WHEN st1 => next_state <= st2;
WHEN st1 => next_state <= st2;
WHEN st2 => IF(STATUS='1')THEN next_state <= st2;
1、CPLD和FPGA的主要區(qū)別:
WHEN st2 =>IF(STATUS='1')THENnext state <= st2;
ELSE next_state <= st3;
結(jié)構(gòu)上的不同:集成度的不同:CPLD:500~50000門;FPGA:1K~
ELSE next_state <= st3;
END IF;10M門:應(yīng)用范圍不同:CPLD邏輯能力強而寄存器少(1K左右),END IF;
WHEN st3=> next_state <= st4;
適用于控制密集型系統(tǒng);FPGA邏輯能力較弱但寄存器多(100多K),WHEN st3 => next_state <= st4;
WHEN st4=> next_state <= st0;適用于數(shù)據(jù)密集型系統(tǒng)。
WHEN st4 => next_state <= st0;
WHEN OTHERS => next_state <= st0;
使用方法不同
2、FPGA和CPLD的選用(1)CPLD的選用: 邏輯密集型:中小規(guī)模(1000~50000):免費軟件支持;編程數(shù)據(jù)不丟失,電路簡單;ISP特性,編程加密;布線延遲固定,時序特性穩(wěn)定;(2)FPGA選用: 數(shù)據(jù)密集型;大規(guī)模設(shè)計(5000~數(shù)百萬門);SOC設(shè)計:ASIC的設(shè)計仿真:布線靈活,但時序特性不穩(wěn)定;需用專用的ROM進行數(shù)據(jù)配置 4章
1、EDA綜合工具提供的數(shù)據(jù)類型為布爾型(Boolean)、位型(Bit)、位矢量型(Bit-Vector)和整數(shù)型(Interger)。
2、VHDL語言描述結(jié)構(gòu)體功能有3種方法:行為描述法:數(shù)據(jù)流描述法;結(jié)構(gòu)描述法
3、VHDL的庫:STD庫和WORK庫:IEEE庫
4、clock’EVENT and clock=‘1檢測上升沿;clock’EVENT and clock=‘0’檢測下降沿。
5、簡述實體、端口概念,端口種類及INPUT與BUFFER的異同。以關(guān)鍵詞ENTITY引導(dǎo),END ENTITY....結(jié)束的語句部分成為實體。端口種類4種:IN、OUT、INOUT、BUFFER。INOUT定義的通道確定為輸入輸出雙向端口;、BUFFER在需要輸入數(shù)據(jù)是時,只允許內(nèi)不回讀輸出的信號。
6、結(jié)構(gòu)體 以關(guān)鍵詞ARCHITECTURE引導(dǎo),END 結(jié)束的語句部分成為結(jié)構(gòu)體。
7、端口: INOUT定義的通道為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù),而BUFFER定義的通道雖然也是輸入輸出端口,但它回讀的信號不能從外部輸入,而是由內(nèi)部產(chǎn)生,向外輸出的信號。IN定義的通道為單向只讀模式,規(guī)定數(shù)據(jù)只能通過此端口被讀入實體中 OUT定義的通道為單向輸出模式,規(guī)定數(shù)據(jù)只能通過此端口從實體向外流出,或者說可以將實體中的數(shù)據(jù)向此端口賦值。INOUT定義的通道確定為輸入輸出雙向端口,可以由外向內(nèi)或由內(nèi)向外傳輸數(shù)據(jù)。6章
1、說明用原理圖輸入方法設(shè)計電路的詳細流程 1.為一項工程設(shè)計建立文件夾 2.輸入設(shè)計項目和存盤 3.將設(shè)計項目設(shè)置成工程文件 4.選擇目標(biāo)器件并編譯 5時序仿真和包裝入庫 6.設(shè)計頂層文件 7章
1、為什么要使用狀態(tài)機 有限狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。狀態(tài)機的結(jié)構(gòu)模式相對簡單。狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊。狀態(tài)機的VHDL表述豐富多樣。在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。就可靠性而言,狀態(tài)機的優(yōu)勢也是十分明顯的。
2、時序進程將次態(tài)信號送到現(xiàn)態(tài)信號
3、Moore型輸出僅與當(dāng)前狀態(tài)有關(guān),Mealy型輸出是當(dāng)前狀態(tài)與所有輸入信號 FSM:s_machine current_state clkPROCESSPROCESSREGCOMcomb_outputsreset next_statestate_inputs LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS
PORT(clk,reset
: IN STD_LOGIC;
state_inputs : IN STD_LOGIC_VECTOR(0 TO 1);
comb_outputs : OUT INTEGER RANGE 0 TO 15);END s_machine;ARCHITECTURE behv OF s_machine IS
TYPE FSM_ST IS(s0, s1, s2, s3);
SIGNAL current_state, next_state: FSM_ST;BEGIN REG: PROCESS(reset,clk)
BEGIN
IF reset = '1' THEN
current_state <= s0;
ELSIF clk='1' AND clk'EVENT THEN
current_state <= next_state;
END IF;
END PROCESS;
COM:PROCESS(current_state, state_Inputs)BEGIN
CASE current_state IS
WHEN s0 => comb_outputs<= 5;
IF state_inputs = “00” THEN next_state<=s0;
ELSE next_state<=s1;
END IF;
WHEN s1 => comb_outputs<= 8;
IF state_inputs = “00” THEN next_state<=s1;
ELSE next_state<=s2;
END IF;
WHEN s2 =>
comb_outputs<= 12;
IF state_inputs = “11” THEN next_state <= s0;
ELSE next_state <= s3;
END IF;
WHEN s3 => comb_outputs <= 14;
IF state_inputs = “11” THEN next_state <= s3;
ELSE next_state <= s0;
END IF;
END case;
END PROCESS;
END behv;三進程有限狀態(tài)機 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY AD574 IS
WHEN OTHERS => next_state <= st0;
END CASE;END PROCESS COM1;COM2: PROCESS(current_state)BEGIN
CASE current_state IS
WHEN st0=>CS<='1';A0<='1';RC<='1';LOCK<='0';WHEN st1=>CS<='0';A0<='0';RC<='0';LOCK<='0';
WHEN st2=>CS<='0';A0<='0';RC<='0';LOCK<='0';WHEN st3=>CS<='0';A0<='0';RC<='1';LOCK<='0';
WHEN st4=>CS<='0';A0<='0';RC<='1';LOCK<='1';
WHEN OTHERS=>CS<='1';A0<='1';RC<='1';LOCK<='0';
END CASE;END PROCESS COM2;REG: PROCESS(CLK)
BEGIN IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;END IF;END PROCESS REG;LATCH1 : PROCESS(LOCK)BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D;END IF;END PROCESS;
Q <= REGL;
END behav;單進程Moore型有限狀態(tài)機 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT(DATAIN:INSTD_LOGIC_VECTOR(1 DOWNTO 0);
CLK,RST : IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END MOORE1;ARCHITECTURE behav OF MOORE1 IS
TYPE ST_TYPE IS(ST0, ST1, ST2, ST3,ST4);
SIGNAL C_ST : ST_TYPE;
BEGIN
PROCESS(CLK,RST)
BEGIN
IF RST ='1' THEN C_ST <= ST0;Q<= “0000”;
ELSIF CLK'EVENT AND CLK='1' THEN
CASE C_ST IS
WHEN ST0 => IF DATAIN =“10” THEN C_ST <= ST1;
ELSE C_ST <= ST0;END IF;
Q <= “1001”;WHEN ST1 => IF DATAIN =“11” THEN C_ST <= ST2;
ELSE C_ST <= ST1;END IF;
Q <= “0101”;WHEN ST2 => IF DATAIN =“01” THEN C_ST <= ST3;
ELSE C_ST <= ST0;END IF;
Q <= “1100”;WHEN ST3 => IF DATAIN =“00” THEN C_ST <= ST4;
ELSE C_ST <= ST2;END IF;
Q <= “0010”;WHEN ST4 => IF DATAIN =“11” THEN C_ST <= ST0;
ELSE C_ST <= ST3;END IF;
Q <= “1001”;WHEN OTHERS => C_ST <= ST0;
END CASE;
END IF;
END PROCESS;END behav;2進程Mealy型有限狀態(tài)機的設(shè)計
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 IS PORT(CLK,DATAIN,RESET:IN STD_LOGIC;
Q:OUTSTD_LOGIC_VECTOR(4DOWNTO 0));END MEALY1;ARCHITECTURE behav OF MEALY1 IS
TYPE states IS(st0, st1, st2, st3,st4);
SIGNAL STX : states;
BEGIN
COMREG : PROCESS(CLK,RESET)BEGIN
IF RESET ='1' THEN STX <= ST0;
ELSIF CLK'EVENT AND CLK = '1' THEN CASE STX IS
WHEN st0 => IF DATAIN = '1' THEN STX <= st1;END IF;
WHEN st1 => IF DATAIN = '0' THEN STX <= st2;END IF;
WHEN st2 => IF DATAIN = '1' THEN STX <= st3;END IF;
WHEN st3 => IF DATAIN = '0' THEN STX <= st4;END IF;
WHEN st4 => IF DATAIN = '1' THEN STX <= st0;END IF;
WHEN OTHERS => STX <= st0;
END CASE;
END IF;END PROCESS COMREG;COM1: PROCESS(STX,DATAIN)BEGIN
CASE STX IS
WHEN st0 => IF DATAIN = '1' THEN Q <= “10000”;
ELSE Q<=“01010”;END IF;
WHEN st1 => IF DATAIN = '0' THEN Q <= “10111”;
ELSE Q<=“10100”;END IF;
WHEN st2 => IF DATAIN = '1' THEN Q <= “10101”;
ELSE Q<=“10011”;END IF;
WHEN st3 => IF DATAIN = '0' THEN Q <= “11011”;
ELSE Q<=“01001”;END IF;
WHEN st4 => IF DATAIN = '1' THEN Q <= “11101”;
ELSE Q<=“01101”;END IF;
WHEN OTHERS => Q<=“00000”;
END CASE;END PROCESS COM1;END behav;狀態(tài)編碼
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574A IS
PORT(D : IN STD_LOGIC_VECTOR(11 DOWNTO 0);
CLK ,STATUS : IN STD_LOGIC;
OUT4 : OUT STD_LOGIC_VECTOR(3
END CASE;
OUT4 <= current_state(4 DOWNTO 1);END PROCESS COM1;
REG: PROCESS(CLK)
BEGIN
IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state;
END IF;
END PROCESS REG;
LK <= current_state(1);
LATCH1 : PROCESS(LK)
BEGIN
IF LK='1' AND LK'EVENT THEN
REGL <= D;
END IF;
END PROCESS;
Q <= REGL;
END behav;
9章
1、VHDL有那幾種基本的順序語句? 賦值語句;流程控制語句;等待語句;子程序調(diào)用語句;返回語句;空操作語句。
2、什么叫順序語句,它的適用范圍是什么?
執(zhí)行順序與它們的書寫順序基本一致的語句叫順序語句,順序語句只能出現(xiàn)在進程和子程序中,子程序包括函數(shù)和過程。3、VHDL并行語句幾種? 并行信號賦值語句;進程語句;塊語句;條件信號賦值語句;元件例化語句;生成語句;并行過程調(diào)用語句。
4、什么叫并行語句? 在結(jié)構(gòu)體的執(zhí)行是同步進行的,或者說是并行運行的,其執(zhí)行方式與書寫的順序無關(guān)。
5、VHDL中具有屬性的項目: 類型、子類型、過程、函數(shù)、信號、變量、常量、實體、結(jié)構(gòu)體、配置、程序包、元件和語句標(biāo)號等。
6、綜合器支持的屬性有: LEFT、RIGHT、HIGH、LOW、RANGE、REVERS RANGE、LENGTH、EVENT及STABLE。
端口模式:IN單向只讀
OUT單向輸出
INOUT輸入輸出雙向
BUFFER內(nèi)部回讀輸出信號,反饋 數(shù)據(jù)類型:INTEGER整數(shù)數(shù)據(jù)
BOOLEAN布爾數(shù)據(jù)
STD_LOGIC標(biāo)準邏輯位數(shù)據(jù)
BIT位數(shù)據(jù) 邏輯操作符:AND與
OR或
NAND與非
NOR或非
XOR異或
XNOR同或
NOT非 數(shù)據(jù)對象:SIGNAL信號
VARIABLE變量
CONSTANT常量
7、for_loop語句實現(xiàn)一個16位的串行并出移位寄存器
Library IEEE;Use IEEE.std_logic_1164.all;Use IEEE.std_logic_unsigned.all;Use IEEE.std_logic_arith.all;Entity chuan_bing is port(load : in std_logic;
d_in : in std_logic;
d_out:buffer std_logic_vector(15 downto 0);clk :in std_logic);
end chuan_bing;architecture arch of chuan_bing is signal l: std_logic_vector(15 downto 0);
begin process(clk)begin
if(clk'event and clk='1')then
l(0)<=d_in;
if(load='0')then
for i in 14 downto 0 loop
l(i+1)<=l(i);
end loop;
else
d_out<=l;
end if;end if;end process;end arch;
第三篇:EDA總結(jié)
一、有關(guān)概念
1.ASIC全稱:專用集成電路; 2.FPGA:現(xiàn)場可編程門陣列 3.CPLD:復(fù)雜可編程邏輯器件; 4.VHDL全稱:硬件描述語言; 5.全定制; 6.半定制;
7.IP核;IP就是知識產(chǎn)權(quán)核或知識產(chǎn)權(quán)模塊的意思
8.綜合(器);綜合就是將電路的高級語言(如行為描述)轉(zhuǎn)換為低級的,可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序。
9.適配(器);適配器也稱結(jié)構(gòu)綜合器,它的功能是將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件。
10.功能仿真;是直接對VHDL、原理圖描述或其他描述形式的邏輯功能進行測試模擬,以了解其實現(xiàn)的功能是否滿足原設(shè)計的要求
11.時序仿真;就是接近真實器件運行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),因而,仿真精度高。
12.編程下載;把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD下載,以便進行硬件測試和驗證 13.PROM;可編程只讀存儲器 14.PLA;可編程邏輯陣列 15.PAL;可編程陣列邏輯 16.查找表; 17.乘積項;
18.實體;VHDL實體作為一個設(shè)計實體(獨立的電路功能結(jié)構(gòu))的組成部分,其功能是對這個設(shè)計實體與外部電路進行接口描述。
19.結(jié)構(gòu)體;結(jié)構(gòu)體是實體所定義實體中的一個組成部分。結(jié)構(gòu)體描述設(shè)計實體的內(nèi)部結(jié)構(gòu)和外部設(shè)計實體端口間的邏輯關(guān)系。
20.元件例化;元件例化意味著在當(dāng)前結(jié)構(gòu)體內(nèi)定義了一個新的設(shè)計層次,這個設(shè)計層次的總稱叫元件,但它可以以不同的形式出現(xiàn)。?? 21.時鐘進程; 22.三態(tài); 23.線與; 24.數(shù)據(jù)對象;
25.變量;變量是一個局部量,只能在進程和子程序中使用,變量的賦值是立即發(fā)生的,不存在任何延時行為。
26.信號;信號是硬件系統(tǒng)的基本數(shù)據(jù)對象,它的性質(zhì)類似于連接線。信號可以作為設(shè)計實體中并行語句模塊間的信息交流通道
27.Moore型狀態(tài)機;異步輸出狀態(tài)機,輸出僅為當(dāng)前狀態(tài)的函數(shù),在輸入發(fā)生變化時還必須等待時鐘的到來。
28.Mealy型狀態(tài)機;同步輸出狀態(tài)機,輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù),它的輸出是在輸入變化后立即發(fā)生的。不依賴于時鐘的同步。
注意:
1.<= 對信號SIGNAL的賦值 := 是對變量variable的賦值
2.程序的實體名必須和文件名一致,例1中二輸入與門的文件名必須為yumen
一、有關(guān)概念
ASIC全稱;FPGA和CPLD全稱;VHDL全稱;全定制;半定制; IP核;綜合(器);適配(器);功能仿真;時序仿真;編程下載;PROM;PLA;PAL;查找表;乘積項;實體;結(jié)構(gòu)體;元件例化;時鐘進程;三態(tài);線與; 數(shù)據(jù)對象;變量;信號; Moore型狀態(tài)機;Mealy型狀態(tài)機。
二、程序分析及設(shè)計
1、二輸入與門的VHDL語言設(shè)計。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY yumen IS
PORT(a, b : IN BIT;
y : OUT BIT);END ENTITY yumen;ARCHITECTURE one OF yumen IS BEGIN y <= a AND b;END ARCHITECTURE one;
2、帶有異步復(fù)位和同步時鐘使能的6進制計數(shù)器VHDL語言設(shè)計。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jinzhi IS PORT(CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);COUT : OUT STD_LOGIC);END jinzhi;ARCHITECTURE behav OF jinzhi IS BEGIN PROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN IF RST = '1' THEN CQI :=(OTHERS =>'0');--計數(shù)器復(fù)位 ELSIF CLK'EVENT AND CLK='1' THEN--檢測時鐘上升沿 IF EN = '1' THEN--檢測是否允許計數(shù) IF CQI < 5 THEN CQI := CQI + 1;--允許計數(shù)
ELSE CQI :=(OTHERS =>'0');--大于5,計數(shù)值清零 END IF;END IF;END IF;IF CQI = 5 THEN COUT <= '1';--計數(shù)大于5,輸出進位信號 ELSE COUT <= '0';END IF;CQ <= CQI;--將計數(shù)值向端口輸出 end PROCESS;END behav;
3、用VHDL語言設(shè)計2選1數(shù)據(jù)選擇器。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY erxuanyi IS PORT(a, b, s: IN BIT;y : OUT BIT);END erxuanyi;ARCHITECTURE one OF erxuanyi IS BEGIN PROCESS(a,b,s)BEGIN IF s = '0' THEN y <= a;ELSE y <= b;END IF;END PROCESS;END;
4、邊沿型T、D觸發(fā)器VHDL語言設(shè)計。--D觸發(fā)器
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF IS PORT(CLK : IN STD_LOGIC;D : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF IS SIGNAL Q1 : STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= D;END IF;END PROCESS;Q <= Q1;END bhv;
--T觸發(fā)器
有clk且為1的時候,T與當(dāng)前狀態(tài)異或
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tff IS PORT(CLK : IN STD_LOGIC;T : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF tff IS SIGNAL Q1 : STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= Q1 XOR T;END IF;END PROCESS;Q <= Q1;END bhv;
5、帶并行置數(shù)的8位右移移位寄存器VHDL語言設(shè)計。
library ieee;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS PORT(CLK,LOAD: IN STD_LOGIC;
DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
QB:OUT STD_LOGIC);END SHFRT;
ARCHITECTURE BEHAV OF SHFRT IS BEGIN PROCESS(CLK,LOAD)
VARIABLE REG8: STD_LOGIC_VECTOR(7 TO 0);BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF LOAD='1' THEN REG8:=DIN;
ELSE REG8(6 DOWNTO 0):=REG8(7 DOWNTO 1);
END IF;
END IF;
QB<=REG8(0);END PROCESS;END BEHAV;--說明:當(dāng)clk有上升沿,而且load為1的時候把din的值賦給REG8,如果clk有上升沿,而且load為0的時候把REG8的高7為賦給低7位(注意此時最高位不變)6、1位半加器VHDL語言設(shè)計。(布爾邏輯描述)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY banjia IS PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END ENTITY banjia;ARCHITECTURE fh1 OF banjia IS BEGIN so <= not(a xor(not b));co <= a and b;END ARCHITECTURE fh1;
7、用VHDL語言設(shè)計實現(xiàn)四選一數(shù)據(jù)選擇器。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sixuan IS PORT(a, b, c , d: IN BIT;
s: IN STD_LOGIC_VECTOR(1 DOWNTO 0);y : OUT BIT);END sixuan;ARCHITECTURE one OF sixuan IS BEGIN PROCESS(a,b,c,d,s)BEGIN case s(1 DOWNTO 0)is when “00” => y <= a;when “01” => y <= b;when “10” => y <= c;when “11” => y <= d;when others => null;END case;END PROCESS;END;
8、用VHDL語言實現(xiàn)三態(tài)門設(shè)計。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY santai IS port(enable : IN STD_LOGIC;datain : IN STD_LOGIC_VECTOR(7 DOWNTO 0);dataout : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END santai;ARCHITECTURE bhv OF santai IS BEGIN PROCESS(enable,datain)BEGIN IF enable = '1' THEN dataout <= datain;ELSE dataout <=“ZZZZZZZZ”;END IF;END PROCESS;END bhv;
9、設(shè)有VHDL描述的半加器h_adder和或門or2,試通過層次化設(shè)計思想設(shè)計由半加器和或門構(gòu)成的一位二進制全加器的VHDL程序。全加器f_adder電路結(jié)構(gòu)組成圖如下所示。
半加器h_adder LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder IS BEGIN so <=(a OR b)AND(a NAND b);co <= NOT(a NAND b);END ARCHITECTURE fh1;
或門 or2a LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a, b :IN STD_LOGIC;c : OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a IS BEGIN c <= a OR b;END ARCHITECTURE one;
元件例化adder library ieee;use ieee.std_logic_1164.all;entity adder is port(ain,bin,cin:in std_logic;
cout,sum :out std_logic);end entity adder;architecture fd1 of adder is component h_adder
port(a,b:in std_logic;
co,so:out std_logic);end component;component or2a
port(a,b:in std_logic;
c:out std_logic);end component;signal d,e,f:std_logic;begin u1 : h_adder port map(a=>ain,b=>bin,co=>d,so=>e);u2 : h_adder port map(a=>e,b=>cin,co=>f,so=>sum);u3 : or2a port map(a=>d,b=>f,c=>cout);end architecture fd1;
第四篇:EDA期末復(fù)習(xí)總結(jié)1
面向FPGA的開發(fā)流程
綜合:由高層次描述自動轉(zhuǎn)換為低層次描述的過程。是EDA技術(shù)的核心。
綜合器:能夠自動將一種設(shè)計表示形式向另一種設(shè)計表示形式轉(zhuǎn)換的計算機程序。Xilinx公司推出FPGA;Altera公司推出EPLD,Lattice公司提出CPLD和ISP。
VHDL程序的基本結(jié)構(gòu):庫、程序包,實體,結(jié)構(gòu)體,進程,配置。VHDL的本質(zhì):并行語句。
不完整IF語句形成時序邏輯電路,完整IF語句形成組合邏輯電路。
常用邏輯門符號與現(xiàn)有國標(biāo)符號的對照:
第三章VHDL的基礎(chǔ)
3.1 VHDL基本語法
實體:描述器件的端口構(gòu)成及信號端口的基本性質(zhì)。表達式:entity e_name is port(p_name:port_m data_type;
??
p_namei:port_mi data_type); end entity e_name;
結(jié)構(gòu)體:描述電路器件的內(nèi)部邏輯功能和電路結(jié)構(gòu)。
表達式:architecture arch_name of e_name is [說明語句] ??定義或說明數(shù)據(jù)對象、數(shù)據(jù)類型、元件調(diào)用聲明 begin(功能表述語句)end architecture arch_name;
一個可綜合的、完整的VHDL程序結(jié)構(gòu)必須包含實體和結(jié)構(gòu)體兩個最基本的語言結(jié)構(gòu)。把一個完整的可綜合的VHDL程序設(shè)計稱為設(shè)計實體,而其程序代碼常被稱為VHDL的RTL描述。
4種端口模式:IN,OUT,INOUT,BUFFER。
4種數(shù)據(jù)類型:integer(整數(shù)),boolean(邏輯),std_logic,bit。bit的取值范圍是‘1’和‘0’,可以參與邏輯運算或算術(shù)運算,其結(jié)果仍是位的數(shù)據(jù)類型。
賦值符號“<=”:
例如y<=a,表示輸入端口a的數(shù)據(jù)向輸出端口y傳輸,或信號a向信號y賦值。賦值操作并非立即發(fā)生,而要經(jīng)歷一個模擬器的最小分辨時間δ,δ可以看作實際電路存在的固有延時量。“<=”兩邊的信號的數(shù)據(jù)類型必須一致。
數(shù)據(jù)比較符號“=”:
例如s=‘0’,“=”沒有賦值的含義,只是一種數(shù)據(jù)比較符號。S=‘0’輸出結(jié)果的數(shù)據(jù)類型是布爾數(shù)據(jù)類型BOOLEAN,BOOLEAN數(shù)據(jù)類型取值是TRUE(真)和FALSE(偽),VHDL仿真器和綜合器分別用‘1’和‘0’表達TRUE和FALSE,布爾數(shù)據(jù)不是數(shù)值,只能用于邏輯操作或條件判斷。
7種邏輯操作符:and與、or或、not非、nand與非、nor或非、xor異或、xnor同或。
邏輯操作符所要求的操作數(shù)的數(shù)據(jù)類型有3種,即bit、boolean和std_logic。
條件語句:用IF_THEN_ELSE表示VHDL順序語句。
IF語句表達式:if 條件句 then 順序語句 else 順序語句 end if
WHEN_ELSE 條件信號賦值語句:一種并行賦值語句
表達式:賦值目標(biāo)<=表達式 WHEN 賦值條件 ELSE 例:z<= a when p1=’1’ else
表達式 WHEN 賦值條件 ELSE b when p2=’1’ else
? c;
表達式; 條件信號賦值語句的第一句具有最高賦值優(yōu)先。
進程語句:由Process引導(dǎo)的語句: 表達式:Process(a,b,s)
在VHDL中,所有合法的順序語句都必須放入進程語句中。在結(jié)構(gòu)體中,可以有很多進程語句,所有的進程語句都是并行語句,而由任一進程Process引導(dǎo)的語句結(jié)構(gòu)屬于順序語句。進程語句定義的是變量。描述數(shù)字電路時,推薦使用Process語句。
文件取名和存盤
文件名可以由設(shè)計者任意給定,但文件后綴擴展名必須是“.vhd”,建議程序的文件名盡可能與該程序的實體名一致,文件名原則上不分大小寫,但推薦用小寫。
3.2 時序電路描述
VHDL主要通過對時序器件功能和邏輯行為的描述,而非結(jié)構(gòu)上的描述使得計算機綜合出符合要求的時序電路。
標(biāo)準邏輯位數(shù)據(jù)類型STD_LOGIC:
STD_LOGIC定義:TYPE STD_LOGIC IS(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)
使用庫和程序包的一般定義表達式: LIBRARY <設(shè)計庫名>;
USE <設(shè)計庫名>.<程序包名>.ALL;
信號定義:signal q1:std_logic 數(shù)據(jù)對象:信號(signal)、變量(variable)、常量(constant)
信號屬性函數(shù):EVENT。所謂信號屬性函數(shù)是用來獲得信號行為信息的函數(shù)。測定信號的跳變情況:<信號名>’EVENT 上升沿檢測表式為:<信號名>’EVENT AND <信號名>=’1’ 時鐘上升沿檢測表式為:clk’event and clk=‘1’ 確保clk的變化是一次上升沿的變化:
if clk'event and(clk='1')and(clk'last_value='0')if clk='1' and clk'last_value='0' 3.3
※CASE語句:
case語句屬于順序語句,因此必須放在進程語句中使用。
一般表達式:case <表達式> is when <選擇值或標(biāo)識符>=><順序語句>;?;<順序語句>;when <選擇值或標(biāo)識符>=><順序語句>;?;<順序語句>;?
when others=><順序語句>;--一般用null,表示不作任何操作。end case;
并置操作符&:表示將操作數(shù)或是數(shù)組合并起來形成新的數(shù)組。如abc<=a&b。
例化語句:
第一部分是對一個現(xiàn)成的設(shè)計實體定義為一個元件,語句的功能是對待調(diào)用的元件作出調(diào)用聲明,其表達式為:component 元件名
port(端口名表);
end component 第二部分則是此元件與當(dāng)前設(shè)計實體中元件間及端口的連接說明,語句的表達式為:
例化名:元件名port map([端口名=>]連接端口名,?);
相關(guān)語法說明:
1、變量
variable cqi:std_logic_vector(3 downto 0);變量與信號的區(qū)別: 信號:全局量
用于architecture、package、entity中 賦值符號為<= 變量:局部量
用于process、function、procedure中 賦值符號為:=
2、省略賦值操作符(others=>x)
全加器的VHDL描述(書P55)
3.6 數(shù)據(jù)對象
數(shù)據(jù)對象: 常量(constant):代表數(shù)字電路中電源、地和恒定的邏輯值。
常數(shù)定義語句:
變量(variable):代表暫存某些值的載體,常用于描述算法。
變量定義語句:
信號(signal):代表物理設(shè)計中的某硬件連接線,包括輸入輸出端口。
信號定義語句:
信號賦值語句:
變量與信號的差異(總結(jié)): 1)賦值方式的不同:
變量:= 表達式;
信號 < = 表達式;
2)硬件實現(xiàn)的功能不同:
信號代表電路單元、功能模塊間的互聯(lián),代表實際的硬件連線;
變量代表電路單元內(nèi)部的操作,代表暫存的臨時數(shù)據(jù)。
3)有效范圍的不同:
信號:程序包、實體、結(jié)構(gòu)體;全局量。
變量:進程、子程序;局部量。4)賦值行為的不同:
信號賦值延遲更新數(shù)值、時序電路;
變量賦值立即更新數(shù)值、組合電路。
3.7 IF語句概述
※IF語句:
3.8 進程語句歸納
Process語句結(jié)構(gòu)的一般表達格式如下:
[進程標(biāo)號:] process [(敏感信號參數(shù)表)] [is] [進程說明部分](定義該進程所需的局部數(shù)據(jù)環(huán)境)begin 順序描述語句(描述該進程的行為)end process [進程標(biāo)號];
第四章QuartusⅡ的使用
建立工作庫文件夾和編輯設(shè)計文件,創(chuàng)建工程,編譯前設(shè)置,全程編譯,時序仿真,應(yīng)用RTL電路圖觀察器,引腳鎖定,配置文件下載,編程配置器件,Signal TapⅡ?qū)崟r測試。(文本編輯,功能仿真,邏輯綜合,布局布線,時序仿真,編程下載)
第五章VHDL狀態(tài)機
用戶自定義數(shù)據(jù)類型是用類型定義語句TYPE和子類型定義語句SUBTYOPE實現(xiàn)的
5.1 狀態(tài)機設(shè)計相關(guān)語句
TYPE類型定義語句:
VHDL中的枚舉數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,它們是用文字符號來表示一組實際的二進制數(shù)。設(shè)計者在狀態(tài)機的設(shè)計中,為了利于閱讀、編譯和VHDL綜合器的優(yōu)化,往往將表征狀態(tài)的二進制數(shù)組用文字符號來代替,即所謂的狀態(tài)符號化。
枚舉類型也可以直接用數(shù)值來定義,但必須使用單引號。枚舉數(shù)據(jù),在綜合過程中,都將轉(zhuǎn)化為二進制代碼。編碼順序是默認的。編碼數(shù)值:一般將第一個枚舉量編碼為‘0’或“0000”,以后依次加1。編碼的位矢量長度根據(jù)實際情況決定。
子類型subtype是由type所定義的原數(shù)據(jù)類型的一個子集,它滿足原數(shù)據(jù)類型的所有約束條件,原數(shù)據(jù)類型稱為基本數(shù)據(jù)類型。子類型并沒有定義新的數(shù)據(jù)類型。
子類型subtype的語句格式:
5.1.3
狀態(tài)機的結(jié)構(gòu)
最一般最常用的狀態(tài)機通常包括:說明部分,主控時序進程,主控組合進程,輔助進程。
現(xiàn)態(tài)信號current_state,次態(tài)信號next_state。
真值表:
5.2 Moore狀態(tài)機設(shè)計
從狀態(tài)機的信號輸出方式上分,有Moore型和Mealy型兩類狀態(tài)機。
Moore型狀態(tài)機的輸出僅為當(dāng)前狀態(tài)的函數(shù),這類狀態(tài)機在輸入發(fā)生變化時還必須等待時鐘的到來,時鐘使?fàn)顟B(tài)變化時才導(dǎo)致輸出的變化,所以比Mealy機要多等待一個時鐘周期。
Mealy型狀態(tài)機的輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù),它的輸出是在輸入變化后立即發(fā)生的,不依賴時鐘的同步。
從輸出時序上看,Moore屬于同步輸出狀態(tài)機,而Mealy屬于異步輸出狀態(tài)機。
摩爾(Moore)型狀態(tài)機的輸出僅與當(dāng)前狀態(tài)有關(guān):
異步復(fù)位:目的在加電時建立一個初始狀態(tài),并避免非法狀態(tài);
摩爾(Moore)型狀態(tài)機真值表:
多進程Moore狀態(tài)機的輸出信號是由組合電路發(fā)出的,所以在一些特定情況下難免出現(xiàn)毛刺現(xiàn)象。如果這些輸出信號用作時鐘信號,極易產(chǎn)生錯誤的操作,需盡力避免。單進程Moore狀態(tài)機較容易構(gòu)成能避免出現(xiàn)毛刺現(xiàn)象的狀態(tài)機。
5.3 Mealy 狀態(tài)機
Mealy狀態(tài)機的輸出不僅是當(dāng)前狀態(tài)的函數(shù),也是輸入信號的函數(shù)。
Mealy 狀態(tài)機真值表:
第七章VHDL語句
7.1 VHDL順序語句(Sequential)
硬件執(zhí)行:并行執(zhí)行(VHDL本質(zhì))仿真執(zhí)行:順序執(zhí)行、并行執(zhí)行
分為兩大類:順序(Sequential)描述語句、并行(Concurrent)描述語句
順序語句只能用在進程與子程序中。可描述組合邏輯、時序邏輯。常用的順序描述語句:賦值語句; if語句;case語句;loop語句; next語句;exit語句;子程序調(diào)用語句; return語句;wait語句;null語句。
7.1.4 LOOP語句
LOOP語句就是循環(huán)語句,它可以使所包含的一組順序語句被循環(huán)執(zhí)行,其執(zhí)行次數(shù)可由設(shè)定的循環(huán)參數(shù)決定。
LOOP語句的常用表達方式有兩種。
(1)單個LOOP語句,其語法格式如下:
[LOOP標(biāo)號:] LOOP
順序語句
END LOOP [LOOP標(biāo)號:];
該語句形式的循環(huán)方式需引入其它控制語句(如EXIT語句)才能確定。
(2)FOR_LOOP語句,其語法格式如下:
[LOOP標(biāo)號:] FOR 循環(huán)變量,IN 循環(huán)次數(shù)范圍 LOOP 順序語句
END LOOP [LOOP標(biāo)號:];
7.1.5 NEXT 語句
NEXT語句主要用在LOOP語句執(zhí)行中進 行有條件的或無條件的轉(zhuǎn)向控制,它的語句格式有3種。
(1)第一種語句格式:NEXT;
當(dāng)LOOP內(nèi)的順序語句執(zhí)行到NEXT語句時,即刻無條件終止當(dāng)前的循環(huán),跳回到本次循環(huán)LOOP語句處,開始下一次循環(huán)。
(2)第二種語句格式:NEXT LOOP標(biāo)號;
在當(dāng)有多重LOOP語句嵌套時,可以跳轉(zhuǎn)到指定標(biāo)號的LOOP語句處,重新開始執(zhí)行循環(huán)操作。
(3)第三種語句格式:NEXT LOOP標(biāo)號 WHEN 條件表達式 ;
分句“WHEN 條件表達式”是執(zhí)行NEXT語句的條件,如果條件表達式的值為TRUE,則執(zhí)行NEXT語句,進入跳轉(zhuǎn)操作,否則繼續(xù)向下執(zhí)行。但當(dāng)只有單層LOOP循環(huán)語句時,關(guān)鍵詞NEXT和WHEN之間的“LOOP標(biāo)號”可以省去。
7.1.6 EXIT語句
EXIT 語句為LOOP語句的內(nèi)部循環(huán)控制語句,將結(jié)束循環(huán)狀態(tài)。
EXIT;--第一種語句格式 EXIT LOOP標(biāo)號;--第二種語句格式
EXIT LOOP標(biāo)號 WHEN 條件表達式 ;--第三種語句格式
NEXT語句與EXIT語句的格式與操作功能非常相似,區(qū)別是: NEXT語句是跳向LOOP語句的起始點,而EXIT語句則是跳向LOOP語句的終點。
7.1.7 WAIT語句
在進程中,當(dāng)執(zhí)行到WAIT(等待)語句時,運行程序?qū)⒈粧炱穑钡綕M足此語句設(shè)置的結(jié)束掛起條件之后,才重新開始執(zhí)行進程中的程序。
wait--無限等待
wait on 信號表--敏感信號等待語句 wait until 條件表達式--條件滿足(可綜合)wait for 時間表達式--時間到,超時等待語句
1、wait on 語句
格式:wait on 信號[,信號];
2、wait until 語句(可綜合)
格式:wait until 表達式;
當(dāng)表達式的值為“真”時,進程被啟動,否則進程被掛起。
三種表達方式:
wait until 信號 = value;wait until 信號’event and 信號 = value;wait until not(信號’stable)and 信號 = value;時鐘信號 clk 的上升沿的描述:
wait until clk = ‘1’;
wait until rising_edge(clk);wait until clk’event and clk = ‘1’;
wait until not(clk’stable)and clk = ‘1’;
7.1.9
return 語句
return 語句只能用于子程序中,并用來終止一個子程序的執(zhí)行。
格式:return [表達式];
分為:1)return ;
用于過程,只是結(jié)束過程,不返回任何值。2)return 表達式;
用于函數(shù),并且必須返回一個值。
7.1.9
空操作語句
空操作語句不完成任何操作,它唯一的功能就是使邏輯運行流程跨入下一步語句的執(zhí)行。NULL常用于CASE語句中,為滿足所有可能的條件,利用NULL來表示剩余條件下的操作行為。
格式: NULL;
7.2
并行語句(Concurrent Statements)
結(jié)構(gòu)體中可綜合的并行描述語句有:
并行信號賦值語句,條件信號賦值語句,選擇信號賦值語句,進程語句,塊語句,元件例化語句,生成語句,參數(shù)傳遞映射語句,過程調(diào)用語句,端口說明語句。
使用格式: ARCHITECTURE 結(jié)構(gòu)體名 OF 實體名 IS 說明語句
BEGIN 并行語句
END ARCHITECTURE 結(jié)構(gòu)體名
名詞解釋
EDA--------電子設(shè)計自動化(Electronic Design Automation)VHDL------超高速集成電路硬件描述語言
(Very-High-Speed Integrated Circuit HardwareDescription Language)CPLD------復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)EPLD--------電可編程邏輯器件(Electrically Programmable Logic Device)FPGA------現(xiàn)場可編程門陣列(Field-Programmable Gate Array)
ASIC-------專用集成電路(Application Specific Integrated Circuit)LUT---------顯示查找表(Look-Up-Table)ISP----------在系統(tǒng)可編程技術(shù)(In_System Programmability Programming)
第五篇:EDA基礎(chǔ)總結(jié)
EDA基礎(chǔ)總結(jié)
綜述部分
1.EDA的中文全稱為電子設(shè)計自動化,英文全名為Electronic Design Automation。2.EDA平臺常用的兩種輸入電路的方法是:電路原理圖輸入法、HDL輸入法。3.EDA平臺工作流程:電路輸入、綜合優(yōu)化、功能仿真、布局布線、門級仿真。
數(shù)字電路部分
1.EDA中常用的仿真語言為Verilog和VHDL。
2.VHDL其英文全名為VHSIC Hardware Description Language,而VHSIC則是Very High Speed Intergeraterd Circuit的縮寫詞,意為甚高速集成電路,故VHDL其準確的中文譯名為甚高速集成電路的硬件描述語言。
3.Verilog HDL其英文全名為Verilog Hardware Decription Language,HDL中文譯名為硬件描述語言。
4.Verilog和VHDL的比較
共同點:能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計中層次與范圍的描述;可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述;具有電路仿真與驗證機制以保證設(shè)計的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實現(xiàn)工藝無關(guān);便于文檔管理;易于理解和設(shè)計重用。
不同點:Verilog在系統(tǒng)級抽象方面略差,VHDL在門級開關(guān)電路方面略差。
5.軟核、固核和硬核
軟核:功能經(jīng)過驗證的、可綜合的、實現(xiàn)后電路結(jié)構(gòu)總門數(shù)在5000門以上的Verilog模型。
固核:在某一種現(xiàn)場可編程門列器件上實現(xiàn)的經(jīng)驗證是正確的,且總門數(shù)在5000門以上的電路結(jié)構(gòu)編碼文件。
在某一種專用集成電路工藝的器件上實現(xiàn)的,經(jīng)驗證是正確的,且總門數(shù)在5000門以上的電路結(jié)構(gòu)版圖掩膜。6.自頂向下(Top Down)設(shè)計
7.自底向上(Down Top)設(shè)計
8.名詞解釋:
ASIC:Application Specific Integrated Circuit,專用集成電路。
FPGA:Field Programmable Gate Array,現(xiàn)場可編程門陣列。PLD:Programmable Logic Device,可編程邏輯器件。
Verilog編程題: 數(shù)據(jù)比較器(2位)//數(shù)據(jù)比較器
module compare(equal, a, b);input a,b;output equal;reg equal;always @(a or b)if(a == b)equal = 1;else equal = 0;endmodule
//數(shù)據(jù)比較器測試代碼 `timescale 1ns/1ns `include “./1-1.v” module t;reg a,b;wire equal;initial begin a=0;b=0;#100 a=0;b=1;#100 a=1;b=1;#100 a=1;b=0;#100 a=0;b=0;#100 $stop;end
compare m(.equal(equal),.a(a),.b(b));endmodule
數(shù)據(jù)比較器(8位)
module compare8(equal, a, b);input [7:0]a, b;output equal;reg equal;always @(a or b)if(a > b)begin equal = 1;end else begin equal = 0;end endmodule 分頻器
module half_clk(reset, clk_in, clk_out);input clk_in, reset;output clk_out;reg clk_out;
always @(posedge clk_in)begin if(!reset)clk_out = 0;else clk_out = ~clk_out;end endmodule
10M時鐘分頻為500K module fdivision(RESET, MB, KB);input MB, RESET;output KB;reg KB;reg [7:0] j;
always @(posedge MB)if(!RESET)begin KB <= 0;j <= 0;end else begin if(j == 19)begin j <= 0;KB <= ~KB;end else j <= j+1;end endmodule
譯碼電路
`define plus 3'd0 `define minus 3'd1 `define band 3'd2 `define bor 3'd3 `define unegate 3'd4
module alu(out, opcode, a, b);output[7:0] out;reg[7:0] out;input[2:0] opcode;input[7:0] a,b;
always @(opcode or a or b)begin case(opcode)`plus: out = a + b;`minus: out = a-b;`band: out = a & b;`bor: out = a | b;`unegate: out = ~a;default: out = 8'hx;endcase end endmodule
八路數(shù)據(jù)選擇器
module selecting8(addr, in1, in2, in3, in4, in5, in6, in7, in8, dataout, reset);input [2:0] addr;input [3:0] in1,in2,in3,in4,in5,in6,in7,in8;input reset;output [3:0] dataout;reg [3:0] dataout;
always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or reset)begin if(!reset)case(addr)3'b000: dataout = in1;3'b001: dataout = in2;3'b010: dataout = in3;3'b011: dataout = in4;3'b100: dataout = in5;3'b101: dataout = in6;3'b110: dataout = in7;3'b111: dataout = in8;endcase else dataout = 0;end endmodule
邏輯運算電路
module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;
always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end
function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule
module tryfunct(clk, n, result, reset);output[31:0] result;input[3:0] n;input reset, clk;reg[31:0] result;
always @(posedge clk)begin if(!reset)result <=0;else begin result <= n*factorial(n)/((n*2)+1);end end
function [31:0] factorial;input [3:0] operand;reg [3:0] index;begin factorial = operand ? 1:0;for(index = 2;index <= operand;index = index + 1)factorial = index *factorial;end endfunction endmodule
高速排序組合邏輯
module sort4(ra, rb, rc, rd, a, b, c, d);output[3:0] ra, rb, rc, rd;input[3:0] a, b, c, d;reg[3:0] ra, rb, rc, rd;reg[3:0] va, vb, vc, vd;
always @(a or b or c or d)begin {va, vb, vc, vd} = {a, b, c, d};sort2(va, vc);sort2(vb, vd);sort2(va, vb);sort2(vc, vd);sort2(vb, vc);{ra, rb, rc, rd} = {va, vb, vc, vd};end
task sort2;input[3:0]x, y;reg[3:0] tmp;if(x > y)begin tmp = x;x = y;y = tmp;end endtask endmodule
檢測5位二進制序列10010 module seqdet(x, z, clk, rst, state);input x, clk, rst;output z;output[2:0] state;reg[2:0] state;wire z;
parameter IDLE = 'd0, A = 'd1, B = 'd2, C = 'd3, D = 'd4, E = 'd5, F = 'd6, G = 'd7;
assign z =(state == E && x == 0)? 1:0;
always @(posedge clk)if(!rst)begin state <= IDLE;end else case(state)IDLE: if(x == 1)begin state <= A;end A: if(x == 0)begin state <= B;end B: if(x == 0)begin state <= C;end else begin state <= F;end C: if(x == 1)begin state <= D;end else begin state <= G;end D: if(x == 0)begin state <= E;end else begin state <= A;end E: if(x == 0)begin state <= C;end else begin state = A;end F: if(x == 1)begin state <= A;end else begin state <= B;end G: if(x == 1)begin state <= F;end default: state = IDLE;endcase endmodule
模擬電路部分
1.目前,集成電路最常用的材料是單晶硅。
2.集成電路的生產(chǎn)由設(shè)計、制造、封裝三部分組成。
3.集成電路中基片主要制作工藝為:光刻、擴散、注入、刻蝕、鍵合。
4.集成電路中基片的制造步驟為:光刻、擴散、注入、刻蝕。
5.衡量集成電路產(chǎn)業(yè)水平的兩個主要參數(shù)為:硅晶圓片直徑和光刻精度(特征尺寸)。這兩個參數(shù)在業(yè)界達到的水平為:硅晶圓片直徑12英寸(300mm),光刻精度0.13um。主流水平為:硅晶圓片直徑200mm,光刻精度0.18um。
6.模擬電路中常用的仿真算法是SPICE,英文全名為Simulation Program with Integrated Circuit Emphasis。
7.世界上設(shè)計EDA軟件實力最強的兩個公司為Cadence和Synopsys。其中,Cadence的優(yōu)勢為電路布局布線,Synopsys的優(yōu)勢為邏輯綜合仿真。
8.WorkBench是加拿大IIT公司退出的電子線路仿真軟件。它可以對模擬、數(shù)字和模擬/數(shù)字混合電路進行仿真,克服了傳統(tǒng)電子產(chǎn)品的設(shè)計受實驗室客觀條件限制的局限性,用虛擬的元件搭接各種電路,用虛擬的儀表進行各種參數(shù)和性能指標(biāo)的測試。特點如下:(1)系統(tǒng)集成度高,界面直觀,操作方便。(2)具備模擬、數(shù)字及模擬/數(shù)字混合電路仿真。(3)提供較為豐富的元器件庫。(4)電路分析手段完備。(5)輸出方式靈活。(6)兼容性好。9.SPICE語言舉例: EXAMPLE
VCC 8 0 12
**** 文件名 任意名都可以 但必須要有****
**** 電源正極接于節(jié)點8 負極接于0 電壓為12V **** VEE 0 9 12
**** 電源正極接于節(jié)點0,負接接于節(jié)點9,電壓為12V;**** VIN 1 0 AC 1 SIN(0 0.1 5MEG)
**** 信號源VIN 接于1 和接點0;交流1V 進行交流分析 同時加一個正弦信號 直流偏置為0,振幅為0.1V頻率為5M的交流信號源,進行瞬態(tài)分析;**** RC1 8 4 10K
RC2 8 5 10K
RS 2 1 1K
RS1 8 7 20K
RS2 3 0 1K
**** 電阻RC1 分別接于節(jié)點8 節(jié)點4;阻值為10K;**** **** 電阻RC2 分別接于節(jié)點8 節(jié)點5;阻值為10K;**** **** 電阻RS 分別接于節(jié)點1 節(jié)點0;阻值為1K;**** **** 電阻RS1 分別接于節(jié)點8 節(jié)點7 阻值為20K;**** **** 電阻RS2 分別接于節(jié)點3 節(jié)點0 阻值為1K;**** Q1 4 2 6 MOD1
**** 三極管Q1 CBE 分別接于節(jié)點 4 2 6 模型為MOD1**** Q2 5 3 6 MOD1
**** 三極管Q2 CBE 分別接于節(jié)點 5 3 6 模型為MOD1**** Q3 6 7 9 MOD1
**** 三極管Q3 CBE 分別接于節(jié)點 6 7 9 模型為MOD1**** Q4 7 7 9 MOD1
**** 三極管Q4 CBE 分別接于節(jié)點 7 7 9 模型為MOD1****.OP
**** 求出直流工作點.本電路共有9個節(jié)點;溫度值為27度;****.DC VIN-.15.15.01
**** DC為直流分析語句,分析輸入電壓從-0.15V到0.15V掃描特性,每0.1V作一次分析;****.PRINT DC V(4)V(5)
****.PRINT 為打印語句,其中DC是打印直流內(nèi)容,這里規(guī)定打印節(jié)點4和5上的電位,既相對地參考點的電壓隨輸入的變化關(guān)系;****.PLOT DC V(4)V(5)
****.PLOT為繪圖語句,其中DC表示繪制直流分析的傳輸特性,說明是繪制V(4)V(5)的輸出電壓和VIN關(guān)系曲線;****.TF V(5)VIN
****.TF是轉(zhuǎn)移函數(shù)分析語句,該句表示計算直流分析時,小信號輸出電壓V(5)和輸入電壓VIN的轉(zhuǎn)移函數(shù)值,輸入電阻和輸出電阻;****.AC DEC 10 25K 250MEG
****.AC是交流分析語句,是在規(guī)定的頻率范圍內(nèi)從25K到250M進行頻域分析DEC表示按數(shù)量級變化,10表示每一數(shù)量級中取的分析點數(shù)目;****.PRINT AC VM(5)VP(5)
**** 打印AC分析VM(5)VP(5)的取點數(shù);****.PLOT AC VM(5)VP(5)
**** 繪制AC分析VM(5)VP(5)的取點數(shù);****.TRAN 4N 100N 1N
****.TRAN是瞬態(tài)分析語句,并規(guī)定了打印或繪圖時間增量為4N秒,計算終止時間為100N秒,打印或繪圖開始時間1NS*;****.PRINT TRAN V(5)V(4)
****.打印出4.5點的電壓隨時間變化;****.PLOT TRAN V(5)V(4)
****.繪圖出節(jié)點4.5的電壓隨時間變化;****.END
**** 結(jié)束語句...一定要有;****