VHDL语言编程,求救,求救,求救。

要求编写的VHDL程序,设置检测的序列假设为11110100,用按键模块的S1来作为一个启动检测信号,每按下S1一次,检测器检测一次,如果K1~K8输入的序列与VHDL设... 要求编写的VHDL程序,设置检测的序列假设为11110100,用按键模块的S1来作为一个启动检测信号,每按下S1一次,检测器检测一次,如果K1~K8 输入的序列与VHDL设计时期望的序列的一致,则认为检测到一个正确的序列。如果检测到正确的序列,则LED1亮起,否则LED1熄灭,用数码管来显示错误码的个数。另外就是序列检测时钟信号的输入,本设计选择时钟模块的1KHz信号。

我只有怎么点财富值,要不然百分也行,真的,求救啊,想了几天都没戏。谢谢各位大哥了。谢谢谢谢
展开
 我来答
在上蓝天
2011-06-01 · TA获得超过454个赞
知道小有建树答主
回答量:74
采纳率:50%
帮助的人:69.1万
展开全部
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity cxjc is
port(cp,cx:in std_logic;
y:out std_logic);
end cxjc;
architecture rtl of cxjc is
type state is (s0,s1,s2,s3);
signal n:state;
begin
process(cp,cx)
begin
if cp'event and cp='1' then
case n is
when s0 => if cx='1' then
n<=s1; y<='0';
else n<=s0; y<='0'; end if;
when s1 => if cx='1' then
n<=s2; y<='0';
else n<=s0; y<='0'; end if;
when s2 => if cx='0' then
n<=s3; y<='0';
else n<=s0; y<='0'; end if;
when s3 => if cx='1' then
n<=s0; y<='1';
else n<=s0; y<='0'; end if;
when others=>null;
end case;
end if;
end process ;
end rtl;

这是以前用VHDL语言写的一个数字序列检测器,当检测到“1101”时,则y输出一个高电平。
根据你的情况,可以把四位检测位改到八位,道理一样。可以把输出Y接到LED1的正端。在仿真时,CLK设置为1KHZ就可以了。
其它功能嘛,谈谈我的想法。在process开始的地方,用一个IF语句加一个使能端S1;然后,至于数码管的驱动,我不知道你用的是共阴的、共阳的,还是BCD码,还有,你要用几位数显示错误码的个数,它们的驱动方式是不一样的。共阴的,高电平有效;共阳的,低电平有效;要是BCD码驱动的,就简单了,可以直接显示出你的二进制数。一位的简单,多位数的要用到扫描程序。
希望对你有用,祝你早日做成功。
追问
大哥,帮帮忙,改改写写,明早就急用了,我基本上什么都不会,看书也摸不着头脑,真的很急,谢谢了,数码管好像是共阳极的,用一位数来显示错误码的个数。真的很急很急很急,谢谢……
追答
既然是共阳数码管,那么就是输出低电平有效,你用一个IF语句,写一个错误个数的计数器,然后用一个case语句,写一个译码电路,就是把错误的个数信号变成驱动共阳数码管的信号,这个复杂一点,列在下面了。
PROCESS( A ) –-共阳数码管译码电路
BEGIN
CASE A IS
WHEN 0 => SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG NULL ;
END CASE ;
END PROCESS P3;
END one;

你把这些整合在一起,在Quartus上调试一下,要注意细节,祝你成功。
448111774
2011-05-28 · TA获得超过100个赞
知道答主
回答量:269
采纳率:0%
帮助的人:90.6万
展开全部
电驴上有VHDL的视频,你可以下下来参考下,好久没用过了,最基本的东西都不会了,《郭天祥CPLD 系统设计及VHDL 语言的视频教程》(CPLD/FPGA),好好学习吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斯里哇啦
2011-05-29 · TA获得超过210个赞
知道小有建树答主
回答量:342
采纳率:100%
帮助的人:307万
展开全部
需要使用状态机设计
参考下密码锁的设计就行
找本书 看看自己搞搞
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式