文武铭 2012029110030
1、cpld和fpga有什么差异?在实际应用中各有什么特点?
1)cpld:复杂可编程逻辑器件,fpga:现场可变成门阵列;
2)cpld:基于乘积项技术的确定型结构,fpga:基于查找表技术的统计型结构;
3)cpld:5500 ~ 50000 门,fpga:1k ~ 10m 门 。
实际应用中各自的特点:cpld适用于逻辑密集型中小规模电路,编程数据不丢失,延迟固定,时序稳定; fpg 适用于数据密集型大规模电路,需用专用的 rom 进行数据配置,布线灵活,但时序特性不稳定。
2、vhdl中最基本的结构是什么?其作用各是什么?
实体、结构体。
作用:实体描述电路器件的外部情况几信号端口的基本性质;
结构体描述电路器件的内部逻辑功能或电路结构。
3、说明inout、out 和 buffer有何异同点。
out:输出,单向赋值模式,将信号通过该端口输出。
buffer:具有读功能的输出模式,可以读或写,但只有一个驱动源。
inout:双向,可以通过该端口进行读写信息。
4、vhdl中有哪 3种数据对象?详细说明它们的功能特点以及使用方法。
3种数据对象为:常量、信号、变量。
各自的功能特点和使用场所:
常量:代表电路中一个确定的数,如电源、地等。全局量,信号变量使用的地方都可用
信号:代表电路中的某一条硬件连接线,包括输入、输出端口,信号赋值存在延迟。 全局量,使用场所:architecture、 package、entitiy。
变量:代表电路中暂存某些值的载体。变量赋值不存在延迟。 局部量,使用场所:process、function、procedure。
5、简述基于pld的eda技术设计流程,并阐述综合、**的含义及类型
设计思路:基于pld的eda设计依据自上而下的思路进行设计。
设计流程:1. 设计输入(原理图/hdl文本编辑);
利用eda工具的文本编译器或图形编译器将所表达的思想表达出来,然后产生源程序。
2. 综合;
综合过程是将描述电路的高级语言向器件认可、识别的低级语言转换。将软件描述与给定的硬件结构用一定的方式联系起来。
综合的意义:
综合在设计中具有核心地位。综合器具有更复杂的工作环境,综合器在接受vhdl程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库信息,以及获得优化综合的诸多约束条件信息;根据工艺库和约束条件信息,将vhdl程序转化成电路实现的相关信息。
综合的分类:
1)从自然语言转换到vhdl语言算法表示,即自然语言综合。
2)从算法表示转换到寄存器传输级(registertransport level,rtl),即从行为域到结构域的综合,即行为综合。
3)从rtl级表示转换到逻辑门(包括触发器)的表示,即逻辑综合。
4)从逻辑门表示转换到版图表示(asic设计),或转换到fpga的配置网表文件,可称为版图综合或结构综合。
3. 适配;
将由综合器产生的网表文件针对某一具体的目标器进行逻辑映射操作,其中包括了底层器件配置,逻辑分割,逻辑优化,布线操作等,配置于指定的目标器件中,产生最终的**文件。
4. 时序**与功能**;
**分为行为**、功能**和时序**。其主要目的是为了通过软件来对所设计的实体进行测验,以达到优化的目的。
行为**:将vhdl的源程序直接送到vhdl**器中进行**。
功能**:直接对hdl、原理图等设计源进行模拟测试,了解设计功能是否满足设计要求,不涉及具体器件的硬件特性。
时序**:器件适配之后的**,**文件包含了器件硬件特性参数,其**精度高。
5. 编程**;
编程软件将jed文件通过**线**到芯片中去,软件表达的功能变成了硬件实现的功能。
6. 硬件测试。
对**文件**到fpga后,对系统设计进行功能检测的过程。
6、表达式 c <=a + b 中,a、b和c的数据类型都是 std_logic_vector,是否能直接进行加法运算?说明原因和解决方法。
不能直接进行相加后赋值,因为赋值的原则:相同位宽,相同数据类型,即使a、b、c的数据类型都相同,也不一定能够保证a、b、c的位宽相同。
解决办法:将a、b、c的位宽拓展为相同的位宽,在拓展部分给0。然后在进行加减就可以了。
7、修改下面模16计数器程序出错的地方。
错误原因:的端口模式是out,只具有单向赋值模式,不具。
备双向读写功能,因此count<=count+1是错误的,需。
要重新定义一个signal。
进程中的敏感信号不知有clk,还有rest。
8、试计算下列程序的c输出结果,设a= “0011”、b= “1001”:
entity test is
port(a:in std_logic_vector(3 downto 0);
b:in std_logic_vector(3 downto 0);
c:out std_logic_vector(7 downto 0));
end test;
architecture a of test is
beginc(1 downto 0)
c(3 downto 2) <1’ &1’ xor not a(3); c(7 downto 4) <1010” when (a=b) else “0100”; end a; 结果是:01or00=01 1&1xor1=10 c=“01001001” 9、设计一个***序列发生器,如下图所示。图中clk为时钟输入(上升沿有效),输出为q。该序列发生器在时钟clk控制下,q按照***的顺序循环地输出。 library ieee; use entity xlgen is port( clk : in std_logic; res : in std_logic; q : out std_logic end xlgen; architecture rtl of xlgen is signal temp : std_logic_vector (7 downto 0) ; begin process ( res, clk) begin if ( res= '1') then temp <=01010111"; elsif ( clk'event and clk= '1') then temp <=temp( 6 downto 0) &temp(7); end if; q <=temp(0); end process; end rtl; 10、用vhdl设计一个电路,在实验箱的数码管上显示国际救难信号sos。 library ieee; use entity sos is port(clk:in std_logic; sel:out std_logic_vector(2 downto 0); q: out std_logic_vector(7 downto 0)); end entity sos; architecture art of sos is signal num:integer range 0 to 4; beginprocess(clk)is beginif clk'event and clk='1'then if num=2 then num<=0; else num<=num+1;end if; end if; end process; process(clk,num) beginif clk'event and clk='1'then if num=0 then sel<="000";q<="01100111"; 电子电路基础 eda作业。multisim的应用之晶体管放大器的设计与调测。本实验的主要目的是熟悉multisim软件的使用,包括电路图编辑,虚拟仪器仪表的使用和掌握常见电路分析方法。能够运用multisim软件对模拟电路进行设计和性能分析,掌握eda设计的基本方法和步骤。熟练掌握有关单级放大电路有... 山东交通学院。eda电路 设计软件。设计报告。班级电气111 姓名罗汉林。学号 110812135 专业电气工程及其自动化 学院信电学院。简易频率计数器的设计。设计说明。频率的测量实际上就是在1个单位时间内 通常1s 对信号脉冲进行计数,计数值就是信号频率。1.设计目标。用at89s51设计一个数显... 控制灯亮灭的一个eda程序 library ieee use use 以上三条语句引入可用的函数库。entity light is 定义实体,名为light port clk1 in std logic 程序仅有时钟信号这一个输入。light buffer std logic vector 7 do...EDA作业
EDA作业
EDA作业