EDA与VHDL断改错题集

上传人:M****1 文档编号:508892901 上传时间:2023-09-01 格式:DOC 页数:24 大小:113.51KB
返回 下载 相关 举报
EDA与VHDL断改错题集_第1页
第1页 / 共24页
EDA与VHDL断改错题集_第2页
第2页 / 共24页
EDA与VHDL断改错题集_第3页
第3页 / 共24页
EDA与VHDL断改错题集_第4页
第4页 / 共24页
EDA与VHDL断改错题集_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《EDA与VHDL断改错题集》由会员分享,可在线阅读,更多相关《EDA与VHDL断改错题集(24页珍藏版)》请在金锄头文库上搜索。

1、一、 判断对错(并改正)1、CONSTANT T2:std_logic = 0; ( 错 ) 改正:把= 换为 := 。2、若某变量被定义为数值型变量,未赋初始值时默认值为0。( 错 ) 改正:把0的单引号去掉。3、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。( 错 ) 改正:“变量(VARIABLES)”改为“信号”。4、语句 type wr is (wr0,wr1,wr2,wr3,wr4,wr5); 定义了一个状态机变量wr,可以直接对wr赋值。 ( 错 ) 改正:语句 type wr is (wr0,wr1,wr2,wr3,wr4,wr5); 定义了一个状态机

2、类型wr,需要定义一个该类型的对象,才可以对该对象赋值。5、进程语句中,不管在何时,process语句后面必须列出敏感信号 ( )包含wait语句的进程语句可不列出敏感信号。6、VHDL语言与计算机C语言的没有差别。 ( )l 运行的基础 计算机语言是在CPURAM构建的平台上运行 VHDL设计的结果是由具体的逻辑、触发器组成的数字电路 l 执行方式 计算机语言基本上以串行的方式执行 VHDL在总体上是以并行方式工作l 验证方式 计算机语言主要关注于变量值的变化 VHDL要实现严格的时序逻辑关系7、在结构体中定义一个全局变量(VARIABLES),可以在所有进程中使用。 ( ) “变量(VAR

3、IABLES)”改为“信号”。8、Moore状态机输出只是状态机当前状态的函数,Mealy状态机输出为有限状态机当前值和输入值的函数 ( ) 9、传统的系统硬件设计方法是采用自上而下(top down)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自下而上(bottom up)的设计方法。 ( )传统的系统硬件设计方法是采用自下而上(bottom up)的设计方法,利用硬件描述语言(HDL)的硬件电路设计方法采用自上而下(top down)的设计方法10、VHDL可以采用层次化的设计,一个高层的结构体中可以调用低层的实体 ( )11、一个VHAL程序中仅能使用一个进程(proce

4、ss)语句。 ( ) 可以使用多个进程语句。12、VHDL语言的预算操作包括了逻辑运算符、关系运算符、乘法运算符等,它们三者的优先级是相同的。 ( ) 逻辑运算符关系运算符qqqq=d;l END CASE;l 答案:CASE语句缺“WHEN OTHERS”语句。2.已知data_in1, data_in2为STD_LOGIC_VECTOR(15 DOWNTO 0) 类型的输入端口,data_out为STD_LOGIC_VECTOR(15 DOWNTO 0)类型的输出端口,add_sub为STD_LOGIC类型的输入端口,请判断下面给出的程序片段:l LIBRARY IEEE;l USE IE

5、EE.STD_LOGIC_1164.ALL;l ENTITY add ISl PORT(data_in1, data_in2:IN INTEGER;l data_out:OUT INTEGER);l END add; l ARCHTECTURE add_arch OF add ISl CONSTANT a:INTEGER=2;l BEGINl data_out=( data_in1+ data_in2) * a;l END addsub_arch;答案:常量声明时赋初值的“=”符号应改用“:=”符号。3.已知Q为STD_LOGIC类型的输出端口,请判断下面的程序片段:l ARCHITECTUR

6、E test_arch OF test ISl BEGINl SIGNAL B:STD_LOGIC;l QQQ Q Q = 0 ; END CASE ; END test ; 【参考答案】: CASE语句应该存在于进程PROCESS内。2 已知start为STD_LOGIC类型的信号,sum是INTEGER类型的信号,请判断下面的程序片断: PROCESS (start) BEGIN FOR i IN 1 TO 9 LOOP sum := sum + i ; END LOOP ; END PROCESS ; 【参考答案】: sum是信号,其赋值符号应该由“:=”改为“=”。3 已知Q为STD_

7、LOGIC类型的输出端口,请判断下面的程序片断: ARCHITECTURE test OF test IS BEGIN SIGNAL B :STD_LOGIC ; Q = B ; END test ; 【参考答案】: 信号SIGNAL的申明语句应该放在BEGIN语句之前。4 已知A和B均为STD_LOGIC类型的信号,请判断下面的语句: A = 0 ; B = x ; 【参考答案】: 不定态符号应该由小写的x改为大写的X。5 已知A为INTEGER类型的信号,B为STD_LOGIC类型的信号,请判断下面的程序片断: ARCHITECTURE test OF test IS BEGIN B q

8、q q q = d ; END CASE ; 【参考答案】: CASE语句缺“WHEN OTHERS”语句。 四、判断下面程序中是否有错误,若有错误请改正;1、SIGNAL A,EN:STD_LOGIC;PROCESS(A,EN)VARIABLE B:STD_LOGIC;BEGIN IF EN=1 THEN B=A;END ;END PROCESS;2、 RCHITECTURE ONE OF SAMPLE ISVARIABLE A,B,C:INTEGER;BEGIN C=A+B;END ;五、判断下列程序是否有错误,如有则指出错误所在(10分)程序:LIBRARY IEEE;USE IEEE.

9、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY zyt12 IS PORT(R,EN,CP: IN bit; Q: BUFFER STD_LOGIC_VECTOR(0 DOWNTO 3); CO: OUT STD_LOGIC);END zyt;ARCHITECTURE c10 OF zyt12 BEGIN CO=1 WHEN(EN=1 AND Q=1011) ELSE; 0; PROCESS(R,CP) BEGIN IF R=1 THEN Q=0000; ELSIF (

10、CPEVENT AND CP=1) THEN IF EN=0 THEN Q=Q; ELSIF Q=1011 THEN Q=0000; ELSE Q:=Q+1; END IF; END PROCESS; END one;六、VHDL程序改错:(10分)01 LIBRARY IEEE ;02 USE IEEE.STD_LOGIC_1164.ALL ;03 USE IEEE.STD_LOGIC_UNSIGNED.ALL;04 ENTITY LED7CNT IS05 PORT ( CLR : INSTD_LOGIC;06 CLK : IN STD_LOGIC;07 LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ;08 END LED7CNT; 09 ARCHITECTURE one OF LED7CNT IS10 SIGNAL TMP : STD_LOGIC_VECTOR(3 DOWNTO 0);11 BEGIN 12 CNTROCESS(CLR,CLK)13 BEGIN 14 IF CLR = 1 THEN

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号