利用状态机的VHDL描述方法设计一个序列检测器,要求8个数中,有3个或3个以上的1时输出为1,否则为0。急啊

如题所述

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xulie is
port(clk,reset:in std_logic;
data:in std_logic;
result:out std_logic);
end entity;
architecture art of xulie is
tyqe states is(s0,s1,s2);
signal state:states;
process(clk,reset,data)
variable cnt,count:integer range 0 to 8;
begin
if reset='1' then
state<=s0;result<='0';
elsif clk'event and clk='1' then
case state is
when s0=>cnt:=0;count:=0;state<=s1;
when s1=>if count=8 then
state<=s2;
else count:=count+1;
state<=s1;
if data='1' then
cnt:=cnt+1;
end if;
end if;
when s2=>if cnt>=3 then
result<='1';
else result<='0';
end if;
state<=s0;
when others=>state<=s0;
end case;
end if;
end process;
end art;
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-16
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xulie is
port(clk,reset:in std_logic;
data:in std_logic;
result:out std_logic);
end entity;
architecture art of xulie is
tyqe states is(s0,s1,s2);
signal state:states;
process(clk,reset,data)
variable cnt,count:integer range 0 to 8;
begin
if reset='1' then
state<=s0;result<='0';
elsif clk'event and clk='1' then
case state is
when s0=>cnt:=0;count:=0;state<=s1;
when s1=>if count=8 then
state<=s2;
else count:=count+1;
state<=s1;
if data='1' then
cnt:=cnt+1;
end if;
end if;
when s2=>if cnt>=3 then
result<='1';
else result<='0';
end if;
state<=s0;
when others=>state<=s0;
end case
end if
end process

利用状态机的VHDL描述方法设计一个序列检测器,要求连续输入3个或3个...
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xulie is port(clk,reset:in std_logic;input:in std_logic;result:out std_logic);end entity;architecture art of xulie is type states is (s0,s1,s2);signal state:states;begin process(clk,reset,state,input)varial...

关于序列检测器(VHDL),我想知道下面这个代码检测的是哪个序列,并且帮我...
检测的序列是"01001",左起第一位的 0 是列首

数字系统设计与VHDL的目录
BCD码一余3码转换器1.8MOORE时序电路设计1.8.1MOORE电路例子1:序列检测器1.8.2MOORE电路设计例子2:非归零码-曼彻斯特码转换器1.9等价状态和状态表化简1.10时序电路的时序1.10.1传输延迟、建立时间和保持时间1.10.2最大时钟工作频率1.10.3时序条件1.10.4时序电路中的毛刺1.10.5同步设计1....

FPGA\/CPLD应用设计200例的目录
43简易周期信号测试仪1.44序列信号发生器1.45通信、雷达和遥测用序列检测器的设计1.46数字密码锁1.47伪随机序列信号发生器设计1.48FIFO存储器的VHDL描述1.49采用VerilogHDL语言设计的UART通用异步收发器.1.50倍频电路1.51双向数据转换器1.52键盘电路1.53数码LED显示器1.54多位加法器电路1.556位...

推荐一个比较实用的流程设计、仿真软件
【关键词】Active FPGA\/CPLD HDL 应用实例 设计软件 特点 交通灯控制器 动态扫描显示 设计过程 设计流程 仿真方法 描述方法 编写方法 显示功能 模拟波形 RAM 状态机 数码管 计数器 内存 文件【分类号】TP311 TS943.74【文摘】介绍了Active—HDL软件的设计流程和设计过程中的有关仿真,以RAM实例说明该软件的特点及...

求EDA技术实用教程(潘松第三版)箜篌习题答案,在线等
4.2 时序逻辑电路设计4.2.1 时钟信号和复位信号4.2.2 触发器4.2.3 寄存器和移位寄存器4.2.4 计数器4.2.5 序列信号发生器和检测器4.3 存储器设计4.3.1 只读存储器ROM4.3.2 随机存储器RAM4.4 状态机设计4.4.1 摩尔型状态机4.4.2 米立型状态机本章小结思考题和习题第5章 大规模可编程逻辑器件5.1 可编程逻辑...

相似回答