第一篇:EDA总结final版
一、有关概念
1.ASIC全称:专用集成电路 一般而言,专用集成电路就是具有专门用途和特定功能的独立集成电路器件,作为EDA技术最终实现目标的ASIC可通过三种途径来完成:
1、超大规模可编程器件FPGA,CPLD是实现这一途径的主流器件。
2、完全定制或半定制ASIC根据他们的实现工艺,可统称为掩模ASIC或直接ASIC、门阵列ASIC、标准单元ASIC。
3、混合ASIC,主要指用于某一专一用途的集成电路器件可大致分为数字ASIC、模拟ASIC和数模混合ASIC。(英文名字Application Specific Integrated Circuit)
2.FPGA:现场可编程门阵列以查表法结构方式构成逻辑行为的器件。(英文名字Field-Programmable Gate Array)FPGA是基于查找表的可编程器件,实现ASIC的主要途径
3.CPLD:复杂可编程逻辑器件以乘积项构成逻辑行为的器件。(英文名字Complex Programmable Logic Device)CPLD是基于与或乘积项的可编程器件,实现ASIC的主要途径
4.VHDL全称:超高速集成电路硬件描述语言 具有与具体硬件电路无关与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,在语言易读性和层次结构化设计方面表现了强大的生命力和应用潜力。(英文名字Very-High-Speed Integrated Circuit HardwareDescription Language)
5.全定制:根据芯片要实现的电路特性,定义芯片上所有晶体管的几何图形和工艺规则,将设计结果交给IC厂商掩模制造完成。
6.半定制:送IC厂商前以模块的形式完成初期的布局工序,根据芯片要实现的功能对半成品芯片布线掩模最终完成全部制造完成。7.IP核知识产权的IP核(Intellectual Property):指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC: System on a Chip)的基本构件。分为软IP、固IP、硬IP。软IP:是用VHDL等硬件描述语言描述的功能模块,但并不涉及用什么具体的电路元件实现这些功能。固IP:是完成综合的功能模块。硬IP:提供设计的最终阶段产品。
8.综合:将用行为和功能层次表达的电子系统转化为低层次的具有实现的模块组合装配的过程。综合器就是将电路的高级语言(如行为描述)转换为低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。9.适配(器);适配器也称结构综合器,它的功能是将综合器产生的网表文件配臵于指定的目标器件中,使之产生最终的下载文件。10.功能仿真;是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及任何具体器件的硬件特征,不经历综合和适配阶段。
11.时序仿真;就是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,因而,仿真精度高,但时序仿真的仿真文件必须来至针对具体器件的综合器与适配器。
12.编程下载;通常,将对CPLD的下载称为编程,对于OTP FPGA的下载和对FPGA的专用适配ROM的下载也称为编程,对FPGA中的SRAM进行直接下载的方式称为适
配。
13.PROM;可编程只读存储器,或门阵列可编程,与门阵列不可编程。(英文名字Programmable Read-Only Memory)
14.PLA;可编程逻辑阵列,与阵列和或阵列都可编程(英文名字programmable logic array)15.PAL;可编程阵列逻辑,或阵列固定,与阵列可编程(英文名字Programmable Read-Only Memory)
16.查找表;由简单的查找表组成可编程门。再构成门阵列形式。17.乘积项;基本结构为“与-或”阵列。
18.实体;以关键词ENTITY实名体IS开始,以END ENTITY实名体结尾的语句部分,称为实体,描述了电路器中的端口构成和信息属性。
19.结构体;结构体是实体所定义实体中的一个组成部分。结构体描述设计实体的内部结构和外部设计实体端口间的逻辑关系。
20.元件例化;元件例化就是引入一种连接关系,将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引进一个新的低一级的设计层次。
元件例化可以是多层次的,一个调用了较低层次元件的顶层设计实体本身也可以被更高层次设计实体所调用,成为该设计实体中的一个元件。元件例化语句有两部分组成,第一部分是将一个现成的设计实体定义为一个元件,语句的功能是对待调用的元件做出调用声明,它的最简单表达式如下: COMPONENT 元件名 IS PORT(端口名表); END COMPONENT 文件名;实例:component h_adder
port(a,b:in std_logic;
co,so:out std_logic);end component;第二部分是此元件与当前设计实体(顶层文件)中元件间及端口的连接说明。语句的表达式如下:
例化名:元件名 PORT MAP([端口名=>}连接端口名,…);例:u2 : h_adder port map(a=>e,b=>cin,co=>f,so=>sum);21.时钟进程;可以构成时序电路的进程 22.三态;0态,1态,高阻态。
23.线与;逻辑上两个(两个或以上)输出信号相连可实现与的功能
24.数据对象:类似一个容器,可以接受数据赋值,包括常量(constant),变量(variable),信号(signal)25.变量(variable);变量是一个局部量,只能在进程和子程序中使用,变量的赋值是立即发生的,不存在任何延时行为。VARIABLE 变量名:数据类型:=初始值;26.信号(signal);信号是硬件系统的基本数据对象,它的性质类似于连接线。信号可以作为设计实体中并行语句模块间的信息交流通道。信号不但可以容纳当前值,而且可以保留历史值。
SIGNAL信号名: 数据类型<=初始值;
27.Moore型状态机;moore型状态机属于异步输出状态机,其输出仅为当前状态的函数,这类状态机在输入发生变化时还必须等待时钟周期的到来,时钟使状态发生变化才导致输出的变化,所以比Mealy机要多等待一个时钟周期。Moore型状态机分为多进程有限状态机和单进程Moore型有限状态机。Mealy型状态机:与Moore型状态机相比,Mealy型状态机输出变化要领先一个周期,即一旦输入信号或状态发生变化,输出信号即刻发生变化。与同步输出状态机,输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的。不依赖于时钟的同步。与Moore型状态机不同的是,Mealy型状态机的组合进程中的输出信号是当前状态的输入函数。注意:
1.<= 对信号SIGNAL的赋值 := 是对变量variable的赋值
2.程序的实体名必须和文件名一致,例1中二输入与门的文件名必须为yumen
二、程序分析及设计
VHDL语言程序模板。文件名必须和实体名相同 LIBRARY IEEE;--固定格式,库文件
USE IEEE.STD_LOGIC_1164.ALL;--固定格式,库文件 ENTITY 实体名 IS PORT(a, b : IN BIT;--输入输出端口 y : OUT BIT);END ENTITY 实体名;ARCHITECTURE 结构体名 OF 实体名 IS BEGIN y <= a AND b;--具体程序代码 END ARCHITECTURE 结构体名;
1、二输入与门的VHDL语言设计。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、带有异步复位和同步时钟使能的6进制计数器VHDL语言设计。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');--计数器复位 ELSIF CLK'EVENT AND CLK='1' THEN--检测时钟上升沿 IF EN = '1' THEN--检测是否允许计数 IF CQI < 5 THEN CQI := CQI + 1;--允许计数
ELSE CQI :=(OTHERS =>'0');--大于5,计数值清零 END IF;END IF;END IF;IF CQI = 5 THEN COUT <= '1';--计数大于5,输出进位信号 ELSE COUT <= '0';END IF;CQ <= CQI;--将计数值向端口输出 end PROCESS;END behav;
3、用VHDL语言设计2选1数据选择器。ENTITY DFF IS LIBRARY IEEE;PORT(CLK : IN STD_LOGIC;USE IEEE.STD_LOGIC_1164.ALL;D : IN STD_LOGIC;ENTITY erxuanyi IS Q : OUT STD_LOGIC);PORT(a, b, s: IN BIT;END;y : OUT BIT);ARCHITECTURE bhv OF DFF IS END erxuanyi;SIGNAL Q1 : STD_LOGIC;ARCHITECTURE one OF erxuanyi IS BEGIN BEGIN PROCESS(CLK)PROCESS(a,b,s)BEGIN BEGIN IF CLK'EVENT AND CLK = '1' IF s = '0' THEN THEN Q1 <= D;y <= a;ELSE y <= b;END IF;END IF;END PROCESS;END PROCESS;Q <= Q1;END;END bhv;
4、边沿型T、D触发器VHDL语言设计。
--D触发器
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;
END;ARCHITECTURE bhv OF tff IS SIGNAL Q1 : STD_LOGIC;BEGIN--T触发器 PROCESS(CLK)有clk且为1的时候,T与当前状态异或 BEGIN LIBRARY IEEE;IF CLK'EVENT AND CLK = '1' USE IEEE.STD_LOGIC_1164.ALL;THEN Q1 <= Q1 XOR T;ENTITY tff IS END IF;PORT(CLK : IN STD_LOGIC;END PROCESS;T : IN STD_LOGIC;Q <= Q1;Q : OUT STD_LOGIC);END bhv;
5、带并行置数的8位右移移位寄存器VHDL语言设计。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 DOWNTO 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;--说明:当clk有上升沿,而且load为1的时候把din的值赋给REG8,如果clk有上升沿,而且load为0的时候把REG8的高7为赋给低7位(注意此时最高位不变)6、1位半加器VHDL语言设计。(布尔逻辑描述)BEGIN LIBRARY IEEE;so <= not(a xor(not b));USE IEEE.STD_LOGIC_1164.ALL;co <= a and b;ENTITY banjia IS END ARCHITECTURE fh1;PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END ENTITY banjia;ARCHITECTURE fh1 OF banjia IS
ARCHITECTURE one OF sixuan IS BEGIN PROCESS(a,b,c,d,s)BEGIN case s(1 DOWNTO 0)is
7、用VHDL语言设计实现四选一数据选择器。
when “00” => y <= a;LIBRARY IEEE;when “01” => y <= b;USE IEEE.STD_LOGIC_1164.ALL;when “10” => y <= c;ENTITY sixuan IS when “11” => y <= d;PORT(a, b, c , d: IN BIT;when others => null;s: IN STD_LOGIC_VECTOR(1 DOWNTO 0);END case;y : OUT BIT);END PROCESS;END sixuan;END;
8、用VHDL语言实现三态门设计。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、设有VHDL描述的半加器h_adder和或门or2,试通过层次化设计思想设计由半加器和或门构成的一位二进制全加器的VHDL程序。全加器f_adder电路结构组成图如下所示。
半加器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;
最后需要看看自动机(主要是Moore型有限状态机的设计,教材202的那一节,有一个大题)
部分选择题,参考 1、2.基于EDA软件的FPGA/CPLD设计流程为:原理图/HDL文本输入→__A__→综合→适配→____B____→编程下载→硬件测试。P14 A.功能仿真
B.时序仿真 C.逻辑综合 D.配置
3.IP核在EDA技术和开发中具有十分重要的地位;提供用VHDL等硬件描述语言描述的功能块,但不涉及实现该功能块的具体电路的IP核为__A___。P25 A.软IP
B.固IP C.硬IP
D.全对
4.综合是EDA设计流程的关键步骤,在下面对综合的描述中,_____D____是错误的。P15 A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程。
B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件。C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束。
D.综合可理解为,将软件描述与给定的硬件结构用电路网表文件表示的映射过程,并且这种映射关系是唯一的(即综合结果是唯一的)。
5.大规模可编程器件主要有FPGA、CPLD两类,其中CPLD通过___A__实现其逻辑功能。P42 A.可编程乘积项逻辑
B.查找表(LUT)C.输入缓冲
D.输出缓冲
6.VHDL语言是一种结构化设计语言;一个设计实体(电路模块)包括实体与结构体两部分,结构体描述_____B___。P274 A.器件外部特性
B.器件的内部功能
C.器件外部特性与内部功能 D.器件的综合约束
8.进程中的信号赋值语句,其信号更新是___B____。P134 A.立即完成 B.在进程的最后完成 C.按顺序完成D.都不对
9.不完整的IF语句,其综合结果可实现__A__。P147 A.时序逻辑电路
B.组合逻辑电路 C.双向电路
D.三态控制电路
第二篇:EDA总结
一、有关概念
1.ASIC全称:专用集成电路; 2.FPGA:现场可编程门阵列 3.CPLD:复杂可编程逻辑器件; 4.VHDL全称:硬件描述语言; 5.全定制; 6.半定制;
7.IP核;IP就是知识产权核或知识产权模块的意思
8.综合(器);综合就是将电路的高级语言(如行为描述)转换为低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。
9.适配(器);适配器也称结构综合器,它的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。
10.功能仿真;是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求
11.时序仿真;就是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,因而,仿真精度高。
12.编程下载;把适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD下载,以便进行硬件测试和验证 13.PROM;可编程只读存储器 14.PLA;可编程逻辑阵列 15.PAL;可编程阵列逻辑 16.查找表; 17.乘积项;
18.实体;VHDL实体作为一个设计实体(独立的电路功能结构)的组成部分,其功能是对这个设计实体与外部电路进行接口描述。
19.结构体;结构体是实体所定义实体中的一个组成部分。结构体描述设计实体的内部结构和外部设计实体端口间的逻辑关系。
20.元件例化;元件例化意味着在当前结构体内定义了一个新的设计层次,这个设计层次的总称叫元件,但它可以以不同的形式出现。?? 21.时钟进程; 22.三态; 23.线与; 24.数据对象;
25.变量;变量是一个局部量,只能在进程和子程序中使用,变量的赋值是立即发生的,不存在任何延时行为。
26.信号;信号是硬件系统的基本数据对象,它的性质类似于连接线。信号可以作为设计实体中并行语句模块间的信息交流通道
27.Moore型状态机;异步输出状态机,输出仅为当前状态的函数,在输入发生变化时还必须等待时钟的到来。
28.Mealy型状态机;同步输出状态机,输出是当前状态和所有输入信号的函数,它的输出是在输入变化后立即发生的。不依赖于时钟的同步。
注意:
1.<= 对信号SIGNAL的赋值 := 是对变量variable的赋值
2.程序的实体名必须和文件名一致,例1中二输入与门的文件名必须为yumen
一、有关概念
ASIC全称;FPGA和CPLD全称;VHDL全称;全定制;半定制; IP核;综合(器);适配(器);功能仿真;时序仿真;编程下载;PROM;PLA;PAL;查找表;乘积项;实体;结构体;元件例化;时钟进程;三态;线与; 数据对象;变量;信号; Moore型状态机;Mealy型状态机。
二、程序分析及设计
1、二输入与门的VHDL语言设计。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、带有异步复位和同步时钟使能的6进制计数器VHDL语言设计。
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');--计数器复位 ELSIF CLK'EVENT AND CLK='1' THEN--检测时钟上升沿 IF EN = '1' THEN--检测是否允许计数 IF CQI < 5 THEN CQI := CQI + 1;--允许计数
ELSE CQI :=(OTHERS =>'0');--大于5,计数值清零 END IF;END IF;END IF;IF CQI = 5 THEN COUT <= '1';--计数大于5,输出进位信号 ELSE COUT <= '0';END IF;CQ <= CQI;--将计数值向端口输出 end PROCESS;END behav;
3、用VHDL语言设计2选1数据选择器。
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触发器VHDL语言设计。--D触发器
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触发器
有clk且为1的时候,T与当前状态异或
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、带并行置数的8位右移移位寄存器VHDL语言设计。
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;--说明:当clk有上升沿,而且load为1的时候把din的值赋给REG8,如果clk有上升沿,而且load为0的时候把REG8的高7为赋给低7位(注意此时最高位不变)6、1位半加器VHDL语言设计。(布尔逻辑描述)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语言设计实现四选一数据选择器。
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语言实现三态门设计。
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、设有VHDL描述的半加器h_adder和或门or2,试通过层次化设计思想设计由半加器和或门构成的一位二进制全加器的VHDL程序。全加器f_adder电路结构组成图如下所示。
半加器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;
第三篇:实习个人总结 final
实习个人总结
教育实习是提高师范教育专业学生素质和技能的重要途径之一。通过教育实习可以进一步培养锻炼学生理论联系实际和分析问题、解决问题的能力,使学生了解中学实际,获得教师职业的初步实际知识和能力,从而缩短从教适应期,为今后走上工作岗位打下良好的基础。同时,还可以使我院加强与中学的联系,了解和学习中学教育教学改革的经验,检查我院教育教学质量,进而推动我院的教学改革和教育科学的研究工作。
在重庆市兼善中学实习的这十六周里,我主要完成了以下三个方面的实习内容,包括英语教学、班主任工作和基础教育调查三个方面。
一、英语教学
(1)见习
在初来到兼善中学的两周见习阶段内,我坚持认真挺好指导教师的每一节课,做好听课记录,学习指导教师的教学方法、上课方式及教学思路,课后一起与原任老师深入探讨,虚心求教,深入了解课堂教学的要求和过程,学习如何备教材、背学生。
(2)备课及试讲
我所实习的班级,学生水平参差不齐。因此,在备课过程中,我特别注重对基本知识和基本理论的强调。充分运用长期的家教所得、听课心得,结合当前考试方向制定教学计划,进行试讲,得到指导教师的肯定后,正式走上讲台。
(3)上课
第一次走上讲台,紧张中还带有些许激动。经过精心备课,本节课完成了教学内容,取得了一定的成绩。课程的讲授取得了指导教师的好评,但是也指出了我的一些不足。后来的讲课的表现比第一次好了很多,教态更加自然、表达更加流利、知识的讲授更加的清晰,一次次指导教师的肯定都成为我努力的源动力。前几次的讲课都是借助多媒体教学设备的,后来周老师的一席话让我决心尝试运用传统方式进行教学,即收音机、粉笔和黑板。而后的两次传统课得到了指导教·师的好评,且被认为比多媒体教学表现得更棒。一次次的讲课都在增强自己作为一个准人民教师的自信心,相信自己可以做好一名合格的英语教师。
(4)课后反思
尽管自己的课总体上获得了指导教师的肯定,但指导教师同时指出我的课有诸多不足之处,如:学生回答问题之后的反馈,某些活动的设计的目的性不强,提问的策略欠缺等,在课后努力改正,提高教学水平,从而确保在下一次的教学过程中不出现同样的错误,在这样的努力下,我在教态、语言、板书、提问技巧、与学生互动各方面都有了提高。
(5)作业及试卷批改
在实习期间,认真批改每一次学生作业,针对学生的不同水平,给予不同要求,并对其给予个性化评语,以鼓励后进生和促进所有学生进步;针对考试试卷,及时分析试卷,找出学生的知识不足,把握教学的重点,以期在后续的教学过程中予以改进。
二、班主任工作
试作初期我就制定了班主任工作计划,接下来我就按我的计划展开班主任工作。
每天我的日常工作有:一是早自习前的考勤和值日情况监督,每天早上7:30到教室查看考勤和监督学生值日情况,督促学生把清洁区、教室的每个角落打扫干净;二是跟操,周一、周三和周五大课间到操场督促学生认真做操,周二、周四在教室监督学生确保其认真做眼保健操;三是下午第四节课和晚上的自习课,我都下班,管好纪律,辅导个别学生。
通过每天的工作,主动关心学生的学习、生活情况,很快就熟悉和掌握了班级及学生的情况和特点,使班主任工作得以顺利展开。在管理班级期间,我们组织了一次趣味运动会,增进了班级的凝聚力,给了他们一次展示新时代中学生蓬勃朝气和竞技热情的机会。经过不懈的努力,我与学生建立了良好的师生关系,得到了他们的信任,成为他们诉说心事的对象,我也诚恳的倾听他们的倾诉并开导他们。
四月底,期中考试结束之际,期末将要到来之时,以“一切为了孩子,为了孩子的一切,为了一切的孩子”为宗旨,我们在饶老师的带领下进行了一场特殊家长会,我们不抛弃、不放弃任何一个学生,不以成绩看人、区分人,旨在将所有学生培养成为一名合格的人。
在实习工作中,我还着重做了几位同学的思想工作,帮助他们克服思想波动,在青春叛逆期,引导他们树立正确的人生观、价值观,并对其进行课业辅导,等等。因此,在饶老师的细心指导下,我学到了许多本上没有的东西,积累了许多班级的管理方法,并有了一定的班主任工作经验,为日后走上工作岗位打下了坚实的基础。
三、基础教育调查报告
进入兼善学校之后,综合兼善学校的现状及学生特点我做了细致的分析,同准备阶段的教育调查计划一并制定了本次教育调查的主题及调查步骤,展开教育调查,并同周边的几所中学的实际情况相结合,作了此次报告。
此次调查报告的方向重点是如何提高课堂气氛、调动学生的学习积极性。我听取了学生的一些意见,请教了一些教学经验丰富的教师,查询了相关的研究文献,并结合了当前《课程标准》完成了教育调查报告,报告得到了指导老师的认可。
以上三方面的内容是我在实习期间完成的。回忆十六周的兼善实习,使我深深体会到,要想成为一名合格的人民教师,这并非易事。除了需要具备深厚的专业学识外,其他各方面如语言表达、心理状态、以及衣着、动作神态等也是有讲究的;当然,通过此次实习我更是体会到了当一名教师的快乐与幸福,多年所学,终于有了将其传输给他人的途径,而且与学生在一起,我会回忆起自己中学时代,也会想起自己曾经的点点滴滴。实习有苦乐并存,兼具欢笑和泪水,实习经历让我增长了知识,丰富了经验;其带来的是无价的人生阅历。最主要的是实习坚定了我的从教信念,他日将为边疆的英语教育事业贡献出自己微薄的一份力量。待到明秋之时,园我教师之梦!
第四篇:EDA基础总结
EDA基础总结
综述部分
1.EDA的中文全称为电子设计自动化,英文全名为Electronic Design Automation。2.EDA平台常用的两种输入电路的方法是:电路原理图输入法、HDL输入法。3.EDA平台工作流程:电路输入、综合优化、功能仿真、布局布线、门级仿真。
数字电路部分
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的比较
共同点:能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。
不同点:Verilog在系统级抽象方面略差,VHDL在门级开关电路方面略差。
5.软核、固核和硬核
软核:功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的Verilog模型。
固核:在某一种现场可编程门列器件上实现的经验证是正确的,且总门数在5000门以上的电路结构编码文件。
在某一种专用集成电路工艺的器件上实现的,经验证是正确的,且总门数在5000门以上的电路结构版图掩膜。6.自顶向下(Top Down)设计
7.自底向上(Down Top)设计
8.名词解释:
ASIC:Application Specific Integrated Circuit,专用集成电路。
FPGA:Field Programmable Gate Array,现场可编程门阵列。PLD:Programmable Logic Device,可编程逻辑器件。
Verilog编程题: 数据比较器(2位)//数据比较器
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
//数据比较器测试代码 `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
数据比较器(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
八路数据选择器
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.集成电路的生产由设计、制造、封装三部分组成。
3.集成电路中基片主要制作工艺为:光刻、扩散、注入、刻蚀、键合。
4.集成电路中基片的制造步骤为:光刻、扩散、注入、刻蚀。
5.衡量集成电路产业水平的两个主要参数为:硅晶圆片直径和光刻精度(特征尺寸)。这两个参数在业界达到的水平为:硅晶圆片直径12英寸(300mm),光刻精度0.13um。主流水平为:硅晶圆片直径200mm,光刻精度0.18um。
6.模拟电路中常用的仿真算法是SPICE,英文全名为Simulation Program with Integrated Circuit Emphasis。
7.世界上设计EDA软件实力最强的两个公司为Cadence和Synopsys。其中,Cadence的优势为电路布局布线,Synopsys的优势为逻辑综合仿真。
8.WorkBench是加拿大IIT公司退出的电子线路仿真软件。它可以对模拟、数字和模拟/数字混合电路进行仿真,克服了传统电子产品的设计受实验室客观条件限制的局限性,用虚拟的元件搭接各种电路,用虚拟的仪表进行各种参数和性能指标的测试。特点如下:(1)系统集成度高,界面直观,操作方便。(2)具备模拟、数字及模拟/数字混合电路仿真。(3)提供较为丰富的元器件库。(4)电路分析手段完备。(5)输出方式灵活。(6)兼容性好。9.SPICE语言举例: EXAMPLE
VCC 8 0 12
**** 文件名 任意名都可以 但必须要有****
**** 电源正极接于节点8 负极接于0 电压为12V **** VEE 0 9 12
**** 电源正极接于节点0,负接接于节点9,电压为12V;**** VIN 1 0 AC 1 SIN(0 0.1 5MEG)
**** 信号源VIN 接于1 和接点0;交流1V 进行交流分析 同时加一个正弦信号 直流偏置为0,振幅为0.1V频率为5M的交流信号源,进行瞬态分析;**** RC1 8 4 10K
RC2 8 5 10K
RS 2 1 1K
RS1 8 7 20K
RS2 3 0 1K
**** 电阻RC1 分别接于节点8 节点4;阻值为10K;**** **** 电阻RC2 分别接于节点8 节点5;阻值为10K;**** **** 电阻RS 分别接于节点1 节点0;阻值为1K;**** **** 电阻RS1 分别接于节点8 节点7 阻值为20K;**** **** 电阻RS2 分别接于节点3 节点0 阻值为1K;**** Q1 4 2 6 MOD1
**** 三极管Q1 CBE 分别接于节点 4 2 6 模型为MOD1**** Q2 5 3 6 MOD1
**** 三极管Q2 CBE 分别接于节点 5 3 6 模型为MOD1**** Q3 6 7 9 MOD1
**** 三极管Q3 CBE 分别接于节点 6 7 9 模型为MOD1**** Q4 7 7 9 MOD1
**** 三极管Q4 CBE 分别接于节点 7 7 9 模型为MOD1****.OP
**** 求出直流工作点.本电路共有9个节点;温度值为27度;****.DC VIN-.15.15.01
**** DC为直流分析语句,分析输入电压从-0.15V到0.15V扫描特性,每0.1V作一次分析;****.PRINT DC V(4)V(5)
****.PRINT 为打印语句,其中DC是打印直流内容,这里规定打印节点4和5上的电位,既相对地参考点的电压随输入的变化关系;****.PLOT DC V(4)V(5)
****.PLOT为绘图语句,其中DC表示绘制直流分析的传输特性,说明是绘制V(4)V(5)的输出电压和VIN关系曲线;****.TF V(5)VIN
****.TF是转移函数分析语句,该句表示计算直流分析时,小信号输出电压V(5)和输入电压VIN的转移函数值,输入电阻和输出电阻;****.AC DEC 10 25K 250MEG
****.AC是交流分析语句,是在规定的频率范围内从25K到250M进行频域分析DEC表示按数量级变化,10表示每一数量级中取的分析点数目;****.PRINT AC VM(5)VP(5)
**** 打印AC分析VM(5)VP(5)的取点数;****.PLOT AC VM(5)VP(5)
**** 绘制AC分析VM(5)VP(5)的取点数;****.TRAN 4N 100N 1N
****.TRAN是瞬态分析语句,并规定了打印或绘图时间增量为4N秒,计算终止时间为100N秒,打印或绘图开始时间1NS*;****.PRINT TRAN V(5)V(4)
****.打印出4.5点的电压随时间变化;****.PLOT TRAN V(5)V(4)
****.绘图出节点4.5的电压随时间变化;****.END
**** 结束语句...一定要有;****
第五篇:EDA基础知识总结
VHDL有如下特点:①支持从系统级到逻辑门级电路的描述;②具有很强的硬件描述能力;③设计技术齐全、方法灵活、支持广泛;④对设计描述具有相对的独立性;⑤具有很强的移植能力;⑥易于共享和复用;⑦具有丰富的仿真语句和库函数;⑧设计结构清晰、易读易懂;⑨易实现系统的更新和升级;⑩数据类型丰富、安全性好。
VHDL语言中常用的五种库:1)IEEE库:VHDL语言设计中最常见的库。2)STD库:VHDL语言的标准库3)WORK库:用户的VHDL语言工作库。4)VITAL库: VHDL语言的时序仿真库5)用户自定义的库:用户自定义的资源库
变量的使用规则:① 变量不能用于硬件连线和存储元件;② 变量赋值和初始化赋值都用“:=”表示;③ 变量的初值不是预设的,某一时刻只能有一个值;④ 变量不能用于在进程间传递数据;⑤ 仿真时,变量用于建模;⑥ 综合时,变量充当数据的暂存。
信号与变量的区别:①使用场合不同:变量在进程、函数和过程中说明;信号在结构体中说明。②赋值符号不同:变量用“:=”号赋值, 其值被立即使用(无时间延时);信号用“<=”赋值,其值可以附加延时。
VHDL语言预定义了五种运算符:逻辑运算符、算术运算符、关系运算符、符号运算符、移位运算符
主要的三家公司:Xilinx、Altera、Lattice EDA软件系统包括子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块。
电子系统设计的仿真过程分为两个阶段:设计前期的系统级仿真和设计过程的电路级仿真。(系统仿真主要验证系统的功能;电路级仿真主要验证系统的性能,决定怎样实现设计所需的精度。)
设计过程中的仿真有三种:行为仿真、功能仿真、时序仿真 数字系统的两个模块(子系统):数据处理子系统、控制子系统
数据处理子系统主要完成数据的采集、存储、运算、传输,主要由存储器、运算器、数据选择器等功能电路组成。数字系统设计方法:模块设计方法、自顶向下设计法、自底向上设计法。一般采用自顶向下、由粗到细、逐步求精的方法。
数字系统的设计准则:1)分割准则2)系统的可观测性3)同步和异步电路4)最优化设计5)系统设计的艺术
数字系统的设计步骤:1)系统任务分析2)确定逻辑算法3)建立系统及子系统模型4)系统(或模块)逻辑描述5)逻辑电路级设计及系统仿真6)系统的物理实现 VHDL语言要素:数据对象、数据类型、各类操作数及运算操作符 标识符规则:以英文字母开头,不连续使用下划线“_”,不以下划线结尾的,由26个大小写英文字母、数字0~9及下划线“_”组成的字符串,英文字母不区分大小写,VHDL的保留字不能用于作为标识符使用。
在进程中,只能将信号列到敏感表,而不能将变量列入敏感表。可见进程对信号敏感。VHDL中的数据类型:标量型(包括:实数型、整数型、枚举型、时间类型)、复合类型(数组型、记录型)、存取型、文件类型
VHDL四大类数据类型又可分为两类:预定义数据类型、用户自定义数据类型(基于预定义数据类型)预定义数据类型:1)布尔型2)位数据类型(BIT)3)位矢量(BIT_VECTOR)4)字符型5)整数型6)自然数和正整数型7)实数型8)字符串型9)时间型10)错误等级 数据类型:标准逻辑位STD_LOGIC、标准逻辑矢量STD_LOGIC_VECTOR VHDL中六类基本顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句、返回语句、空操作语句。
在信号赋值时,当统一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值,其前面相同的赋值目标则不作任何变化。
转向控制语句五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句
当执行WAIT等待语句,程序将被挂起,知道满足结束条件后,程序重新开始执行。已列出敏感量的进程不能使用任何形式的WAIT语句 过程调用:执行一个给定名字和参数的过程
过程名[([形参名=>] 实参表达式 {,[形参名=>]实参表达式})];过程调用步骤:1)将IN和INOUT的形参值赋给调用过程中与之对应的形参;2)执行这个过程;3)将过程中IN和INOUT的形参值赋给对应的实参
函数调用:返还一个指定数据类型的值,函数的参量只能是输入值 任何时刻,一个对象(信号、常量、变量)只有一个值,但可有多个属性 预定义属性描述:属性测试项目名’属性标识符 CLOCK’EVENT AND CLOCK=’1’对上升沿的测试(或者NOT(CLOCK’STABLE AND CLOCK=’1’))CLOCK’EVENT AND CLOCK=’0’对下降沿的测试(或者CLOCK’STABLE AND CLOCK=’0’)并行语句在结构体中的执行是同步的。每一并行语句内部的语句运行方式:并行执行、顺序执行。结构体中并行语句有七种:1)并行信号赋值语句2)进程语句3)块语句4)条件信号赋值语句5)元件例化语句6)生成语句7)并行过程调用语句
PROCESS中规定了每个进程语句在它的摸个敏感信号的值改变时都必须立即完成某个功能行为。进程的激活必须由敏感信号表中定义的敏感信号的变化来启动,否则必须有一个显示的WAIT语句激活
并行信号赋值语句包括:简单信号赋值语句、条件信号赋值语句、选择信号赋值语句 简单信号赋值语句:信号赋值语句<=表达式;
条件信号赋值语句:赋值目标<=表达式 WHEN 赋值条件 ELSE(类似于IF语句)表达式 WHEN 赋值条件 ELSE „„ 表达式;
选择信号赋值语句:WITH 选择表达式 SELECT(类似于CASE语句)赋值目标<=表达式 WHEN 选择值,表达式 WHEN 选择值,„„
表达式 WHEN 选择值;
元件例化是使VHDL设计实体构成自上而下层次化设计的一个重要途径。组成部分:1)将一个现成的设计实体定义为一个元件的语句;2)此元件与当前设计实体中的连接说明
元件例化语句中定义的例化元件的端口名与当前系统的连接实体端口名的接口表达式表达有两种方式:1)名字关联方式:通过“=>”一一对应2)位置关联方式:按例化元件端口的定义顺序将例化元件的对应的连接实体端口名一一列出
生成语句有一种复制功能。生成语句的四个组成部分:生成方式、说明部分、并行语句、标号。
子程序是利用顺序语句来定义和完成算法的。只能通过子程序调用及与子程序的界面端口进行通信。包括过程(可单独存在,多个返回值,有输入/出双向参数)和函数(作为语句的一部分调用,一个返回值,所有参数都是输入参数),可在VHDL的结构体或程序包中任何位置调用子程序。
子程序特性:可重载性,即允许有许多重名的子程序,但这些子程序的参数类型及返回值数据类型不同
函数组成:函数首(作用:作为程序包的有关此函数的一个接口界面)、函数体
重载函数:VHDL允许相同的函数名定义函数,但要求函数中定义的操作数具有不同的数据类型。
过程组成部分:过程首、过程体。过程首不是必须的,过程体可以独立存在和使用
过程首参数表用于对常数、变量、信号三类数据对象目标作出说明,并用IN、OUT、INOUT定义参数工作模式(信息流向)
一般把EDA技术的发展分为CAD、CAE、EDA三个阶段。
EDA设计流程包括设计准备、设计输入、设计处理、器件编程四个步骤.EDA的设计验证包括功能仿真、时序仿真、器件测试三个过程
EDA的设计输入包括文本输入方式、图形输入方式、波形输入方式三个过程
当前最流行的并成为IEEE标准的硬件描述语言包括VHDL 语言、Verilog 和 HDL 语言
将硬件描述语言转化为硬件电路的重要工具软件称为HDL 综合器
基于EPROM、E2PROM和快闪存储器件的可编程器件,在系统断电后编程信息不丢失 基于SRAM结构的可编程器件,在系统断电后编程信息 会丢失
CPLD器件中至少包括可编程逻辑宏单元、可编程 I/O 单元、可编程内部连线三种结构 FPGA的三种可编程电路分别是可编程逻辑块 CLB、输入/输出模块 IOB、互连资源三种结构 根据逻辑功能块的大小不同,可将FPGA(可编程逻辑器件)分为细密度、粗密度两类;据FPGA内部连线结构的不同,可将FPGA分为分段互连型、连续互连型两类;据FPGA采用的开关元件不同,可将FPGA分一次编程型(OTP)、可重复编程型(MTP)两类
目前常见的可编程逻辑器件的编程和配置工艺包括电可擦存储单元的 E2PROM 或 Flash 技术、SRAM 查找表的编程单元、反熔丝编程单元三种编程工艺。
VHDL设计实体的基本结构由库、程序包使用说明、设计实体的说明、结构体说明、配置 等部分组成
实体、结构体是设计实体的基本组成部分,他们可以构成最基本的VHDL程序 在VHDL的端口声明语句中,端口方向包括in out buffer inout VHDL的数据对象包括常数 constant、变量 variable、信号 signal它们是用来存放各种类型数据的容器
VHDL的操作符包括逻辑操作符、关系操作符、算术操作符、符号操作符
VHDL的顺序语句只能出现在进程 process、函数 function、过程 procedure中,按照书写顺序自上而下,一条一条执行。
VHDL的进程(process)语句是由 顺序语句 组成的,但其本身却是 并行语句 Maxplus Ⅱ支持图形、符号、文本、波形等不同编辑方式
指定设计电路的输入/输出端口与目标芯片引脚的连接关系的过程称为引脚锁定
在完成设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称时序仿真或后仿真
图形文件设计结束后一定要通过 仿真,检查设计文件是否正确
以EDA方式设计实现的电路设计文件,最终偶可以编程下载到 FPGA 和 CPLD 芯片中,完成硬件设计和验证
MAX+PLUS的文本文件类型是(后缀名).VHD 在PC上利用VHDL进行项目设计,不允许在 根目录 下进行,不惜在根目录为设计建立一个工程目录(文件夹)VHDL源程序的文件名应与 实体名 相同,否则无法通过编译 EDA 名词解释
1.CPLD: 复杂可编程逻辑器件 2.HDL: 硬件描述语言 3.LUT:查找表(Look-Up-Table)4.ASIC:专用集成电路 5.SOC:单芯片系统
6.VHDL:超高速硬件描述语言 7.FPGA:现场可编程门阵列 8.RTL:寄存器传输级 9.SOPC:可编程片上系统
10.EAB:嵌入式阵列块 11.LAB:逻辑阵列块
12.IP:知识产权核
13.EDA:电子设计自动化
14.IEEE:美国电气电子工程师协会 15.ISP:在系统编程
16.LPM:参数可定制红模块库 17.UART:串口(通用异步触发器)
18.元件例化:将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一个新的低一级的设计层次。19.简要解释 JTAG,指出 JTAG 的用途:JTAG:联合测试行动小组的简称,又意指其提出的一种硬件测试标准,常用于器件测试、编程下载和配置等操作。