EDA技术试题库 下载本文

内容发布更新时间 : 2024/5/18 9:35:56星期一 下面是文章的全部内容请认真阅读。

ATEMP<=?0?& A; BTEMP<=?0?& B;

SUMTEMP<= (ATEMP+ BTEMP );

SUM<=SUMTEMP(9 DOWNTO 0); COUT<= ( SUMTEMP(10) ); END;

6.在下面横线上填上合适的语句,完成计数器的设计。

说明:设计一个带有异步复位和时钟使能的一位八进制加法计数器(带进位输出端)。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT8 IS

PORT (CLK,RST,EN : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR( 43 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT8;

ARCHITECTURE BEHAV OF CNT8 IS BEGIN

PROCESS(CLK, RST, EN)

( SIGANL ) CQI : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF RST = '1'

THEN CQI := “000”;

( IF ) CLK'EVENT AND CLK='1' THEN IF EN = '1' THEN

IF CQI < \ CQI :=( CQL+1 ) ; ELSE CQI := ( “000” ) ; END IF; END IF;

END IF; IF CQI = \

ELSE COUT <= '0'; END IF; CQ <= CQI; END PROCESS; END BEHAV; 7、程序注释

library ieee; 定义元件库 use ieee.std_logic_1164.all; ENTITY aa1 is 定义实体

port(a,b,s:in bit; a,b,s为输入端口,数据类型bit end aa1; 实体描述结束

architecture one of aa1 is 定义结构体 y<=a when s='0' else b; 当S=0时 y=a,否则等b end one; 结构体描述结束

逻辑功能: 2选1选择器

signal s1 : bit ; 定义信号s1 begin

process (clk,d) 进程语句 begin

if (clk = ?1?) 判断高电平 then

s1 <= d; d向信号赋值 end if;

q <= s1 ; 信号s1 向q赋值 end process; end bo;

逻辑功能: 锁存器描述 8.阅读以下程序,绘制模块图电路,并简述其功能 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY EXAM3 IS

PORT(rst,clk,plus_sub: IN STD_LOGIC;

dou: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;

ARCHITECTURE ART OF EXAM3 IS BEGIN

PROCESS(clk,rst,plus_sub) IS begin

IF rst=?1? THEN

dout<=(others=>?0?);

ELSIF (CLK?EVENT AND CLK=?1?) THEN If plus_sub=?1? then

If(dout=9) then dout<=”0000”; Else dout<=dout+1; End if;

Elsif plus_sub=?0? then

If (dout=0) then dout<=”1001”; Else dout<=dout-1; End if; End if; END IF;

END PROCESS; END;

答:带异步复位端子的十进制可逆计数器。

9、阅读以下程序,绘制模块图电路,并简述其功能 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ENCODER IS

PORT (A,B,C,D,E,F,G,H:IN STD_LOGIC: Y_0,Y_1,Y_2:OUT STD_LOGIC); END ENCODER;

ARCHITECTURE ART1 OF ENCODER IS

SIGNAL OUTS:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

OUTS (2 DOWNTO 0)<= \ \ \SE \

\ \ \ \ \;

Y_0<=OUTS(0); Y_1<=OUTS(1); Y_2<=OUTS(2); END ART1; 答:

8-3优先编码器(模块图略)。

10、阅读以下程序,画出对应的硬件电路图原理图,并描述其功能; LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY EXAMPLE IS

PORT(A,B,C: IN BOOLEAN;

OUTPUT: OUT BOOLEAN); END;

ARCHITECTURE ART OF EXAMPLE IS BEGIN

PROCESS(A,B,C) IS

VARIABLE N: BOOLEAN; BEGIN

IF A THEN N:=B; ELSE N:=C;

END IF;

OUTPUT<=N; END PROCESS;

END;

答:2-1数据选择器。

11、判断下面的程序中是否有错误,请直接给出改正后完整的程序。

Library ieee;

Use ieee.std_logic_1164.all; Entity mux21 is

Port( a , b: in std_logic: Sel: in std_logic; C: out std_logic; );

End sam2;

Architecture one of mux21 is Begin

If sel=?0? then c:=a; Else c:=b; End if; End two; 答:

Library ieee;

Use ieee.std_logic_1164.all; Entity mux21 is

Port( a , b: in std_logic: Sel: in std_logic;

C: out std_logic ;); End mux21;

Architecture one of mux21 is Begin

Process (a,b,sel) begin

If sel=?0? then c<=a; Else c<=b; End if;

End process; End one;

12、执行下列语句后,计算Q的值。 ……

SIGNAL E: STD_LOGIC_VECTOR (2 TO 5);

SIGNAL Q: STD_LOGIC_VECTOR (9 DOWNTO 2); ……

E<=(2=>?1?, 4=>?0?, OTHERS=>?1?);

Q<=(2=>E (2), 4=>E (3), 5=>?1?, 7=>E (5), OTHERS=>E (4)); ……

答: Q=“00101101”

13. VHDL文本编辑中编译时出现如下的报错信息

Error: VHDL syntax error: signal declaration must have ?;?,but found begin instead. 分析其错误的可能原因。 答: 信号声明缺少分号。

14. VHDL文本编辑中编译时出现如下的报错信息

Error: Can?t open VHDL “WORK” 分析其错误原因。 答:错将设计文件存入了根目录,并将其设定成工程。 15. VHDL文本编辑中编译时出现如下的报错信息

Error: Can?t open VHDL “WORK” 分析其错误原因。 答:错将设计文件的后缀写成.tdf,而非.vhd 。 16. VHDL文本编辑中编译时出现如下的报错信息

Error: VHDL Design File “mux21” must contain an entity of the same name 分析其错误原因。

答:设计文件的文件名与实体名不一致。

17. 在下面横线上填上合适的语句,完成一个逻辑电路的设计, 其布尔方程为 Y=(A+B)(C⊙D)+(B⊕F)。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY COMB IS

PORT(A, B,C,D,E,F,: IN STD_LOGIC; Y: OUT STD_LOGIC); END COMB;

ARCHITECTURE ONE OF COMB IS BEGIN

Y<=(A OR B) AND (C (NXOR D) OR (B ( XOR)F); End;

18. 在下面横线上填上合适的语句,完成 4 位异步计数器的设计。 说明:4 位异步计数器可以用D 触发器器组成。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS

PORT(D,CLK:IN STD_LOGIC; Q, QB: OUT STD_LOGIC); END DFF1;

ARCHITECTURE BEHAVE OF DFF1 IS BEGIN

PROCESS(CLK) BEGIN

IF CLK= '1' AND CLK'EVENT THEN Q <=D; QB<=NOT D; END IF;

END PROCESS; END BEHAVE; LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY RPLCONT IS

PORT( CLK : IN STD_LOGIC;