eda技术。
期末大作业设计报告。
专业: 测控10
学生姓名: 张晓敏。
学号: 2010043113
完成 2024年 6月 15 日。
目录。一概述1
二方案设计与论证1
三单元电路设计2
3.1. 抢答鉴别模块的设计2
3.2 计时模块的设计3
3.3 数据选择模块的设计6
3.4 报警模块的设计7
3.5 译码器模块的设计8
3.6 主电路连线图10
3.7 芯片引脚图11
四器件编程与**11
五性能测试与分析11
六实验设备11
七心得体会12
八参考文献12
一、概述 二、方案设计与论证。
1、 抢答锁存模块;
在这个模块中主要实现抢答过程中的抢答功能,当抢答开始后,当有一路抢答按键首先按下时,将其余个路抢答封锁的功能。其中有四个抢答信号s[3..0];时钟信号clk;复位rst;警报信号t;输出信号xuanshou。
2、 抢答器计时模块:
在这个模块中主要实现抢答过程中的计时功能,在有抢答开始后进行20秒的倒计时,并且在20秒倒计时后无人抢答显示超时并报警。其中有抢答时钟信号clk;系统复位信号rst;抢答使能信号stop;无人抢答警报信号warn;有人抢答计时中止信号s;计时十位和个位信号sw,gw。
3、 数据选择模块:
在这个模块中主要实现抢答过程中的数据输入功能,输入信号a[3..0]、b[3..0]、c[3..
0];计数输出信号s[1..0];数据输出信号y;计数脉冲clk,实现a、b、c按脉冲轮流选通,在数码管上显示。
4、 报警模块:
在这个模块中主要实现抢答过程中的报警功能,当主持人按下控制键,有限时间内无人人抢答或是计数到时蜂鸣器开始报警,有效电平输入信号i;状态输出信号q;计数脉冲clk。
5、 译码模块:在这个模块中主要实现抢答过程中将bcd码转换成7段的功能。
三、单元电路设计。
一)抢答锁存模块。
1、vhdl源程序。
library ieee;
use entity jbsc is
port( clk,rst: in std_logic;
s: in std_logic_vector(3 downto 0);
t: out std_logic;
n: buffer std_logic;
xuanshou: out std_logic_vector(3 downto 0) )
end jbsc;
architecture one of jbsc is
signal so: std_logic_vector(3 downto 0);
beginprocess(clk,s,so)
beginif rst='0' then
so<="0000";
elsif clk'event and clk='1' then
if so="0000" then
if s/="0000" then
so<=s;
end if;
end if;
end if;
t<=so(0)or so(1) or so(2) or so(3);
n<=s(0)or s(1) or s(2) or s(3);
case so is
when "0001"=>xuanshou<="0001";
when "0010"=>xuanshou<="0010";
when "0100"=>xuanshou<="0011";
when "1000"=>xuanshou<="0100";
when others=>xuanshou<="0000";
end case;
end process;
end one;
2、**图。
二)计时模块。
1、vhdl源程序。
library ieee;
use use
entity js is
port(clk,rst,stop,s:in std_logic;
warn:buffer std_logic;
sw,gw:buffer std_logic_vector(3 downto 0));
end js;
architecture one of js is
signal co,tt:std_logic;
beginp1:process(co,rst,stop,sw,s)
beginif stop='1' or rst='0' then
sw<="0010";
elsif co'event and co='1' then
if s='0' then
if sw="0000" then sw<="0000";
else sw<=sw-1;
end if;
end if;
end if;
end process p1;
p2:process(clk,rst,stop,co,gw,sw,s)
beginif stop='1' or rst='0' then
gw<="0000";
tt<='0';
elsif clk'event and clk='1' then
if s='0' then
co<='0';
if gw="0000"and sw="0000" then
gw<="0000";
elsif gw="0000"and not(sw="0000") then
gw<="1001";co<='1';tt<='1';
else gw<=gw-1;
end if;
end if;
end if;
end process p2;
p3:process(rst,gw,sw)
beginif rst='0' then
warn<='0';
elsif gw="0000" and sw="0000" and tt='1' then
warn<='1';
elsewarn<='0';
end if;
end process p3;
end one;
2、**图。
三)数据选择模块。
1、vhdl源程序。
library ieee;
use use
entity shujufenpei is
port(x,swei,gwei:in std_logic_vector(3 downto 0);
clk:in std_logic;
y: out std_logic_vector(3 downto 0);
shu: out std_logic_vector(1 downto 0));
end shujufenpei;
architecture one of shujufenpei is
signal count : std_logic_vector(1 downto 0);
beginprocess(clk)
beginif(clk'event and clk='1')then
if (count="10") then count<="00";
else count<=count+1;
end if;
end if;
shu<=count;
case count is
when "00"=>y<=x;
when "01"=>y<=gwei;
when "10"=>y<=swei;
when others=>null;
end case;
end process;
end one;
2、**图。
四)报警模块。
1、vhdl源程序。
library ieee;
use use
entity alarm is
port(clk,i:in std_logic;
q:out std_logic);
end alarm;
architecture beh**e of alarm is
signal warn:std_logic;
EDA实验
实验四 简易彩灯控制器。1.实验目的。1 学会用状态机结构设计循环彩灯控制器。2 进一步掌握状态机的vhdl描述方法。2.实验原理。设有红 绿 黄三只发光二极管,工作时要求红发光管亮2秒。绿发光管亮3s,黄发光管亮1s,三只发光管同时点亮 另设一个控制端,能使三个发光管均不亮。试设计一个控制器完成该...
EDA实验
贵州大学 2011 2012 学年第二学期考试试卷。eda电子设计自动化 学院 机械工程学院 专业 机械设计制造及其自动化 班级 机自 094 学号 0908030332 学生姓名 赵正杨。2012年06月15日。eda电子设计自动化 试题。1 一个电动机过载保护原理电路如图1所示,该电路将采集来的...
EDA实验
实验四阶梯波发生器设计。一 实验要求。1 设计一个能产生周期性阶梯波的电路,要求生成的阶梯波周期14ms,输出电压范围 9v,0v 阶梯个数6个。2 对电路进行分段测试和调节,直至输出合适的阶梯波。3 改变电路元器件参数,观察输出波形的变化,确定影响阶梯波电压范围和周期的元器件。二 实验原理。为了设...