云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > EDA程序设计试题及答案

EDA程序设计试题及答案

  • 62 次阅读
  • 3 次下载
  • 2026/4/30 3:53:16

PORT( en, select : IN STD_LOGIC ;

A, B : IN STD_LOGIC_VECTOR(6 DOWNTO 0 ) ; Y : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)

END aaa ; (4?) ARCHITECTURE ar OF aaa IS BEGIN

PROCESS(en, select ) BEGIN

IF en=?0? THEN Y<=”ZZZZZZZ”; ELSIF en=?1? THEN

IF select=?0? THEN Y<=A; ELSIF select=?1? THEN Y<=B; END IF; END IF ; END PROCESS ;

END ar ; (5?)

2. 试用VHDL语言编程实现一个M10计数器,要求该计数器有一个时钟输入端clk,一个复位端rst(低电平复位),一个使能端en(高电平时允许计数),一个“计数到”输出端cout,一个4位二进制当前计数值输出口q;cout端仅当计数满的一个时钟周期输出高电平,其余时刻全保持低电平。 2. M10计数器参考程序:

LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_arith.all;

USE ieee.std_logic_unsigned.all; (1?) ENTITY aaa IS

PORT(clk, rst, en : IN STD_LOGIC; cout: OUT STD_LOGIC;

q: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)

);

END aaa; (4?) ARCHITECTURE bd OF aaa IS BEGIN

PROCESS(clk,reset,en)

BEGIN IF (rst='0') THEN q<=\

ELSIF (clk'event AND clk='1') THEN IF en=?1? THEN

IF (q=9) THEN q<=\ ELSE q<=q+1; END IF; END IF; END IF; END PROCESS;

END bd; (10?)

3.请用VHDL语言编程,用一个状态机模型实现一个七段码LED字符发生器。该电路有一个复位输入端RST,一个时钟输入端CP,一组七段码输出端a~g。在LED上七个段的排列位置如图所示。该电路的功能为,当复位输入端RST为低电平时,输出端口输出全零,无显示;当RST为高电平时,在时钟信号CP的每个上升沿,输出端依次轮流输出5个字符“HAPPY”的七段码(共阴极接法),周而复始。

3. 用VHDL语言编程实现一个LED字符发生器参考程序:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY genc IS PORT( rst, cp : IN STD_LOGIC; a,b,c,d,e,f,g: OUT STD_LOGIC ); END genc;

ARCHITECTURE aa OF genc IS TYPE state IS(s0,s1, s2, s3, s4, s5 ); SIGNAL pstate: state;

SIGNAL dout: STD_LOGIC_VECTOR(6 DOWNTO 0 ); BEGIN

pr1: PROCESS(cp, rst,) BEGIN

IF rst='0' THEN pstate <=s0;

ELSIF (cp'event AND cp='0' ) THEN CASE pstate IS WHEN s0=> pstate <=s1;

WHEN s1=> pstate <=s2;

WHEN s2=> pstate <=s3; WHEN s3=> pstate <=s4; WHEN s4=> pstate <=s5; WHEN s5=> pstate <=s1;

WHEN OTHERS=> pstate <=s0;

END CASE; END IF; END PROCESS; pr2: PROCESS(pstate)

(1?) (1?) 2?) 5?) (( BEGIN

CASE state IS

WHEN s0 => dout<=\ --无显示 WHEN s1 => dout<=\ --“H”

WHEN s2 => dout<=\ --“A” WHEN s3 => dout<=\ --“P” WHEN s4 => dout<=\ --“P” WHEN s5 => dout<=\ --“Y”

WHEN OTHERS=> dout<=\无显示 END CASE;

END PROCESS; (5?)

a<=dout(6); b<=dout(5); c<=dout(4); d<=dout(3); e<=dout(2); f<=dout(1); g<=dout(0); END aa; (1?)

2.试用VHDL语言和进程语句,编程实现一个3-8译码器。 该译码器的功能为,当使能信号EN为低电平时,输出端Y7~Y0全为高电平(没有输出端被选中);当EN为高电平时,每一种ABC的输入状态组合能惟一地选中一路输出(被选中的端输出低电平)。

真值表如下: 输 入 输 出 A B C EN Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 × × × 0 1 1 1 1 1 1 1 1 LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY ym38 IS PORT( a, b, c, en : IN std_logic; y : OUT std_logic_vector(7 DOWNTO 0 ); ); END ym38; ARCHITECTURE arc38 OF ls273 IS BEGIN PROCESS ( en ) SIGNAL din : std_logic_vector(7 DOWNTO 0 ); BEGIN din<=a&b&c&en; WITH din SELECT y<= ”11111110” WHEN “0001”;

2?

1?

3?

1? 1? 1? 1?

END END arc38;

”11111101” ”11111011” ”11110111” ”11101111” ”11011111” ”10111111” ”01111111” ”11111111” PROCESS;

WHEN WHEN WHEN WHEN WHEN WHEN WHEN WHEN “0011”; “0101”; “0111”; “1001”; “1011”; “1101”; “1111”; OTHERS;

5?

1. 试用VHDL语言编程实现一个多路开关。

该电路的功能为,当选择端S0和S1为不同状态组合时,如果使能信号EN为电平,输出端X和Y分别与不同的输入通道A0B0、A1B1、A2B2和A3B3接通并保持,当EN为低电平时,X、Y输出为高阻态。真值表如下:

输 入 S1 S0 EN A0 B0 A1 B1 0 0 1 × × × × 0 1 1 × × × × 1 0 1 × × × × 1 1 1 × × × × × × 0 × × × × 1. 多路开关的参考程序如下: A2 × × × × × B2 × × × × × A3 × × × × × B3 × × × × × 输 出 X Y A0 B0 A1 B1 A2 B2 A3 B3 Z Z LIBRARY ieee;

USE ieee.std_logic_1164.ALL; ENTITY mulkey IS PORT( s0,s1,en, a0,b0,a1,b1,a2,b2,a3,b3 : IN std_logic; x, y : OUT std_logic_vector(7 DOWNTO 0 ); ); END mulkey; ARCHITECTURE armk OF mulkey IS

SIGNAL sel : std_logic_vecter (1 DOWNTO 0 )

BEGIN

sel<=s1&s0;

PROCESS (en ) BEGIN IF (en=?0?) THEN x<=?Z?; y<=?Z?; ELSEIF (sel=”00”) THEN x<=a0 ; y<=b0; ELSEIF (sel=”01”) THEN x<=a1 ; y<=b1; ELSEIF (sel=”10”) THEN x<=a2; y<=b2;

ELSEIF (sel=”11”) THEN x<=a3 ; y<=b3; END IF;

END PROCESS;

END

armk;

3?

2? ?

搜索更多关于: EDA程序设计试题及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

PORT( en, select : IN STD_LOGIC ; A, B : IN STD_LOGIC_VECTOR(6 DOWNTO 0 ) ; Y : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) END aaa ; (4?) ARCHITECTURE ar OF aaa IS BEGIN PROCESS(en, select ) BEGIN IF en=?0? THEN Y<=”ZZZZZZZ”; ELSIF en=?1? THEN

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com