没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
设计实验与考核
1. 设计一个带计数使能、异步复位、异步装载、可逆计数的通用计数器。计数结果由七段数码管显示。
2. 设计一个具有 16 分频、 8 分频、 4 分频和 2 分频功能的分频器
3. 设计一个正负脉宽相等的通用分频器
4. 设计一个正负脉宽可控的 16 分频的分频器
5. 根据需要设计一个分频器:可以控制实现四种分频形式:第一种: 8 分频、第二种: 10 分频、第三种: 15 分
频、第四种: 16 分频,其中 8 分频和 16 分频为正负脉宽相等的分频器
6. 可变模计数器,控制信号 MA 和 MB 为 00、01、10、11 时计数器的模分别为 3、5、7、9。(计数结果由七段
数码管显示)
7. 设计一个带计数使能、异步复位、带进位输出的增 1 二十进制计数器,计数结果由七段数码管显示。
8. 设计一个序列发生器,序列为“ 1101101”
9. 设计一个彩灯控制器,彩灯共有 16 个,每次顺序点亮相邻的 3 个彩灯,如此循环执行,循环的方向可以控制
10. 设计一个具有左移、右移控制,同步并行装载和串行装载的 8 位串行移位寄存器,每次移位为 1 位
11. 设计一个 7 人表决电路,参加表决者为 7 人,同意为 1,不同意为 0,同意者过半则表决通过,绿指示灯亮,
表决不通过则红指示灯亮。数码管显示赞成人数。
12. 设计一个异步复位,同步并行装载的 8 位串行左移移位寄存器
13. 有 16 个开关,编号为 0 到 15,编号 0 的优先级最高。当某一个拨码开关为‘ 1’时由七段数码管显示其编号
(可用 16 进制数显示,亦可用十进制显示)
14. 根据真值表设计一位全加器,然后用结构的描述方法设计一个 6 位加法器。
15. 设计一个带计数使能、同步复位、同步装载的可逆七位二进制计数器,计数结果由七段数码管显示。
16. 血型配对指示器:供血血型和受血血型分别有 A 、B、AB 、O 四种。当供血血型和受血血型符合要求是, T
指示灯亮,否则 F 指示灯亮。
17. 设计 4 位二进制数到 BCD 码( 8421 码)的转换器。结果由数码管显示。
18. 设计一个跑马灯控制器。一共有 8 个彩灯,编号为 LED0~LED7 ,点亮方式为:先从左往右顺序点亮,然后从
右往左,每次点亮 1 个彩灯,如此循环往复。
19. 设计一个带计数使能、同步复位、带进位输出的增 1 六位二进制计数器,计数结果由七段数码管显示。
20. 有 5 路数据输入,每路数据为 2 位二进制数,根据不同的控制信号,输出相应的输入数据。同时由七段数码
管显示输出数据的路号。
21. 设计一个电磁炉控制器:火力控制有三档:煮汤、火锅、煎炒;每种操作都可以设定时间,当时间到自动停
火。
22. 设计三位 BCD 码( 8421 码)到十六进制数的转换器。结果由数码管显示。
23. 用结构的描述方法设计一个跑表, 计时范围为 59.99 秒,有计时开始和停止计时控制, 复位控制可以对所有计
时进行异步复位。计时结果由四位七段数码管显示。
24. 一个电子系统中需要三种时钟,分别是: 1600HZ 、800Hz、50Hz,系统输入时钟为 160KHz 。试用 VHDL 描
述该时钟发生器。其中 50Hz 时钟为正负脉宽相等的时钟信号,其他不限。
25. 某医院 1 到 8 号病房共 8 间,每室设有呼叫按钮,同时护士值班室内有一个七段数码管显示病房号;当多个
病房同时有按钮按下时,病房号小的先显示。
26. 亲自判定器:根据亲子血型关系规则,当输入的亲、子血型符合时,指示灯亮。
27. 模为的计数器,计数步长由控制信号 A 、 B、 C 进行控制: ABC=001 时,步长为 1,计数规律为:
0-1-2-3-4-5-6-7-8-9-0 顺序计数; ABC=010 时,步长为 3,计数规律为: 0-3-6-9-0 顺序计数; ABC=100 时,步
长为 1,计数规律为: 0-9-8-7-6-5-4-3-2-1-0 顺序计数;(计数结果由七段数码管显示)
28. 模为 16 的计数器,控制信号为 MA 和 MB 。MA 和 MB 为“ 00”时不计数,“01”时加法计数器, “10”时减
法计数器,“11”时预置数功能,加碱计数步长均为 1。(计数结果由数码管显示)
29. 8 位多功能寄存器:由选择信号和控制信号进行控制。当选择信号 S=‘0’时: C=‘0’为加计数器, C=‘1’
为减计数器;当选择信号 S=‘1’时,将计数值移位输出: C=1 时右移串行输出, C=0 时左移串行输出。 (发
光二极管显示)
30. 一个电子系统中需要三种时钟,分别是: 1000Hz 、500Hz、50Hz,系统输入时钟为 100KHz 。试用 VHDL 描
述该时钟发生器。
2
第一题
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY counter IS
GENERIC (count_value:INTEGER:=9);
PORT(clk,clr,en,load,dir:IN STD_LOGIC;
data_in:IN INTEGER RANGE 0 TO count_value;
ledout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END counter;
ARCHITECTURE a OF counter IS
SIGNAL cnt:INTEGER RANGE 0 TO count_value;
SIGNAL led:STD_LOGIC_VECTOR(6 DOWNTO 0);
BEGIN
PROCESS(load,clk)
BEGIN
IF load='1' THEN
cnt<=data_in;
elsif clr='1' THEN
cnt<=0;
ELSIF (clk'EVENT AND clk='1')THEN
IF en='1' THEN
IF dir='1' THEN
IF cnt=count_value THEN
cnt<=0;
ELSE
cnt<=cnt+1;
end if;
else
IF cnt=0 THEN
cnt<=count_value;
else
cnt<=cnt-1;
end if;
end if;
end if;
end if;
END PROCESS;
ledout<=NOT led;
WITH cnt SELECT
led<="1111001"WHEN 1,
"0100100"WHEN 2,
"0110000"WHEN 3,
"0011001"WHEN 4,
"0010010"WHEN 5,
"0000010"WHEN 6,
"1111000"WHEN 7,
"0000000"WHEN 8,
3
"0010000"WHEN 9,
"1000000"WHEN 0,
"1111111"WHEN others;
END a;
第二题分频器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY div4 IS
PORT(clk:IN STD_LOGIC;
din:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
fout:OUT std_LOGIC);
END div4;
ARCHITECTURE a OF div4 IS
begin
process(clk)
variable cnt:std_logic_vector(3 downto 0);
begin
if(clk'event and clk='1') then
if cnt="1111" then
cnt:="0000";
else
cnt:=cnt+'1';
end if;
if din="0000" then
fout<=cnt(3);
elsif din="1000" then
fout<=cnt(2);
elsif din="1100" then
fout<=cnt(1);
elsif din="1110" then
fout<=cnt(0);
else
fout<='1';
end if;
end if;
end process;
end a;
第三题
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY div IS
GENERIC (num:INTEGER:=2);
PORT
(clk:IN STD_LOGIC;
co:OUT STD_LOGIC);
END div;
ARCHITECTURE rtl OF div IS
4
BEGIN
PROCESS(clk)
VARIABLE cnt:STD_LOGIC_VECTOR(num downto 0);
BEGIN
IF(clk'event and clk='1')THEN
cnt:=cnt+'1';
END IF;
co<=cnt(num);
END PROCESS;
END rtl;
第四题
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY div IS
PORT(clk:IN STD_LOGIC;
din:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
COUNT:OUT STD_LOGIC);
END div;
ARCHITECTURE rtl OF div IS
SIGNAL co:STD_LOGIC;
BEGIN
count<=co;
PROCESS(clk)
VARIABLE cnt:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF(clk'event and clk='1')then
if(cnt="1111")then
cnt:="0000";
co<=not co;
elsif(cnt=din)then
co<=not co;
cnt:=cnt+'1';
else
cnt:=cnt+'1';
end if;
end if;
end process;
end rtl;
第五题
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity fenpin is
port(clk:in std_logic;
en:in std_logic_vector(1 downto 0);
cout:out std_logic;
ledout:out std_logic_vector(6 downto 0));
end fenpin;
5
architecture dgnfenpin of fenpin is
signal led:std_logic_vector(6 downto 0);
signal hex:std_logic_vector(3 downto 0);
begin
process(clk)
variable cnt:std_logic_vector(3 downto 0);
begin
if(clk'event AND clk='1')then
if(en="00")then
if(cnt>="1000")then
cnt:="0000";
else
cnt:=cnt+'1';
end if;
cout<=cnt(2);
elsif(en="01")then
if(cnt>="1010")then
cnt:="0000";
cout<='1';
else
cnt:=cnt+'1';
cout<='0';
end if;
elsif(en="10")then
if(cnt>="1110")then
cnt:="0000";cout<='1';
else
cnt:=cnt+'1';cout<='0';
end if;
else
if(cnt>="1111")then
cnt:="0000";
else
cnt:=cnt+'1';
end if;
cout<=cnt(3);
end if;
end if;
end process;
ledout<=not led;
with en select
led<="0000000"when"00",
"0001000"when"01",
"0001110"when"10",
"1000000"when"11",
"1111111"when others;
end dgnfenpin;
第六题
剩余34页未读,继续阅读
资源评论
fdd1314
- 粉丝: 0
- 资源: 11万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- apache-maven-3.6.1-bin.zip
- c593f5fc-d4a7-4b43-8ab2-51afc90f3f62
- IIR滤波器参数计算函数
- WPF树菜单拖拽功能,下级目录拖到上级目录,上级目录拖到下级目录.zip
- CDH6.3.2版本hive2.1.1修复HIVE-14706后的jar包
- 鸿蒙项目实战-天气项目(当前城市天气、温度、湿度,24h天气,未来七天天气预报,生活指数,城市选择等)
- Linux环境下oracle数据库服务器配置中文最新版本
- Linux操作系统中Oracle11g数据库安装步骤详细图解中文最新版本
- SMA中心接触件插合力量(插入力及分离力)仿真
- 变色龙记事本,有NPP功能,JSONview功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功