EDA中用VHDL语言设计五人抢答器

作者&投稿:周枫 (若有异议请与网页底部的电邮联系)
EDA中用VHDL语言设计五人抢答器~

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_ARITH.all;
use ieee.std_logic_UNSIGNED.all;
ENTITY BIAOJUE IS
PORT(
FF:IN STD_LOGIC_VECTOR(1 TO 5);


QQ:OUT BIT;

QALL:OUT STD_LOGIC_VECTOR(3 DOWNTO 1);

SHIJIAN:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);

FUWEI,KAISHI,CLK:IN STD_LOGIC);
END BIAOJUE;
ARCHITECTURE FUNG OF BIAOJUE IS
BEGIN

PROCESS(FF,CLK,KAISHI,FUWEI)

VARIABLE SUO:BOOLEAN;

VARIABLE SUM:STD_LOGIC_VECTOR(1 TO 3);

BEGIN

IF (FUWEI='0') THEN

QQ<='0';

SHIJIAN<="1010";

SUO:=FALSE;

SUM:="000";

QALL<="000";

ELSIF (CLK'EVENT AND CLK='1') THEN


IF (KAISHI='1') THEN


IF (NOT SUO) THEN



IF SHIJIAN="0000" THEN



SUO:=TRUE;



FOR N IN 1 TO 5 LOOP



SUM:=FF(N)+SUM;



END LOOP;



ELSE



SHIJIAN<=SHIJIAN-1;



END IF;


END IF;


QALL<=SUM;


IF (SUM >= 3) THEN



QQ<='1';


ELSE



QQ<='0';


END IF;


END IF;

END IF;
END PROCESS;
END FUNG;

五人抢答器:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY QDQ5 IS
PORT(CLK,CLR:IN STD_LOGIC; --时钟(1HZ)和复位(开始)信号--
A,B,C,D,E:IN STD_LOGIC; --抢答的五个人--
LB:OUT STD_LOGIC; --喇叭--
LCD,LCD1,LCD2,LCD3,LCD4,LCD5:OUT STD_LOGIC; --LCD灯--
SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --输出到数码管显示--
END;


ARCHITECTURE ONE OF QDQ5 IS
BEGIN
PROCESS(CLR,CLK,A,B,C,D,E)
VARIABLE CNT_LB:STD_LOGIC_VECTOR(1 DOWNTO 0);
VARIABLE CNT:STD_LOGIC_VECTOR(9 DOWNTO 0);
BEGIN
IF CLR='1' THEN
CNT:=(OTHERS=

五人抢答器:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY QDQ5 IS
PORT(CLK,CLR:IN STD_LOGIC; --时钟(1HZ)和复位(开始)信号--
A,B,C,D,E:IN STD_LOGIC; --抢答的五个人--
LB:OUT STD_LOGIC; --喇叭--
LCD,LCD1,LCD2,LCD3,LCD4,LCD5:OUT STD_LOGIC; --LCD灯--
SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --输出到数码管显示--
END;

ARCHITECTURE ONE OF QDQ5 IS
BEGIN
PROCESS(CLR,CLK,A,B,C,D,E)
VARIABLE CNT_LB:STD_LOGIC_VECTOR(1 DOWNTO 0);
VARIABLE CNT:STD_LOGIC_VECTOR(9 DOWNTO 0);
BEGIN
IF CLR='1' THEN
CNT:=(OTHERS=>'0');
ELSIF CLK'EVENT AND CLK='1' THEN
IF CNT<9 THEN CNT:=CNT+1;CNT_LB:=CNT_LB+1;
END IF;
END IF; --时钟升沿到达时加1--

IF CNT<9 THEN
IF A='1' THEN LCD1<='1';LCD2<='0';LCD3<='0';LCD4<='0';LCD5<='0';END IF;
IF B='1' THEN LCD1<='0';LCD2<='1';LCD3<='0';LCD4<='0';LCD5<='0';END IF;
IF C='1' THEN LCD1<='0';LCD2<='0';LCD3<='1';LCD4<='0';LCD5<='0';END IF;
IF D='1' THEN LCD1<='0';LCD2<='0';LCD3<='0';LCD4<='1';LCD5<='0';END IF;
IF E='1' THEN LCD1<='0';LCD2<='0';LCD3<='0';LCD4<='0';LCD5<='1';END IF;
ELSIF CNT=9 THEN
LCD<='1';
END IF; --抢答过程--

IF A='1' AND B='1' AND C='1' AND D='1' AND E='1' AND CNT=9 THEN
IF CLK'EVENT AND CLK='1' THEN
IF CNT_LB<"10" THEN LB<='1'; --喇叭响--
ELSE LB<='0';
END IF;
END IF;
END IF;

CASE CNT IS
WHEN "0000000000" => SG<="1111011";
WHEN "0000000001" => SG<="1111111";
WHEN "0000000010" => SG<="1110000";
WHEN "0000000011" => SG<="1011111";
WHEN "0000000100" => SG<="1011011";
WHEN "0000000101" => SG<="0110011";
WHEN "0000000110" => SG<="1111001";
WHEN "0000000111" => SG<="1101101";
WHEN "0000001000" => SG<="0110000";
WHEN "0000001001" => SG<="1111110";
WHEN OTHERS =>SG<="0000000";
END CASE; -- 显示--

END PROCESS ;
END;

这个程序是我自己写的,没有错误。你试试看有没有用!

三字经?没有吧?

2、每人一个发光二极管,抢中者灯亮


VHDL编程,出现Process Statement cannot contain both a sensitivity...
PROCESS(UA,DA,FF,SF,OA,CA) --提示的错误所在行 和 WAIT UNTIL STATE < "100";--wait until 和process的敏感表不能一起用。

用vhdl程序设计一个60进制(带进位输出)和12进制加法计数器(带进位输出...
这是60进制:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN)...

数字钟vhdl程序代码源
daout:out std_logic_vector(3 downto 0);---输出 sel:out std_logic_vector(2 downto 0));---位选信号end SELTIME;architecture fun of SELTIME is signal count:std_logic_vector(2 downto 0);---计数信号begin sel<=count; process(clk) begin if(clk'event and clk='1') then if(count>=...

关于VHDL元件例化语句port map语法报错的问题
十进制计数、器蜂鸣报警模块、译码器模块、数据选择模块、六进制计数器。。。我是想说,这些计数器和模块FPGA元件库中是没有的,这些计数器和模块你必须先设计,即设计文件或实体,再将这些预先设计好的设计实体定义为一个元件,然后才例化

XILINX FPGA VHDL V6-lx240tFF1759 工作时钟最高是多少?
在Virtex-6 FPGA Data Sheet:DC and Switching Characteristics 手册中有提到 DS152 (v3.5) May 17, 2013

工程监理(机电组弱电方面的)需要学习哪些专业知识
所以,最好是在开课之前或是开课的同时读一两本通俗浅显的综合介绍电子知识的书籍,对书中的知识你不...常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种...编程语言学习硬件描述语言VHDL或Verilog HDL。 仿真软件最基本的就是前面说的Multisim了,另外还可学...

用VHDL编写8点FFT,怎么写。。。
你是要练习编程 还是要做具体应用啊 MegaCore里面有FFT模块 非常完善了已经 如果要是做实际应用 尽量用那个 但是 如果练习编程 FFT就大了去了 大工程 嗯嗯 我们再研究 讨论

我学的是电子信息工程,但我不知道从哪方面发展.
仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波器、小电机、单片机仿真...常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种...编程语言学习硬件描述语言VHDL或Verilog HDL。 仿真软件最基本的就是前面说的Multisim了,另外还可学...

学电子信息有什么要求
6、开发工具应用能力:掌握仿真器(单片机,DSP,ARM等),下载器(CPLD\/FPGA),编程器的使用方法。7、PCB绘制能力:能够熟练使用PROTEL等软件绘制原理图和PCB。8、基本编程能力:能够编写简单的单片机汇编语言或C语言程序,或者在VB,VC下编写简单的小软件,或者编写简单的VHDL\/VerilogHDL 程序。9、专业...

用Modelsim仿真VHDL程序,提示错误如下,请大神帮忙看一下是怎么回事,在...
楼主用的tcl语句编译吗 还是工具栏选择complie 选中该.vhd文件?如果是前者,请用vcom编译.vhd;vlog 编译.v

密山市18081822108: 求quartus2 的 设计实例
荡妹依利:EDA中用VHDL语言设计五人抢答器 1.电路设置有5个抢答按钮A~E,开始抢答控制按钮Start,以及复位按钮RST 2.抢答前或复位时数码管显示为“0”,抢答完成后则显示抢答者的编号“1”~“5” library ieee; use ieee.std_logic_1164.all; use ...

密山市18081822108: 设计数字式竞赛抢答器,用VHDL语言描述,用QuartusII工具编译和综合 -
荡妹依利: 7位抢答器设计:LIBRARY IEEE;USE IEEE.Std_logic_1164.ALL;ENTITY Responder IS -- 实体声明 PORT(Start:IN Std_logic; -- 端口声明 Key:IN Std_logic_Vector(7 DOWNTO 1); Led:OUT Std_logic_Vector(7 DOWNTO 1));END Responder;...

密山市18081822108: 用vhdl编写5人电子抢答器 -
荡妹依利: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_ARITH.all; use ieee.std_logic_UNSIGNED.all; ENTITY BIAOJUE IS PORT( FF:IN STD_LOGIC_VECTOR(1 TO 5); QQ:OUT BIT; QALL:OUT STD_LOGIC_VECTOR(3 DOWNTO 1); ...

密山市18081822108: 请问哪位高手会verilog - HDL编程EDA设计:五人竞赛抢答器,急急急!!用max - plus2s!用module模块实现 -
荡妹依利: 设计参数: 五人参赛,每人一个按钮. 主持人一个按钮,按下开始,具有复位功能. 先抢中者对应的指示灯亮. 显示抢中者序号. 有人抢答时,蜂鸣2s.设计要求:用拨码开关设定主持人及参赛者按钮. 用红色信号指示灯组L1-L5表示对应参赛者指示灯. 用点阵显示抢中者序号.

密山市18081822108: 求EDA用VHDL语言的程序设计,急急急!给高分!(要求在Quartus Ⅱ中完成一个正弦信号发生器,详见提问)
荡妹依利: 在Quartus Ⅱ中完成一个正弦信号发生器的设计.系统可由五部分组成,如下图所示:嵌入式锁相环、分频器、带有清零、使能功能的数据计数器(地址发生器)、存储数据的ROM、D/A和滤波电路. 我是初学者,虽然还不会做这个东西.但是一定不能急,在网上搜也不可能直接得到答案.还是沉下来自己慢慢扣吧,没有量的积累是不会有质的飞跃的.我会分阶段进行:第一步:在百度文库中查各种计数器的资料; 第二步:分频器可用计数器和VHDL直接写出; 第三步:8为DA芯片非常好用,要敢于试验; 第四步:看书查资料直接找相关资料; 网络查资料非常方便,但是结果要靠你自己总结!

密山市18081822108: EDA程序,设计一个7人表决器,用VHDL语言编辑 -
荡妹依利: 上学的时候做过这个实验. 实体做七个二进制输入端. 一个二进制输出 触发条件就是七个输入端都'or'起来.^_^ 判断的时候计算他们当中为'1'的有几个.多于四,就输出'1'.少于四就输出'0'. 写出来很短.现在具体命令还有写法细节上记不清了,不敢乱写.呵呵.

密山市18081822108: 用VHDL语言实现四人智力竞赛抢答器的设计,高分寻高人解答 -
荡妹依利: 各模块VHDL源代码1、抢答鉴别模块FENG的VHDL源程序--feng.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY FENG IS PORT(CP,CLR:IN STD_LOGIC; Q :OUT STD_LOGIC); END FENG; ARCHITECTURE FENG_ARC OF ...

密山市18081822108: 求有关基于EDA的8位抢答器的毕业设计内容 -
荡妹依利: 设计中所用到的知识主要是:对可编程逻辑器件应用的认识、对MAX+PLUSⅡ软件的熟练操作、对VHDL(超高速集成电路硬件描述语言)的掌握和应用、对基本数字电路的分析以及对基本硬件电路的连接和检测,这些知识都是进行电子设计的...

密山市18081822108: 如何在基于VHDL设计的抢答器中加入语音功能,比如在强大倒数时能语音数秒,语音喊开始等功能 -
荡妹依利: 你的抢答器肯定是由许多的计时电路构成的,你可以加一个蜂鸣器,用一定频率的时钟来使蜂鸣器工作,一般都是用256HZ.先说读秒,把你的读秒时钟脉冲(CLK)和蜂鸣器的驱动时钟用一个与门接在一起再送给蜂鸣器,这样蜂鸣器就会在CLK高电平期间发声,低电平停止工作,实现了读秒.报警报错,可以再你的计数末尾输出一个高电平脉冲,作为错误或警报信号给蜂鸣器就可以了.

密山市18081822108: 一个VHDL语言程序的设计
荡妹依利: EDA课程设计五进制计数器的VHDL语言设计的源程序. •, 用EDA设计波浪形计数器——VHDL语言设计. •, 跪求一个利用VHDL语言设计一个4位向量乘法器的程序

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网