EDA必考程序

合集下载

EDA常用程序

EDA常用程序

08 上EDA 复习纲要考试题分两个大题,编程题和设计题,如下面例子所示,叙述的部分需要写到试卷上,还有需要画出框图,所以需要带上铅笔和直尺!编程题一、用CASE/WHEN_ELSE/WITH_SELECT 语句设计一个一位四选一数据选择器,实体名为MUX4,要求画出设计的框图(手工),并简单叙述各端口的作用(手工);写出VDHL程序并生成符号文件(计算机)。

例:用CASE语句设计的四选一数据选择器,(其他语句也要掌握):其中DIN[3..0]为数据输入端口,SEL[1..0]为数据选择端口,由SEL 的二进制数据来决定那一个数据被选通,YOUT 为数据输出端口。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;--************************************ENTITY MUX4 ISPORT(DIN :IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEL :IN STD_LOGIC_VECTOR(1 DOWNTO 0);YOUT:OUT STD_LOGIC);END MUX4;ARCHITECTURE CASE_M4ARCH OF MUX4 ISBEGINPROCESS(DIN,SEL)BEGINCASE SEL ISWHEN"00"=>YOUT<=DIN(0);WHEN"01"=>YOUT<=DIN(1);WHEN"10"=>YOUT<=DIN(2);WHEN"11"=>YOUT<=DIN(3);WHEN OTHERS=>NULL;END CASE;END PROCESS;END CASE_M4ARCH;二、用FOR_GENERATE语句调用D触发器(设D触发器已经存在,名字为DFF1,端口:d,clk:in std_logic;q:out std_logic)设计一个四位串入并出移位寄存器,实体名为SREG4,要求画出设计的框图(手工),并简单叙述各端口的作用(手工);写出程序并生成符号文件(计算机)。

EDA程序题总结

EDA程序题总结

组合逻辑电路:38译码和83编码38译码:library ieee;use ieee.std_logic_1164.all;entity DECODER isPORT(A,B,C: IN STD_LOGIC;Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));end DECODER;architecture A of DECODER isSIGNAL INDA TA :STD_LOGIC_VECTOR(2 DOWNTO 0);BEGININDA TA<=C&B&A;PROCESS(INDA TA)BEGINCASE INDA TA ISWHEN "000"=>Y<="00000001";WHEN "001"=>Y<="00000010";WHEN "010"=>Y<="00000100";WHEN "011"=>Y<="00001000";WHEN "100"=>Y<="00010000";WHEN "101"=>Y<="00100000";WHEN "110"=>Y<="01000000";WHEN "111"=>Y<="10000000";WHEN OTHERS=>Y<="00000000";END CASE;END PROCESS;end A;83编码ENTITY Endec8_3 ISPORT (A : IN STD_LOGIC_VECTOR(7 DOWNTO 0) ;EN : IN STD_LOGIC ;Y : OUT STD_LOGIC_VECTOR( 2 DOWNTO 0)) ;END Endec8_3 ;ARCHITECTURE BEHA VE OF Endec8_3 ISSIGNAL SEL : STD_LOGIC_VECTOR( 8 DOWNTO 0) ;BEGINSEL <= EN & A ;WITH SEL SELECTY<= "000" WHEN "100000001" ,"001" WHEN "100000010" ,"010" WHEN "100000100" ,"011" WHEN "100001000" ,"100" WHEN "100010000" ,"101" WHEN "100100000" ,"110" WHEN "101000000" ,"111" WHEN "110000000" ,"000" WHEN OTHERS ;END BEHA VE ;用IF-ELSE-IF-END IF语句实现38译码功能library ieee;use ieee.std_logic_1164.all;entity VHDL3 isport (a,b,c:in bit;y:out integer range 7 downto 0);end;architecture bhv of VHDL3 isbeginprocess(a,b,c)beginif a='0'and b='0'and c='0' then y<='0';else if a='0'and b='0'and c='1' then y<='1';else if a='0'and b='1'and c='0' then y<='2';else if a='0'and b='1'and c='1' then y<='3';else if a='1'and b='0'and c='0' then y<='4';else if a='1'and b='0'and c='1' then y<='5';else if a='1'and b='1'and c='0' then y<='6';else if a='1'and b='1'and c='1' then y<='7';end if;end process; end bhv;时序逻辑电路:同步计数器与异步计数器同步计数器:LIBRARY IEEE;--带时钟使能的同步4位二进制减法计数器;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY count ISPORT(clk,clr,en : IN STD_LOGIC;qa,qb,qc,qd : OUT STD_LOGIC);END count;ARCHITECTURE behav OF count ISSIGNAL count_4 : STD_LOGIC_vector(3 DOWNTO 0);BEGINQa<=count_4(0);Qb<=count_4(1);Qc<=count_4(2);Qd<=count_4(3);PROCESS (clk,clr)BEGINIF(clk'EVENT AND clk ='1') THENIF(clr='1') THENCount_4<="0000";ELSIF(en='1') THENIF(count_4="0000") THENcount_4<="1111";ELSEcount_4<=count_4-'1';END IF;END IF;END IF;END PROCESS;END behav;异步计数器LIBRARY IEEE; --带时钟使能的异步4位二进制加法计数器use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY countA ISPORT(clk,clr,en : IN STD_LOGIC;qa,qb,qc,qd : OUT STD_LOGIC);END countA;ARCHITECTURE example OF countA ISSIGNAL count_4 : STD_LOGIC_vector(3 DOWNTO 0); BEGINQa<=count_4(0);Qb<=count_4(1);Qc<=count_4(2);Qd<=count_4(3);PROCESS (clk,clr)BEGINIF(clr='1') THENCount_4<="0000";ELSIF(clk'EVENT AND clk = '1' ) THENIF(en='1') THENIF(count_4="1111") THENcount_4<="0000";ELSEcount_4<=count_4+'1';END IF;END IF;END IF;END PROCESS;END example;:有限状态机:ppt上的两个图,moore和mealy机Moore状态机 Mealy状态机Mealy状态机程序设计举例:ENTITY Ch6_5_2 isPORT(CP : IN STD_LOGIC;DIN : IN STD_LOGIC;OP : OUT STD_LOGIC);END Ch6_5_2;ARCHITECTURE a OF Ch6_5_2 ISTYPE STA TE IS (S0,S1,S2,S3);SIGNAL PresentState : STA TE;SIGNAL NextState : STA TE;BEGINSwitchToNextState : Process (CP)BEGINIF CP‘evnet AND CP='1' ThenPresentState <= NextState;END IF;END PROCESS SwitchToNextState; ChangeStateMode : PROCESS (DIN,PresentState) BEGINCASE PresentState ISWHEN S0 =>IF DIN = '0' THENNextState <= S0; OP <= '0';ELSENextState <= S1; OP <= '1';END IF;WHEN S1 =>IF DIN = '1' THENNextState <= S1; OP <= '1';ELSENextState <= S2; OP <= '0';END IF;WHEN S2 =>IF DIN = '1' THENNextState <= S2; OP <= '0';ELSENextState <= S3; OP <= '1';END IF;WHEN S3 =>IF DIN = '1' THENNextState <= S0; OP <= '1';ELSENextState <= S1; OP <= '0';END IF;WHEN OTHERS =>NextState <= S0; OP <= '0'; END CASE;END PROCESS ChangeStateMode;END a;单进程Moore状态机程序设计举例:Library ieee;Use ieee.std_logic_1164.all;Entity moore1 isPort(datain: in std_logic_vector(1 downto 0);Clk,rst : in std_logic;Q: out std_logic_vector(3 downto 0)); End moore1;Architecture behave of moore1 isType st_type is (st0,st1, st2, st3, st4);Signal c_st :st_type;BeginProcess(clk,rst)BeginIf rst =‘1’ c_st <= st0; Q<=”0000”;Elsif clk’event and clk=’1’ thenCase c_st isWhen 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 =”11” 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 behave;看下面原理图,写出相应VHDL描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TRI_STATE ISPORT ( E, A : IN STD_LOGIC;Y : INOUT STD_LOGIC;B : OUT STD_LOGIC); END TRI_STA TE;ARCHITECTURE BEHA V OF TRI_STA TE IS BEGINPROCESS (E, A, Y)BEGINIF E = '0' THENB <= Y; Y <= 'Z';ELSEB <= 'Z'; Y <= A;END IF;END PROCESS;END BEHA V;设计一个5人多数表决器:library ieee;use ieee.std_logic_1164.all;entity VHDL2 isport (a,b,c,d,e:in integer;y:out integer);end;architecture bhv of VHDL2 issignal q1:integer range 5 downto 0;beginprocess(a,b,c,d,e,q1)beginq1<=a+b+c+d+e;if q1>='3' then y<='1';else y<='0';end if; end process; end bhv;一位全加器library ieee;use ieee.std_logic_1164.all;entity VHDL4 isport (ain,bin,cin:in integer;cout,sum:out integer);end;architecture bhv of VHDL4 issignal q1:integer range 3 downto 0 ;beginprocess(ain,bin,cin)beginq1<=ain+bin+cin;if q1='3'then sum<='1' and cout='1';elseif q1='2'then sum<='0' and cout='1';elseif q1='1'then sum<='1' and cout='0';elseif q1='0'then sum<='0' and cout='0';end if;end process;end bhv;1、二输入与门的VHDL语言设计。

eda考试程序

eda考试程序

全加器设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY add1_v ISPORT(A : IN STD_LOGIC;B : IN STD_LOGIC;Cin : IN STD_LOGIC;Co : OUT STD_LOGIC;S : OUT STD_LOGIC); END add1_v;and2_vARCHITECTURE structure OF add1_v ISCOMPONENT PORT(a : IN STD_LOGIC;b : IN STD_LOGIC;y : OUT STD_LOGIC);END COMPONENT; COMPONENT or2_vPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;y : OUT STD_LOGIC);END COMPONENT; COMPONENT xor2_vPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;y : OUT STD_LOGIC);END COMPONENT; SIGNAL tmp1,tmp2,tmp3 : STD_LOGIC;FOR U1,U2 : xor2_v USE ENTITY work.xor2_v( xor2_arc);FOR U3,U4 : and2_v USE ENTITY work.and2_v( and2_arc);FOR U5 : or2_v USE ENTITY work.or2_v( or2_arc);BEGINU1 : xor2_v PORTMAP(A,B,tmp1);U2 : xor2_v PORTMAP(tmp1,Cin,S);U3 : and2_v PORTMAP(tmp1,Cin,tmp2);U4 : and2_v PORTMAP(A,B,tmp3);U5 : or2_v PORTMAP(tmp2,tmp3,Co);END structure;全加器行为描述方式:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY add1_v ISPORT(A : IN STD_LOGIC;B : IN STD_LOGIC;Cin : IN STD_LOGIC;Co : OUT STD_LOGIC;S : OUT STD_LOGIC);END add1_v;ARCHITECTURE structure OF add1_vISBEGINS <= A XOR B XOR Cin;Co <= (A XOR B) AND Cin OR(A AND B);END structure;行为描述全加器:ARCHITECTURE behav OF full_adderISBEGINPROCESS (x, y, c_in)V ARIABLE n: INTEGER;CONSTANT sum_vector:STD_LOGIC_VECTOR (0 TO 3) :=“0101”;CONSTANT carry_vector:STD_LOGIC_VECTOR (0 TO 3) :=“0011”;BEGINn := 0;IF x = ‟1‟ THENn := n+1;END IF;IF y = ‟1‟ THENn:=n+1;END IF;IF c_in = ‟1‟ THENn:=n+1;END IF;sum <= sum_vector (n) AFTER2*tpd;c_out <= carry_vector (n)AFTER 3*tpd;END PROCESS;数据流描述:LIBRARY IEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITY full_adder ISGENERIC(tpd : TIME := 10ns);PORT(x,y,c_in : INSTD_LOGIC;Sum, c_out : OUTSTD_LOGIC);END full_adder;ARCHITECTURE dataflow OFfull_adder ISBEGINs <= x XOR y AFTER tpd;sum <= s XOR c_in AFTERtpd;c_out <= (x AND y) OR( s ANDc_in) AFTER 2* tpd;END dataflow;半加器设计:ARCHITECTURE behavioral OFhalf_adder ISBEGINPROSESS (in1, in2)BEGINsum <= in1 XOR in2 AFTERtpd;carry <= in1 AND in2 AFTERtpd;END PROCESS;END behavioral;警告系统:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY alarm ISPORT(smoke,door,water:INstd_logic;en,alarm_en :IN std_logic;fire_alarm,burg_alarm,water_alarm:OU T std_logic);END alarm;ARCHITECTURE alarm_arc OF alarm ISBEGINPROCESS(smoke,door,water,en,alarm_e n)BEGINIF ((smoke= …1‟) AND (en= …0‟)) THENfire_alarm <= …1‟;ELSEfire_alarm <= …0‟;END IF;IF ((door= …1‟) AND ((en= …0‟) AND (alarm_en= …0‟))) THENburg_alarm <= …1‟;ELSEburg_alarm <= …0‟;END IF;IF ((water= …1‟) AND (en= …0‟)) THENwater_alarm <= …1‟;ELSEwater_alarm <= …0‟;END IF;END PROCESS;END alarm_arc四选一数据选择器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(d0 :INSTD_LOGIC_VECTOR (7 DOWNTO1);d1 :INSTD_LOGIC_VECTOR (7 DOWNTO1);d2 :INSTD_LOGIC_VECTOR (7 DOWNTO1);d3 :INSTD_LOGIC_VECTOR (7 DOWNTO1);s0 :INSTD_LOGIC;s1 :INSTD_LOGIC;y :OUTSTD_LOGIC_VECTOR (7 DOWNTO1) );END mux4 ;:ARCHITECTURE behave OFmux4 ISBEGINlable:PROCESS(d0,d1,d2,d3,s0,s1)V ARIABLE tmp:INTEGER;BEGINtmp := 0;IF(s0=…1‟)THENtmp := tmp+1;END IF;IF(s1=…1‟)THENtmp := tmp+2;END IF;CASE tmp ISWHEN 0 => y <=d0;WHEN 1 => y <=d1;WHEN 2 => y <=d2;WHEN 3 => y <=d3;WHEN OTHERS=> NULL;END CASE;END PROCESS;END behave;3数最大值比较器:;LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY max ISPORT(in1:IN STD_LOGIC_VECTOR (7 DOWNTO 0);in2:IN STD_LOGIC_VECTOR (7 DOWNTO 0);in3:INSTD_LOGIC_VECTOR (7 DOWNTO0);q:OUTSTD_LOGIC_VECTOR (7 DOWNTO0) );END max ;ARCHITECTURE rtl OF max ISPROCEDURE maximum(a,b:IN STD_LOGIC_VECTOR;c:OUT STD_LOGIC_VECTOR)ISV ARIABLE temp:STD_LOGIC_VECTOR(a‟RANGE);BEGINIF(a > b)THENtemp := a;ELSEtemp := b;END IF;c := temp;END maximum;BEGINPROCESS(in1,in2,tmp1)V ARIABLE tmp1,tmp2:STD_LOGIC_VECTOR (7 DOWNTO 0) ;BEGINmaximum(in1,in2,tmp1);maximum(tmp1,in3,tmp2);q <= tmp2;END PROCESS;END rtl;四位移位寄存器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY shift_reg ISPORT(di:IN STD_LOGIC;cp:IN STD_LOGIC;do:OUTSTD_LOGIC);END shift_reg;ARCHITECTURE structure OFshift_reg ISCOMPONENT dffPORT(d:INSTD_LOGIC;clk:INSTD_LOGIC;q:OUTSTD_LOGIC);END COMPONENT;SIGNAL q:STD_LOGIC_VECTOR(4 DOWNTO0);BEGINdff1:dff PORT MAP (d1,cp,q(1));dff2:dff PORT MAP (q(1),cp,q(2));dff3:dff PORT MAP (q(2),cp,q(3));dff4:dff PORT MAP (q(3),cp,do);END structure;用VHDL 语言设计同步60 进制计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;library altera;use altera.maxplus2.all;library lpm;use lpm.lpm_components.all;entity count60 isport(clk,clr,en:in std_logic;cy:out std_logic;qh,ql:out std_logic_vector(3 downto 0));end count60;architecture behavior of count60 is signal qh_tmp,ql_tmp:std_logic_vector(3 downto 0);beginqh<=qh_tmp;ql<=ql_tmp;cy<='1'when(ql_tmp="1001"andqh_tmp="0101")else '0';--²¢ÐÐÓï¾äÃèÊö½øÎ»process(clr,clk,en)beginif clr='0'thenqh_tmp<=(others=>'0');--µÈ¼ÛÓëqh_tmp<="0000";ql_tmp<=(others=>'0');elsif (clk'event and clk='1')thenif en='1'thenif (ql_tmp=9)thenql_tmp<="0000";if(qh_tmp=5)thenqh_tmp<="0000";elseqh_tmp<=qh_tmp+1;end if;elseql_tmp<=ql_tmp+1;end if;end if;--END IF (EN)end if;--END IF(clr)end process;end behavior;状态机:LIBRARY IEEE;USEIEEE.std_logic_1164.ALL;USEIEEE.std_logic_unsigned.ALL; --operator '-' IS overwrited IN the packageentity timer ISport ( data_in: INstd_logic_vector( 7 DOWNTO 0 );reset, CLK, start:IN std_logic;ring : OUTstd_logic);END timer;architecture behav OF timerISBEGINPROCESS( reset, clk )V ARIABLEcounter: std_logic_vector( 7DOWNTO 0 );V ARIABLE state: integer RANGE 0 TO 3;BEGINIF reset = '0' THENring <= '0';state := 0;ELSIF clk'event AND clk = '1' THENCASE state ISWHEN 0 =>ring <= '0';counter := "00000000";IF start = '1' THENstate := 1;ELSEstate := 0;END IF;WHEN 1 =>counter := data_in; IF start = '1' THEN state := 1; ELSEstate := 2; END IF;WHEN 2 =>IF counter < 3 THENcounter := "00001000"state := 3;ELSEcounter := counter - 1;state := 2;END IF;WHEN 3 =>ring <= '1';IF counter = 1 THENstate := 0;ELSECountter := counter - 1;state := 3;END IF;END CASE;END IF;END PROCESS;END behav;四--七library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--************************************entity yima47 isport(in47:in std_logic_vector(3 downto 0);seg:out std_logic_vector(6 downto 0));end yima47;--************************************************ architecture a of yima47 isbeginseg<="1000000"when in47=0 else"1111001"when in47=1 else"0100100"when in47=2 else"0110000"when in47=3 else"0011001"when in47=4 else"0010010"when in47=5 else"0000010"when in47=6 else"1111000"when in47=7 else"0000000"when in47=8 else"0010000";--=>seg<="0010000";end a;。

EDA考试必考知识点

EDA考试必考知识点

考试题型:简答题,程序语句解释,程序填空,编程EDA就是以计算机为工作平台,以EDA软件工具为开发环境,以PLD器件或者ASIC专用集成电路为目标器件设计实现电路系统的一种技术。

现代EDA技术的特征:1,、采用硬件描述语言进行设计2、逻辑综合与优化3、开放性和标准化4.、更完备的库。

数字系统设计技术:1、Topdown即自顶向下的设计。

这种设计首先从系统设计下手,在顶层进行功能方框图的划分和结构设计。

须经过“设计—验证—修改设计再验证”的过程,不断反复,直到结果能够实现所要求的功能,并在速度、功耗、价格和可靠性方面实现较为合理的平衡。

2、Bottomup设计,即自底向上的设计,由设计者调用设计库中的元件(如各种门电路、加法器、计数器等) ,设计组合出满足自己需要的系统。

不仅效率低、成本高而且易出错。

IP:原来的含义是指知识产权、著作权,在IC设计领域指实现某种功能的设计。

IP核(IP模块):指功能完整,性能指标可靠,已验证的、可重用的电路功能模块。

IP复用:软IP--用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。

固IP完成了综合的功能块。

硬IP供设计的最终阶段产品:掩膜。

基于IP复用的开发帮助设计者节省时间,缩短开发周期,避免重复劳动。

可编程逻辑阵列PLA,可编程与阵列或阵列,输出电路固定。

可编程阵列逻辑PAL,可编程与阵列,或阵列输出电路固定。

FPGA是一种半定制的器件,器件内已做好各种逻辑资源,用户只需对器件内的资源编程连接就可实现所需要的功能。

ASIC指用全定制的方法来实现设计的方式,它在最底层,即物理版图级实现设计,因此也称为掩膜ASCI。

CPLD即复杂可编程逻辑器件,是从EPLD改进而来的。

逻辑综合:RTL级描述转换到逻辑门级(包括触发器)。

版图综合或结构综合:从逻辑门表示转换到版图表示,或转换到PLD器件的配置网表表示。

综合器是能够自动实现上述转换的软件工具,是能将原理图或HDL语言描述的电路功能转化为具体电路结构网表的工具。

EDA基本概念 和简单编程(理工大三下EDA考试必备)

EDA基本概念 和简单编程(理工大三下EDA考试必备)

1、狭义的EDA技术:以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对特定目标芯片的配适编译、逻辑映射、编程下载等工作,最终形成电子系统或专用集成芯片的一门新技术。

2、EDA(电子设计自动化):Electronic Design Automation3、EDA技术的主要内容:(1)大规模可编程逻辑器件(2)硬件描述语言(3)软件开发工具(4)实验开发系统4、CPLD和FPGA的基本结构及如何实现?答:CPLD:含LAB,I/O,Fast track(快速互联通道)。

E^2PROM内部有固定长度的连线资源,延时时间确定,属于确定型结构,内部逻辑单元由与或阵列构成,实现组合逻辑功能电路。

其基本结构可以看成有逻辑阵列宏单元和I/O控制模块两部分构成。

FPGA:有不同长度的连线资源构成,系统延时不固定,属于统计型结构,内部逻辑单元有静态存储RAM构成的函数发生器,即查比表,通过查找表可实现逻辑函数功能。

内部结构为逻辑单元阵列(LCA)LCA由3类可编程单元组成:(1)周边输入/输出模块(IOB)(2)可配置逻辑块(CLB)(3)互联资源5、CPLD和FPGA二者区别?答:结构:确定——不确定。

工艺:F^2PROM——RAM。

应用范围:逻辑能力强适合密集型系统——逻辑能力弱,寄存器多,用于数据密集型。

集成度:500~50000——1k~100M.使用方法:本身EPROM——静态RAM与外配ROM防止掉电后数据丢失。

6、FLEX10k的主要组成?答:FLEX10k基建的结构类似于嵌入式门阵列(1)EAB—嵌入式阵列块(2)LAB—逻辑阵列块(3)快速通道的(行线、列线、级联线)(4)I/O单元(IDE)每个IOE包括一个双向I/O缓冲器和一个触发器。

EDA常用电路设计程序

EDA常用电路设计程序

用VHDL进行基本逻辑电路设计总结组合逻辑电路设计、时序逻辑电路设计、状态机设计、存储器设计(调用宏功能模块进行设计)1 组合逻辑电路设计常见组合逻辑电路设计主要有:基本门电路、3-8译码器、8-3线优先编码器、比较器、多路选择器、三态门电路、单向总线驱动器、双向总线缓冲器等。

1.1 基本门电路基本门电路用VHDL语言来描述十分方便。

为方便起见,在下面的两输入模块中,使用VHDL中定义的逻辑运算符,同时实现一个与门、或门、与非门、或非门、异或门及反相器的逻辑。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY GATE ISPORT (A,B:IN STD_LOGIC;YAND,YOR,YNAND,YNOR,YNOT,YXOR:OUT STD_LOGIC);END GATE;ARCHITECTURE ART OF GATE ISBEGINYAND <=A AND B;--与门输出YOR <=A OR B;--或门输出YNAND <=A NAND B;--与非门输出YNOR <=A NOR B;--或非门输出YNOT <=A NOT B;--反相器输出YXOR <=A XOR B;--异或门输出END ART;1.2 3-8译码器下面我们分别以2种方法描述一个3-8译码器。

方法1:使用CASE_WHEN 语句LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECODER ISPORT(SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0);EN: IN STD_LOGIC; ---加使能控制端Y:OUT STD_LOGIC _VECTOR (7 DOWNTO 0));END;ARCHITECTURE ART1 OF DECODER ISBEGINPROCESS(SEL,EN)BEGINY<=”11111111”;IF(EN=’1’) THENCASE SEL ISWHEN "000"=> Y(0)<= ‘0’;--输出低有效WHEN "001"=> Y(1)<= ‘0’;WHEN "010"=> Y(2)<= ‘0’;WHEN "011"=> Y(3)<= ‘0’;WHEN "100"=> Y(4)<= ‘0’;WHEN "101"=> Y(5)<= ‘0’;WHEN "110"=> Y(6)<= ‘0’;WHEN "111"=> Y(7)<= ‘0’;WHEN OTHERS=>NULL;END CASE;ELSE Y<=”11111111”;END IF;END PROCESS;END ART1;方法2:使用条件选择WHEN ELSE语句ARCHITECTURE ART2 OF DECODER ISBEGINY (0)<=‘0’ WHEN (EN=’1’AND SEL="000") ELSE ’1’;Y (1)<=‘0’ WHEN (EN=’1’AND SEL="001") ELSE ’1’;Y (2)<=‘0’ WHEN (EN=’1’AND SEL="010") ELSE ’1’;Y (3)<=‘0’ WHEN (EN=’1’AND SEL="011") ELSE ’1’;Y (4)<=‘0’ WHEN (EN=’1’AND SEL="100") ELSE ’1’;Y (5)<=‘0’ WHEN (EN=’1’AND SEL="101") ELSE ’1’;Y (6)<=‘0’ WHEN (EN=’1’AND SEL="110") ELSE ’1’;Y (7)<=’0’ WHEN (EN=’1’AND SEL="111") ELSE ’1’;END ART2;注意:使用了8条 WHEN ELSE 语句1.3 8-3线优先编码器8-3线优先编码器输入信号为y0、y1、y2、y3、y4、y5、y6和y7,输出信号为OUT0、OUT1和OUT2。

EDA技术复习资料(完全版)

EDA技术复习资料一、填空1、EDA设计流程包括设计准备、设计输入、设计处理、和器件编程序四个步骤。

2、EDA的设计验证包括功能仿真、时序仿真和器件测试三个过程。

3、EDA的设计输入主要包括文本输入方式、图形输入方式、和波形输入方式。

4、文本输入是指采用硬件描述语言进行电路设计的方式。

5、功能仿真实在设计输入完成以后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。

6、时序仿真实在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又被称为后仿真或延时仿真。

7、当前最流行的并成为IEEE标准的硬件描述语言包括VHDL、和VERILOG HDL。

8、EDA工具大致分为设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)、以及下载器等五个模块。

9、IEEE于1987年将VHDL采纳为IEEE#1076标准。

10、用VHDL语言书写的源文件。

即是程序又是文档,即是工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。

11、用VHDL设计的电路,既可以被高层次的系统调用,成为系统的一部分,也可以作为一个电路的功能快独立存在和独立运行。

12、VDHL设计实体的基本结构由库、程序包、实体、结构体和配臵等部分构成。

13、实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。

14、根据VHDL语法规则,在程序中使用的文字、数据对象、数据类型都需要预先定义。

15、VHDL的实体由实体声明部分和结构体组成。

16、VHDL的实体声明部分制订了设计单元的输入输出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。

17、VDHL的结构体用来描述设计实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。

18、在VHDL的端口声明语句中,端口方向包括IN、OUT、INOUT和BUFFER。

19、VHDL的数据型文字包括整数文字、实数文字、以数制基数表示的文字和物理量文字。

EDA(电子设计自动化)复习参考程序

十进制计数LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count10 ISPORT (clk,clr : IN STD_LOGIC;q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END ENTITY count10;ARCHITECTURE behav OF count10 ISSIGNAL temp :STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINq <= temp;PROCESS(clk,clr)BEGINIF(clr='0') THEN temp<="0000";ELSIF(clk'EVENT AND clk='1') THENIF temp="1001" THENtemp<="0000";ELSEtemp<=temp+1;END IF;END IF;END PROCESS;END ARCHITECTURE behav;译码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY yima ISPORT (shuru :IN STD_LOGIC_VECTOR(3 DOWNTO 0);shuchu :OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END yima;ARCHITECTURE behav OF yima isBEGINPROCESS(shuru) BEGINCASE shuru ISWHEN "0000"=> shuchu<="0111111";--0WHEN "0001"=> shuchu<="0000110";--1WHEN "0010"=> shuchu<="1011011";--2WHEN "0011"=> shuchu<="1001111";--3WHEN "0100"=> shuchu<="1100110";--4WHEN "0101"=> shuchu<="1101101";--5WHEN "0110"=> shuchu<="1111101";--6WHEN "0111"=> shuchu<="0000111";--7WHEN "1000"=> shuchu<="1111111";--8WHEN "1001"=> shuchu<="1100111";--9WHEN OTHERS =>shuchu<="0000000";END CASE;END PROCESS;END ARCHITECTURE behav;综合,主要是元件例化的应用LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;use ieee.std_logic_unsigned.all;ENTITY count10_top ISPORT(clk,clr:IN STD_LOGIC;qq: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END count10_top;ARCHITECTURE behav OF count10_top ISSIGNAL aa:STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT count10PORT (clk,clr : IN STD_LOGIC;q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END COMPONENT count10;COMPONENT yimaPORT (shuru :IN STD_LOGIC_VECTOR(3 DOWNTO 0);shuchu :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT yima;BEGINU1: count10 PORT MAP(clk,clr,aa);U2: yima PORT MAP(aa,qq);END ARCHITECTURE behav;三位十进制计数器异步清零library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;--yong dao jia jian cheng chu ,cu da kai ci ku entity cnt1000 isport(clk,clr,en: in std_logic;count :out integer range 0 to 999;co : out std_logic );end cnt1000;architecture a of cnt1000 issignal s:integer range 0 to 999;beginprocess(clk,clr,en)beginif clr='1' then s<=0;elsif clk'event and clk='1' thenif en='1' thenif s<999 then s<=s+1;else s<=0;end if;else s<=s;end if;if s=999 then co<='1';else co<='0';end if;end if;end process;count<=s;end a;CASE语句的使用library ieee;use ieee.std_logic_1164.all;entity xuan isport(s0,s1 : in std_logic;a,b,c,d : in std_logic;y:out std_logic);end xuan;architecture ab of xuan issignal s: std_logic_vector(1 downto 0); begins<=s1&s0;process(s)begincase s iswhen "00"=> y<=a;when "01"=> y<=b;when "10"=> y<=c;when "11"=> y<=d;when others=>null;end case;end process;end ab;IF_THEN语句的使用library ieee;use ieee.std_logic_1164.all;entity ze isport(s0,s1 : in std_logic;a,b,c,d : in std_logic;y:out std_logic);end ze;architecture ab of ze issignal s: std_logic_vector(1 downto 0); begins<=s1&s0;process(s)beginif s<="00" then y<=a;elsif s<="01" then y<=b;elsif s<="10" then y<=c;else y<=d;end if;end process;end ab;WHEN_ELSE语句的使用library ieee;use ieee.std_logic_1164.all;entity xuan isport(s0,s1 : in std_logic;a,b,c,d : in std_logic;y:out std_logic);end xuan;architecture ab of xuan issignal s: std_logic_vector(1 downto 0); begins<=s1&s0;y<=a when s<="00" elseb when s<="01" elsec when s<="10" elsed ;end ab;。

EDA使用的12个流程

EDA使用的12个流程
1. 数据收集
•确定数据来源和收集方式
•对数据进行初步的探索性分析
2. 数据清洗
•处理缺失值、异常值等数据质量问题
•进行数据变换和规范化
3. 数据可视化
•使用图表和可视化工具将数据表现出来
•探索数据的分布和关联性
4. 描述统计分析
•统计数据的基本概述,包括均值、中位数、标准差等•分析变量的分布和特征
5. 探索性数据分析(EDA)
•通过可视化和统计分析来寻找数据中的规律和结构
•发现数据之间的关系和相互影响
6. 双变量分析
•分析两个变量之间的相关性和相互作用
•使用散点图、线性回归等方法进行分析
7. 多变量分析
•分析多个变量之间的关系
•使用热力图、多元回归等方法进行分析
8. 因果分析
•研究变量之间的因果关系
•使用因果图、实验设计等方法进行分析
9. 预测建模
•基于数据特征和模型算法,进行预测和建模
•使用回归、分类、聚类等方法进行分析
10. 模型评估
•对预测模型进行评估,包括准确率、召回率等指标
•使用交叉验证、ROC曲线等方法进行评估
11. 结果解释
•解释模型的结果和预测的意义
•提出结论和建议
12. 报告撰写
•将整个分析过程整理成报告
•包括数据分析的方法、结果和结论
以上是EDA使用的12个流程,通过这些流程可以帮助我们更好地理解和分析数据,发现其中的规律和关联性,并提供数据驱动的决策依据。

采用Markdown 格式进行编写可以使得文档结构清晰,便于阅读和理解。

EDA的使用流程12步骤 (2)

EDA的使用流程12步骤1. 导言在数据分析中,探索性数据分析(Exploratory Data Analysis,简称EDA)是一个非常重要的阶段。

通过EDA,我们可以对数据集进行深入的探索,发现数据中的模式、规律和异常情况,为后续的建模和分析提供基础。

下面将介绍EDA的使用流程,包括以下12个步骤。

2. 定义问题开始进行EDA之前,首先需要明确要解决的问题。

这可以是一个具体的业务问题,例如预测房价;或者是一个探索性的问题,例如了解用户行为。

明确问题有助于我们关注关键的数据特征,并选择合适的分析方法。

3. 获取数据接下来,我们需要获取数据。

数据可以来自各种来源,例如数据库、CSV文件、API等。

确保数据的准确性和完整性,以便后续的分析。

4. 理解数据在开始分析数据之前,我们需要先理解数据的特征。

这包括数据的维度、数据类型、数据的含义等等。

通过理解数据,我们可以更好地选择适当的分析方法和技术。

5. 清洗数据在进行数据分析之前,我们需要对数据进行清洗。

这包括处理缺失值、处理异常值、处理重复数据等等。

数据清洗的目的是确保数据的质量和可靠性。

6. 探索性数据分析在进行EDA之前,我们需要先进行探索性数据分析。

这是一个初步的数据分析过程,通过可视化和描述统计方法,我们可以发现数据中的模式、趋势和关联关系。

这有助于我们深入理解数据,并提出假设和问题。

•绘制各种可视化图表,例如直方图、散点图、箱线图等等。

•计算数据的统计指标,例如均值、中位数、标准差等等。

7. 特征工程在进行建模之前,我们需要对数据进行特征工程。

特征工程是一个重要的环节,通过对原始特征进行变换、组合和衍生,可以提取更有意义和有效的特征,提升模型的性能。

•特征选择:选择对目标变量有重要影响的特征。

•特征变换:通过对特征进行数学变换来改变其分布或特性。

•特征生成:通过对特征进行组合和衍生来创建新的特征。

8. 数据预处理在进行建模之前,我们还需要对数据进行预处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

配置:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21b ISPORT( a,b:IN STD_LOGIC;s:IN STD_LOGIC;y:OUT STD_LOGIC);END mux21b;ARCHITECTURE mux_arch1 OF mux21b ISBEGINy <= a WHEN s = '0' ELSE b ;END mux_arch1 ;ARCHITECTURE mux_arch2 OF mux21b ISBEGINProcess(a,b,s)BEGINIF (s='1') THEN y <= a;ELSE y <= b ;END IF;END Process;END mux_arch2;CONFIGURA TION first OF mux21b ISFOR mux_arch1END FOR;END first;CONFIGURA TION second OF mux21b ISFOR mux_arch2END FOR;END second;(3)W AIT UNTIL 条件--条件等待语句这种形式的W AIT语句使进程暂停,直到预期的条件为真。

W AIT UNTIL后面跟的是布尔表达式,在布尔表达式中隐式地建立一个敏感信号量表,当表中任何一个信号量发生变化时,就立即对表达式进行一次测评。

如果其结果使表达式返回一个“真”值,则进程脱离挂起状态,继续执行下面的语句。

即W AIT UNTIL语句需满足以下条件:✓在条件表达式中所含的信号发生了变化;✓此信号改变后,且满足W AIT UNTIL语句中表达式的条件。

这两个条件缺一不可,且必须按照上述顺序来完成。

W AIT UNTIL语句有以下三种表达方式:✓W AIT UNTIL 信号= V ALUE;✓W AIT UNTIL RISING_EDGE(信号)= V ALUE;✓W AIT UNTIL 信号’EVENT AND 信号= V ALUE;或W AIT UNTIL 信号’ST ABLE AND 信号= V ALUE;LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY CNT101 ISPORT(CLK,CLR:IN STD_LOGIC;CNT:BUFFER STD_LOGIC_VECTOR (3 DOWNTO 0));END CNT101;ARCHITECTURE ART OF CNT101 ISBEGINPROCESSBEGINW AIT UNTIL clk ='1'AND clk'EVENT; ;;;;;;;IF(clr='0'OR CNT="1001") THENCNT<="0000";ELSECNT<= CNT+1;END IF;END PROCESS;END ART;设计一个从两个整数中求取最大值的过程。

PROCEDURE max(a, b: IN INTEGER;y: OUT INTEGER) ISBEGINIF (a<b) THENy<=b;ELSEy<=a;END IF;END max;子程序(SUBPROGRAM)调用语句在VHDL中的子程序有两种类型:过程(Procedure)函数(Function)他们在被调用后返回数据的方式不同。

✓主程序调用子程序,子程序将处理结果返回给主程序,其含义与其它高级计算机语言中的子程序相同。

✓子程序可以在程序包、结构体和进程中定义;✓子程序必须在被定义后才能被调用:(1)若调用在进程(PROCESS)中调用,则是顺序语句;(2)若调用出现在结构体(ARCHITECTURE)或块(BLOCK)中,则属于并行语句。

✓主程序和子程序之间通过端口参数列表位置关联方式进行数据传送。

✓子程序可以被多次调用完成重复性的任务。

设计一个从两个整数中求取最大值的过程。

PROCEDURE max(a, b: IN INTEGER;y: OUT INTEGER) ISBEGINIF (a<b) THENy<=b;ELSEy<=a;END IF;END max;例:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY max1 ISPORT(in1:IN STD_LOGIC_VECTOR (7 DOWNTO 0);in2:IN STD_LOGIC_VECTOR (7 DOWNTO 0);in3:IN STD_LOGIC_VECTOR (7 DOWNTO 0);q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END max1 ;ARCHITECTURE rtl OF max1 ISPROCEDURE maximum (a,b:IN STD_LOGIC_VECTOR (7 DOWNTO 0);c:OUT STD_LOGIC_VECTOR (7 DOWNTO 0)) IS V ARIABLE temp:STD_LOGIC_VECTOR(a'RANGE);BEGINIF(a > b)THEN temp:=a;ELSE temp:= b;END IF;c:= temp;END maximum;BEGINPROCESS(in1,in2,in3)V ARIABLE tmp1,tmp2:STD_LOGIC_VECTOR (7 DOWNTO 0);BEGINmaximum(in1,in2,tmp1);--过程调用maximum(tmp1,in3,tmp2);q <= tmp2;END PROCESS;END rtl;上例是一个取三个输入位矢量最大值的功能描述。

函数体的格式为:FUNCTION 函数名称(参数列表)RETURN 数据类型名IS说明部分BEGIN顺序语句;RETURN 返回变量END 函数名称;函数调用的格式为:Y<=函数名称(参数列表);✓函数的参数均为输入参数。

✓函数调用返回一个指定数据类型的值。

LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY dpeak ISPORT(CLK,set:IN STD_LOGIC;date,peak:INSTD_LOGIC_VECTOR (5 DOWNTO 0);dout:OUTSTD_LOGIC_VECTOR (5 DOWNTO 0));END dpeak;ARCHITECTURE rtl OF dpeak ISFUNCTION max(a:std_logic_vector;b:std_logic_vector)RETURN std_logic_vector ISV ARIABLE tmp: std_logic_vector(5 DOWNTO 0);BEGINIF (a>b) THEN tmp:=a;ELSE tmp:=b;END IF;RETURN tmp;END max;BEGINPROCESS (clk)BEGINIF (clk'event and clk='1') THENIF (set='1') THENdout<=date;ELSEdout<= max(date,peak);END IF;END IF;END PROCESS;END rtl;;;过程的参数可为IN、OUT、INOUT参数,函数的参数均为输入参数。

;;过程调用可获得多个返回值,函数只能返回一个值。

;;过程调用可看作一条语句,可单独使用,函数看作一一个值,不能单独使用,通常看作表达式的一部分。

NULL;NULL语句常用于CASE语句中,利用NULL来表示所余的不用的条件下的操作行为,以满足CASE语句对条件值全部列举的要求CASE tmp ISWHEN 0 => y <= d0;WHEN 1 => y <= d1;WHEN 2 => y <= d2;WHEN 3 => y <= d3;WHEN OTHERS => NULL;--为了满足CASE语句全部选择项,空语句条件信号赋值语句格式:;;;;;赋值目标<=表达式1 WHEN 赋值条件ELSE表达式2 WHEN 赋值条件ELSE…表达式n;y<= input(0) WHEN sel="00" ELSEinput(1) WHEN sel="01" ELSEinput(2) WHEN sel="10" ELSEinput(3) ;选择信号赋值语句WITH 选择表达式SELECT赋值目标信号<=表达式WHEN 选择值, --以“,”号分隔表达式WHEN 选择值,…表达式WHEN 选择值;--以“;”号结束WITH selt SELECTmuxout <= a WHEN 0|1 , -- 0或1b WHEN 2 TO 5 , -- 2或3,或4或5c WHEN 6 ,d WHEN 7 ,'Z' WHEN OTHERS ;对4选1多路选择器的描述:WITH sel SELECTy <= input(0) WHEN"00",input(1) WHEN"01",input(2) WHEN"10",input(3) WHEN"11",'Z'WHEN OTHERS ;元件例化(COMPONENT)语句格式:COMPONENT 元件名--元件定义GENERIC 说明;--参数说明PORT 说明;--端口说明END COMPONENT;例化名:元件名GENERIC MAP (信号,…)PORT MAP(信号,…);--元件例化LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY half_adder ISPORT(in1, in2: IN STD_LOGIC;sum,carry: OUT STD_LOGIC);END half_adder;ARCHITECTURE behavioral OF half_adder ISBEGINPROCESS (in1, in2)BEGINsum <= in1 XOR in2;carry <= in1 AND in2; END PROCESS;END behavioral;--------------------------------LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or_gate ISPORT(in1,in2: IN STD_LOGIC;out1:OUT STD_LOGIC);END or_gate;ARCHITECTURE structural OF or_gate ISBEGINout1 <= in1 OR in2;END structural;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY full_adder ISPORT(x,y,c_in: IN STD_LOGIC;Sum,c_out: OUT STD_LOGIC);END full_adder;ARCHITECTURE structural OF full_adder IS COMPONENT half_adderPORT(in1,in2: IN STD_LOGIC;sum,carry: OUT STD_LOGIC);END COMPONENT; --元件说明COMPONENT or_gatePORT(in1, in2: IN STD_LOGIC;out1: OUT STD_LOGIC);END COMPONENT;SIGNAL a, b, c:STD_LOGIC;BEGINu1: half_adder PORT MAP (x, y, b, a); --元件例化u2: half_adder PORT MAP (c_in, b, sum, c);u3: or_gate PORT MAP (c, a, c_out);END structural;BEGINYAND<=A AND B;--与门输出YOR<=A OR B;--或门输出YNAND<=A NAND B;--与非门输出YNOR<=A NOR B;--或非门输出YNOT<=A NOT B;--反相器输出YXOR<=A XOR B;--异或门输出END ART;下面我们分别以四种方法描述一个3-8线译码器。

相关文档
最新文档