VHDL实验新与答案
- 格式:ppt
- 大小:305.00 KB
- 文档页数:33
共6个尾灯,汽车正常行驶时,6个灯全灭;左转时,左边3个灯从右到左依次亮灭;右转时,右边3个灯从左到右依次亮灭;刹车时,车灯全亮;故障时,全部闪烁。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yu isport(xhd:in std_logic_vector(2downto0);clk:in std_logic;led1,led2,led3,led4,led5,led6:out std_logic);end yu;architecture one of yu issignal l1,l2,l3,l4,l5,l6:std_logic;signal n:std_logic_vector(2downto0);beginprocess(clk,xhd,n)beginif clk'event and clk='1'then n<=n+1;if(xhd>="110")thenl1<='1';l2<='1';l3<='1';l4<='1';l5<='1';l6<='1';elsif(xhd="100")thenif(n="001")or(n="010")then l3<='1';else l3<='0';end if;if(n="011")or(n="100")then l2<='1';else l2<='0';end if;if(n="101")or(n="110")then l1<='1';else l1<='0';end if;elsif(xhd="001")then(l1,l2,l3)<=null;if(n="001")or(n="010")then l4<='1';else l4<='0';end if;if(n="011")or(n="100")then l5<='1';else l5<='0';end if;if(n="101")or(n="110")then l6<='1';else l6<='0';end if;elsif(xhd="010")then l1<='0';l2<='0';l3<='0';l4<='0';l5<='0';l6<='0';elsif(xhd="000")thenif(n="000")or(n="010")or(n="100")or(n="110")thenl1<='1';l2<='1';l3<='1';l4<='1';l5<='1';l6<='1';else l1<='0';l2<='0';l3<='0';l4<='0';l5<='0';l6<='0';end if;end if;end if;led1<=l1;led2<=l2;led3<=l3;led4<=l4;led5<=l5;led6<=l6;end process;end one;设计一个2人抢答器。
第4节PPT课件作业1.VHDL程序一般包含几个组成部分?各部分的作用是什么?实体,结构体,库,程序包,配置实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:存放已经编译的实体、构造体、程序包集合和配置。
程序包:存放各设计模块都能共享的数据类型、常数和子程序库;配置:实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?buffer类型与inout类型的端口有什么区别?Out, in, inout, bufferout (输出):只能被赋值,用于不能反馈的输出;in (输入):只能读,用于时钟输入、控制输入单向数据输入;inout(输入输出) :既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?Led3coder_ _1 end port std_machine2adder decoder*8and_2_ _decoder_1 and2 and_2and_ _2 and-24.指出下面的实体描述中存在的四处语法错误并改正LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21a ISPORT( a, b, s : IN BIT ;y : OUT BIT ;) ; (1.删除括号内的分号)END ENTITY mux; (2.改为mux21a)ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)Beginif s=‘0’then y<=a ;else y<=b ;end if ;end process (结束少了一个分号)END ARCHITECTURE none ; (none改为one)5.写出下图所示的设计实体mux41的实体声明。
填空题1、从执行顺序上划分,VHDL语言可以分为顺序描述语句(Sequential Statements)和并行描述语句(Concurrent Statements)两大类,前者在执行过程中是按照书写顺序依次执行的,而后者则是在同一时间同步执行的,2、顺序描述语句是相对于并行语句而言的,其只出现在进程或者子程序中。
3、标识符赋值目标是以简单的标识符作为被赋值的信号或变量名4、流程控制语句又称为转向控制语句,其特点是通过条件控制开关,决定是否执行或者重复执行或者跳过一条或几条语句。
5、VHDL语言的IF语句是选择分支语句。
6、CASE语句根据满足的条件直接选择多项顺序描述语句中的一项执行,可以用来描述总线或编码、译码的行为。
7、LOOP语句是循环语句的一种,可以使所包含的一组顺序描述语句被循环执行,其执行次数由设定的循环参数决定。
8、由于进程的执行是由敏感信号列表来触发的,因此VHDL语言规定在已列出敏感表的进程中不能使用任何形式的WAIT语句。
9、REPORT语句用于程序运行过程中向用编程人员报告程序的运行状态。
10、REPORT语句提供了4级出错等级,包括FAILURE(失败)、ERROR(错误)、WARNING(警告)、NOTE(注意)。
综述题1、简述赋值语句和代入语句的主要区别。
答案:●对于变量的赋值是立即发生的(假设进程已启动),是一种时间延迟为零的赋值行为。
●对于信号的赋值并不是立即发生的,它发生在一个进程结束时。
●当在同一进程中,同一信号目标有多个赋值源时,信号赋值对象只能被最后一个赋值源赋值,前面的任何赋值都不会改变赋值对象的值。
2、VHDL语言的流程控制语句包括哪几种?答案:●IF语句。
•2 •●CASE语句。
●LOOP语句。
●NEXT语句。
●EXIT语句。
3、使用CASE语句的时候有那些注意事项?答案:●条件句中的选择值必在表达式的取值范围内。
●除非所有条件句中的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用关键字OTHERS表示,它代表已给的所有条件句中未能列出的其它可能的取值。
VHDL电子琴实验报告
实验目的:
本实验的目的是设计一个VHDL电子琴,通过FPGA实现,实现按键发出不同的音调,并通过扬声器输出对应的音频信号,达到模拟真实电子琴的效果。
实验原理:
VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,用于描述数字电路的行为和结构。
在本实验中,我们将使用VHDL语言描述电子琴的按键和音调的对应关系,通过FPGA实现电子琴的功能。
电子琴实验主要包含两个部分:输入部分和输出部分。
输入部分是按键,按下不同的按键会发出不同的音调。
输出部分是扬声器,通过扬声器输出对应的音频信号。
实验步骤:
1.确定电子琴的按键数量和对应的音调。
2.使用VHDL语言描述电子琴的按键和音调的对应关系。
3.将VHDL代码综合成逻辑电路网表。
4.将逻辑电路网表烧录到FPGA中。
5.连接扬声器到FPGA输出引脚。
6.按下不同的按键,测试扬声器输出的音频信号是否正确。
实验结果:
经过实验测试,我们成功实现了一个简单的VHDL电子琴。
按下不同的按键,扬声器输出对应的音调。
通过调整VHDL代码中的音频频率,可以改变电子琴的音调高低。
实验总结:
通过本实验,我们深入理解了VHDL语言的应用和FPGA的原理。
电子琴作为一个实际应用案例,充分展示了数字电路设计的魅力。
在今后的学习和工作中,我们将能更加熟练地应用VHDL语言和FPGA技术,设计更加复杂的数字电路系统。
VHDL作业1、读例6.3、6.7、6.9代码。
2、什么是桶形移位寄存器?桶形移位器用来有效地实现移位、循环移位和位操作,被广泛地用于乘法及其他操作中。
桶形移位器可以实现逻辑左移、右移,算术左移、右移等,它可以在一个时钟周期内实现64位同时移位,也可对任何一种数据类型移任意位数。
桶形移位器与ALU并行操作,可加速乘法、除法、位操作,移位和循环移位操作。
3、什么是寄存器和锁存器?三态门实例:entity Buffer ISport(enable,datain: in std_logic;dataout: out std_logic);end Buffer;atchitecture Buffer1 of Buffer ISbeginprocess(datain,enable)beginif (enable= ‘1’) thendataout <= datain;elsedataout <= ‘Z’;end if;end process;end Buffer1;总线缓冲器entity oeseqbus isport(enable: in std_logic;datain: in std_logic_vector(7 downto 0);dataout: out std_logic_vector(7 downto 0));end oeseqbus;atchitecture sequential of oeseqbus isbeginprocess(datain,enable)beginif (enable= ‘1’) thendataout <= datain;elsedataout <= (others => ‘Z’);end if;end process;end sequential;锁存器实例:library ieee;use ieee.std_logic_1164.all;entity latch isport(datain: in std_lagic;enable: in std_logic;dataout: out std_logic);end latch;atchitecture behav of latch isbeginprocess(datain,enable)beginif(enable = ‘1’) thendataout <= datain;end if;end process;end behav;寄存器:寄存器一般由多位触发器连接而成,通常有锁存寄存器和移位寄存器等。
一、简答题1、VHDL语言程序的基本结构?实体、结构体、配置、包集合、库。
2、信号和变量的区别?①信号用于作为电路中的信号连线,变量用于作为进程中局部数据存储单元;②信号是全局量在整个结构体内的任何地方都可以使用,变量是局部量只能在进程、子程序内部定义和使用;③信号代入语句采用“<=”代入符,该语句即使被执行也不会使信号立即发生代入,变量的赋值符号为“:=”,在变量赋值语句中,语句一旦被执行,其值立即被赋予变量。
3、可编程逻辑器件的优点?①集成度高,极大的减小电路的面积,降低功耗,提高可靠性;②具有完善先进的开发工具,提供语言、图形等设计方法,十分灵活,通过仿真工具来验证设计的正确性;③可以反复地擦除、编程,方便设计的修改和升级;④灵活地定义管教功能,减轻设计工作量,缩短系统开发时间;⑤保密性好。
4、函数与过程的异同?相同点:函数与过程都是子程序,主函数调用它们以后能将处理结果返回主程序;函数与过程中的语句都是顺序执行的。
不同点:过程的参数可以是输入,也可以是输出,函数的参数都是输入参数;函数只有一个输出,只能通过函数体内的RETURN语句来实现,函数体内不能有信号赋值语句,而过程却可以有不止一个输出,而且是通过过程体内的信号赋值语句或者变量赋值语句来实现的;函数的调用只能通过表达式来实现,过程的调用则是通过过程调用语句来实现的。
5、CPLD与FPGA的异同?①FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。
因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。
CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。
②FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个器件结合起来实现。
CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。
VHDL 实验报告******班级:电子0701学号:************实验一组合逻辑电路设计一实验目的:1. 熟悉mux+pluxII软件,可以进行新文件的编辑和文件的修改。
2. 掌握门电路VHDL语言程序设计方法。
3. 掌握选择器VHDL语言程序设计方法。
4. 掌握加法器VHDL语言程序设计方法。
5. 熟悉VHDL编程的基本方法。
二实验设备:1.计算机2.Max+PlusII软件三实验原理及内容:1 二输入与门(1)实验原理二输入与门是我们数字电路中的一个基础逻辑门电路,是最基本的逻辑门电路之一,也是最简单的逻辑门之一。
它能实现两个输入端的相与,一般有三个端口。
二输入与门的表达式是:Y=ab二输入与门的逻辑符号如图(1)所示,真值表如表(1)所示。
图(1)与门逻辑符号表(1)与门真值表(2)实验内容a.在mux+pluxII文本编辑环境下,打开新文本,编写两输入与门VHDL语言源程序,程序设计如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2 ISPORT(a,b: IN STD_LOGIC;Y: OUT STD_LOGIC);END and2;ARCHITECTURE behave OF and2 ISBEGINY <= a and b;END behave;b.对源程序进行编译,按照提示进行修改,直至编译通过。
c.对编译程序进行仿真,分析并记录仿真波形,其仿真波形图如图(2)所示。
图(2)二输入与门仿真图d.在自己的目录下保存相应的源文件、波形文件。
2 四选一选择器(1)实验原理四选一选择器如图(3)所示,真值表如表(2)所示。
图(3)mux4管脚图表(2)mux4真值表(2)实验内容a.在mux+plusII文本编辑环境下,打开新文件,编辑四选一VHDL源程序文件,其程序设计如下:LIBRARY IEEEUSE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(A: IN STD_LOGIC_VECTOR (1 DOWNTO 0);D0,D1,D2,D3:IN STD_LOGIC;G:IN STD_LOGIC;Y: OUT STD_LOGIC);END mux4;ARCHITECTURE dataflow OF mux4 ISBEGINPROCESS (A,D0,D1,D2,D3,G)BEGINIF (G ='0') THENIF (A="00")THEN Y <= D0;ELSIF(A="01")THEN Y <= D1;ELSIF(A="10")THEN Y <= D2;ELSE Y <= D3;END IF;ELSE Y <='0';END IF;END PROCESS;END dataflow;b.对源程序进行编译,按照提示进行修改,直到编译通过。
vhdl课后习题答案VHDL课后习题答案在学习VHDL(VHSIC Hardware Description Language)这门课程时,课后习题是巩固知识、提高能力的重要方式。
通过认真完成课后习题并查看答案,我们可以更好地理解和掌握VHDL的相关知识,提高自己的编程能力。
下面我们将通过几个典型的VHDL课后习题答案来展示VHDL的魅力和应用。
1. 课后习题一题目:使用VHDL编写一个简单的门电路,包括AND门、OR门和NOT门,并进行仿真验证。
答案:首先,我们定义AND门、OR门和NOT门的输入输出信号。
然后,使用VHDL语言编写各个门电路的逻辑实现,并进行仿真验证。
最后,我们可以观察仿真波形图,验证门电路的功能是否符合预期。
2. 课后习题二题目:使用VHDL编写一个4位全加器,并进行综合、布线和时序分析。
答案:首先,我们定义全加器的输入输出信号。
然后,使用VHDL语言编写4位全加器的逻辑实现,并进行综合、布线和时序分析。
最后,我们可以观察综合和布线报告,分析全加器的资源利用情况和时序性能。
3. 课后习题三题目:使用VHDL编写一个有限状态机(FSM),实现一个简单的计数器,并进行状态转移图和状态转移表的分析。
答案:首先,我们定义有限状态机的状态和状态转移条件。
然后,使用VHDL 语言编写有限状态机的逻辑实现,并进行状态转移图和状态转移表的分析。
最后,我们可以观察状态转移图和状态转移表,验证有限状态机的状态转移是否符合预期。
通过以上几个VHDL课后习题答案的展示,我们可以看到VHDL在数字电路设计和硬件描述方面的强大应用。
通过学习VHDL并完成课后习题,我们可以提高自己的编程能力,掌握数字电路设计的基本原理和方法。
希望大家在学习VHDL的过程中能够认真完成课后习题,并不断提高自己的编程水平。
vhdl_参考答案_上机练习三:时序逻辑电路设计2VHDL与复杂数字系统设计上机实验3:时序逻辑电路的VHDL程序设计⼀、实验⽬的:1.掌握在Max+plus II开发平台上,使⽤硬件描述语⾔设计电路的基本操作步骤;2.运⽤所学VHDL的描述语句完成⼀种时序逻辑电路的设计。
⼆、要点:时序逻辑电路在电路结构上有两个显著特点:第⼀,时序电路通常包含组合电路和存储电路两个组成部分,⽽且存储电路是必不可少的。
第⼆,存储电路的输出状态必须反馈到组合电路的输⼊端,与输⼊信号⼀起,共同决定组合逻辑电路的输出。
时序电路的信号变化特点:时序电路以时钟信号为驱动;电路内部信号的变化(或输出信号的变化)只发⽣在特定的时钟边沿;其他时刻输⼊信号的变化对电路不产⽣影响;要点:执⾏条件的控制;时钟边沿的检测;1、执⾏条件的控制采⽤进程描述可以有效控制执⾏条件,若进程以时钟信号(clk)为唯⼀敏感信号,则只有当时钟信号变化时,进程才执⾏;在其他时刻,任何输⼊信号的变化对电路(进程)不起作⽤;模版1:process(clock) --敏感信号表中只有时钟beginif rising_edge(clock) then--监测时钟上升沿,若⽤falling_edge(clock) ……--则监测时钟下升沿。
end if;end process;例:时钟上升沿动作的D触发器library ieee;use ieee.std_logic_1164.all;entity dff1 isport(clk, d: in std_logic;q: out std_logic);end dff1;architecture rtl of dff1 isbeginprocess(clk)beginif (clk'event and clk='1') thenq<=d;end if;end process;end rtl;时序逻辑电路的初始状态应由复位(或清零)信号来设置,根据复位信号对时序逻辑电路复位操作的不同,可分为同步复位和异步复位。
填空题1、仿真一般通过VHDL仿真器和具体的CPLD/FPGA 芯片来完成。
2、在数字系统的设计过程中一般要进行三个层次仿真:行为级__________ RTL级仿真和门级仿真。
3、仿真输入信号的生成一般可以通过两种途径来完成:程序直接产生和读TEXTIO 测试文件。
4、读TEXTIO 文件的函数包括READLINE 和READ。
5、当采用3延时之后,仿真结果就会与仿真的执行顺序无关。
6、3延时即为仿真软件的最小分辨时间。
7、VHDL语言设计数字电路中的综合,一般是指将较高层次的描述转化较低层次___________ 的描述,将软件设计的VHDL语言描述转化为相应的硬件结构。
8、VHDL语言的综合通常可分为行为综合和逻辑综合。
9、逻辑综合过程是由逻辑综合工具即综合器来完成的,其主要包括以下3个步骤:转换、优化和门级映射。
10、设计优化约束主要包括面积约束和速度约束,设计规则约束主要包括扇入扇岀_________ 约束和传输延时约束。
11、最大扇出系数(max_fanout)规定了一个节点或端口的最大驱动能力。
12、在采用VHDL进行数字电路系统设计时,面积(Area)和速度(Speed)是两个非常重要的指标。
13、模块复用是面积优化的一种,其主要方法是利用速度的优势来换取面积的节约。
综述题1、描述数字系统三个层次仿真需要达到的目的。
答案:在数字系统的设计过程中一般要进行三个层次仿真:行为级仿真、RTL级仿真和门级仿真,各级所要达到的目的是不一样的。
•行为仿真是针对设计进行系统级的仿真,主要用于对系统设计可行性进行评估和验证,可以快速的对多种系统设计方案进行比较和论证,以此获得正确的最佳设• RTL级仿真主要针对各个模块进行功能验证。
•而门级仿真则用于保证设计的电路针对具体器件的电气性能如延时等是满足设计需求的。
2、为了进行正确的测试,在VHDL语言中对测试程序的书写也有一定的要求,通常来说测试平台程序应该包括哪些部分??2 ?答案:•被测设计实体的引入部分。
填空题1、而时序电路的输出不仅仅和电路当前输入相关,还和电路过去输入相关。
2、由于时序电路的输出和其过去的状态也相关,所以时序电路中必然有记忆元件,用于记忆和过去输入信号相关的信息。
3、时序电路可以分为同步时序电路和异步时序电路两大类。
4、任何时序逻辑电路都是以时钟为驱动信号的。
5、时序逻辑电路的时钟信号边沿分为上升沿和下降沿。
6、显式表示时钟敏感信号是指时钟信号显式地出现在进程语句PROCESS后面的敏感信号列表中。
7、在隐式表示时钟敏感信号的时候,使用WAIT语句来控制进程的执行。
8、时钟信号是一个系统稳定工作的关键,它是一个系统的最小的时间刻度。
9、根据复位信号对时序逻辑电路的复位方式的不同,可以分为同步复位方式和异步复位方式。
10、在VHDL程序中描述时序电路的同步复位时,会采用IF语句来描述复位条件。
11、构成时序逻辑电路的基本单元是触发器。
12、移位寄存器从数据输入方式上可以分为并行输入和串行输入两种。
综述题1、请简述同步时序电路和异步时序电路的区别。
答案:●同步时序电路:其所有电路都是用一个公共的时钟信号,电路中所有的记忆元件都受到这个时钟信号的同一控制,只有在该信号来到的时候记忆元件的状态才能发生变化,从而使时序电路的输入发生变化;而且每次时钟信号到来的时候,记忆元件的状态和电路的输出状态才会发生改变。
●异步时序电路:其电路中没有一个统一的时钟信号,各个记忆元件也不受到同一个时钟控制,电路状态的改变是因为输入信号引起的。
2、请简述时序逻辑电路在电路结构上的两个显著特点。
●时序逻辑电路通常包含组合电路和存储电路两个组成部分,而存储电路是必不可少的。
●时序逻辑电路的存储电路的输出状态必须反馈到电路的输入端,与输入信号一起共同决定电路的输出。
•2 •3、请画出时序逻辑电路中时钟上升沿和下降沿的波形并且写出其在VHDL语言中的描述方法。
答案:上升沿:VHDL语言描述时钟的上升沿clk=‘1’AND clk’LAST_VALUE=‘0’ AND clk’EVENT下降沿:VHDL语言描述时钟的下降沿clk=‘0’AND clk’LAST_VALUE=‘1’ AND clk’EVENTclk'EVENT4、在使用时钟作为敏感信号的时候,需要注意哪三点?答案:●无论是用PROCESS语句还是WAIT语句,在对时钟边沿说明时,一定要说明是上升沿还是下降沿(前沿还是后沿),仅仅说明边沿是不够的。
VHDL作业及答案1第4节PPT课件作业1.VHDL程序一般包含几个组成部分?各部分的作用是什么?实体,结构体,库,程序包,配置实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:存放已经编译的实体、构造体、程序包集合和配置。
程序包:存放各设计模块都能共享的数据类型、常数和子程序库;配置:实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?buffer类型与inout类型的端口有什么区别?Out, in, inout, bufferout (输出):只能被赋值,用于不能反馈的输出;in (输入):只能读,用于时钟输入、控制输入单向数据输入;inout(输入输出) :既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?Led3coder_ _1 end port std_machine2adder decoder*8and_2_ _decoder_1 and2 and_2and_ _2 and-24.指出下面的实体描述中存在的四处语法错误并改正LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21a ISPORT( a, b, s : IN BIT ;y : OUT BIT ;) ; (1.删除括号内的分号)END ENTITY mux; (2.改为mux21a)ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)Beginif s=‘0’then y<=a ;else y<=b ;end if ;end process (结束少了一个分号)END ARCHITECTURE none ; (none改为one)5.写出下图所示的设计实体mux41的实体声明。
第5章PPT课件作业1.VHDL程序一般包含几个组成部分?各部分的作用是什么?实体,结构体,库,程序包,配置实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
库:存放已经编译的实体、构造体、程序包集合和配置。
程序包:存放各设计模块都能共享的数据类型、常数和子程序库;配置:实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。
2.端口模式有哪几种?buffer类型与inout类型的端口有什么区别?Out, in, inout, bufferout (输出):只能被赋值,用于不能反馈的输出;in (输入):只能读,用于时钟输入、控制输入单向数据输入;inout(输入输出) :既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。
buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。
3.下列标识符中,哪些是非法的?Led3coder_ _1 end port std_machine2adder decoder*8and_2_ _decoder_1 and2 and_2and_ _2 and-24.指出下面的实体描述中存在的四处语法错误并改正LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21a ISPORT( a, b, s : IN BIT ;y : OUT BIT ;) ; (1.删除括号内的分号)END ENTITY mux; (2.改为mux21a)ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)Beginif s=‘0’then y<=a ;else y<=b ;end if ;end process (结束少了一个分号)END ARCHITECTURE none ; (none改为one)5.写出下图所示的设计实体mux41的实体声明。
第一章1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
1-2与软件描述语言相比,VHDL有什么特点? P6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么? P5什么是综合? 答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型? 答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
(3)从RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA 的配置网表文件,可称为版图综合或结构综合。
综合在电子设计自动化中的地位是什么? 答:是核心地位(见图1-3)。
第1章绪论1.1电子设计自动化1.2EDA技术,是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
1.31、用软件的方式设计硬件。
2、用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的。
3、设计过程中可用有关软件进行各种仿真。
4、系统可现场编程,在线升级。
5、整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
1.4可编程逻辑器件(Programmable Logic Device,PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。
FPGA和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。
1.51、自顶向下设计方法是一种模块化设计方法。
它对设计的描述从上到下,逐步由粗略到详细,符合常规的逻辑思维习惯。
由于高层设计与器件无关,设计易于在各种集成电路工艺或可编程器件之间移植。
2、适合多个设计者同时进行设计。
随着技术的不断进步,许多设计由一个设计者已无法完成,而必须经过多个设计者分工协作来完成。
在这种情况下,应用自顶向下的设计方法便于多个设计者同时进行设计,对设计任务进行合理分配,并用系统工程的方法对设计进行管理。
第2章可编程逻辑器件2.1按结构的复杂程度分类、按互连结构分类、按可编程特性分类、按可编程器件的编程元件分类2.2主动串行配置式、主动并行配置模式、外设配置模式、从动串行配置模式、菊花链配置模式2.31、编程单元。
查找表型FPGA的编程单元为SRAM结构,可以无限次编程,但它属于易失性元件,掉电后芯片内的信息会丢失;而CPLD则采用EEPROM编程单元,不仅可无限次编程,且掉电后片内的信息不会丢失。
04第四章VHDL语言的基本要素习题答案填空题1、 VHDL 语言的文字(Literal )主要包括数值型文字和标识符。
2、在VHDL 语言的以数字基数表示的文字中,十进制计数的1582的表示方法是10#158#2。
3、在数位字符串中,B 为二进制基数符号: O 为八进制基数符号: X 为十六进制基数符号。
4、下标用于指示数组型变量或信号的某一个元素。
5、 VHDL 语言的注释以二来表示。
6、VHDL 语言中主要有4类基本的数据对象:常量丄(VARIABLE )、信号(SIGNAL )和文件(FILES )。
7、在对信号进行赋初值时,使用:=表示没有延时,使用 <=表示有延时。
8、 VHDL 是一种强类型语言,要求每一个数据对象必须具有确定的唯一的数据类型,而且只有数据类型相同的量才能互相传递和作用。
9、VHDL 语言的数据类型按照数据来源来分,可以分为数据类型和用户自定义的数据类型。
10、位类型实际上是一个二值枚举型数据类型,只有两个可能的取值: 于表示逻辑0和逻辑1。
11、标准逻辑位类型是在IEEE 的STD_LOGIC_1164程序包中定义的。
12、布尔类型和位类型类似,实际上是一个二值枚举型数据类型,有两个可能的取值:TRUE (真)和 FALSE (假)。
13、VHDL 语言中主要有4类操作符:逻辑操作符( LOGICOPERATOR )、关系操作符(RELATION OPERATOR )、算术操作符(ARITHMETIC OPERATOR )和重载操作符(OVERLOADING OPERATOR )。
综述题1、VHDL 语言的数字型文字主要有哪几种表达方式,并且举例。
答案:整数型文字,如: 1,123,518E2 , 12_345_678。
实数型文字,如:12.3 , 6.5E-2 , 12_23.45_32。
以数字基数表示的文字,如:物理量文字,如:60s , 1km 。
2、VHDL 语言标识符有哪些书写规范?CONSTANT )、变量VHDL 语言预定义的标准0和1,用 10#158#2。
诚信应考,考试作弊将带来严重后果!华南理工大学期末考试《 数字系统设计 》试卷注意事项:1.考前请将密封线内各项信息填写清楚;2. 所有答案请直接答在试卷上(或答题纸上);3 •考试形式:开(闭)卷;4.本试卷共大题,满分100分,考试时间120分钟。
题号 -一一二——二. 三四五总分得分评卷人4. 基于EDA 软件的FPGA / CPLD 设计流程,以下流程中哪个是正确的:(C )A. 原理图/HDL 文本输入T 适配T 综合T 时序仿真T 编程下载T 功能仿真T 硬件测试B. 原理图/HDL 文本输入T 功能仿真T 综合T 时序仿真T 编程下载T 适配T 硬件测试;C. 原理图/HDL 文本输入T 功能仿真T 综合T 适配T 时序仿真T 编程下载T 硬件测试D. 原理图/HDL 文本输入T 适配T 时序仿真T 编程下载T 功能仿真T 综合T 硬件测试。
5. 关于综合,从输入设计文件到产生编程文件的顺序正确的是:(B )A .逻辑综合T 高层次综合T 物理综合; B. 高层次综合 f 逻辑综合T 物理综合;)封 题…答… 不… 内… 线… 封… 密…一 •选择题(每小题2分,共16分)1.大规模可编程器件主要有FPGA 、CPLD 两类,下列对CPLD 结构与工作原理 的描述中,正确的是(C )A. CPLD 即是现场可编程逻辑器件的英文简称;B. CPLD 是基于查找表结构的可编程逻辑器件;C. 早期的CPLD 是从GAL 的结构扩展而来;D. 在Altera 公司生产的器件中,FLEX10K 系列属CPLD 结构;2. 在VHDL 语言中,下列对时钟边沿检测描述中,错误的是 (D )A. if clk'eve nt and elk ='1' then ...;B. if falli ng_edge (clk ) the n ...;C. if clk'eve nt and elk ='0' the n ...;D. if clk'stable and n ot elk ='1' the n ...;3. 在VHDL 语言中,下列对进程(PROCESS )语句的语句结构及语法规则的描述中,正确 的是(A )A. PROCESS 为一无限循环语句;敏感信号发生更新时启动进程,执行完成后,等待下一 次进程启动;.B. 敏感信号参数表中,应列出进程中使用的所有输入信号;C. 进程由说明部分、结构体部分、和敏感信号参数表三部分组成;D. 当前进程中声明的信号也可用于其他进程C. 物理综合f逻辑综合f高层次综合;D. 高层次综合f 逻辑综合f 时序综合;6. 进程中的信号赋值语句,其信号更新是( C )A. 按顺序完成;B. 比变量更快完成;C. 在进程的挂起时完成;D. 都不对。