微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助,请问我设计的一个检测按键序列程序为什么不好用呢?

求助,请问我设计的一个检测按键序列程序为什么不好用呢?

时间:10-02 整理:3721RD 点击:
我设计的思路是用一个状态机,然后当我按照特定的顺序在一些管脚输入低电平时,可以在相应的管脚输出低电平,仿真也是好用的,但是现在我按下第一个按键的时候可以正确输出低电平,(在没有松开第一个按键时候)再按下第二个按键,第二个按键没有办法输出低电平,(此时松开第一个按键)仍然无法在第二个按键上检测到低电平?是我的频率的问题吗?主要想让我的51单片机可以正确检测到FPGA输出一个低电平后有一些后续的操作,但是现在FPGA不好使?请问大家能帮我看看嘛?另附仿真图,麻烦大家了。[qq]294108971[/qq]

  1. library ieee;
  2. use ieee.std_logic_1164.all;
  3. use ieee.std_logic_unsigned.all;
  4. use ieee.std_logic_arith.all;

  5. entity mealy2 is
  6.   port(clk,in1,in2,in3,in4,in5,in6,in7,in8,reset : in std_logic;
  7.        out1:           out std_logic_vector(7 downto 0));
  8. end mealy2;


  9. architecture behavior of mealy2 is
  10.    type state_type is (s0,s1,s2,s3,s4,s5,s6,s7);
  11.    signal state: state_type;
  12. begin
  13. p1: process(clk,reset)
  14. begin
  15.     if reset='1'then
  16.        state if in1='0' then
  17.                            state if in2='0' then
  18.                            state if in3='0' then
  19.                            state if in4='0' then
  20.                            state if in5='0' then
  21.                            state if in6='0' then
  22.                            state if in7='0' then
  23.                            state if in8='0' then
  24.                            state if in1='0' then
  25.                      out1 if in2='0' then
  26.                      out1 if in3='0' then
  27.                      out1 if in4='0' then
  28.                      out1 if in5='0' then
  29.                      out1 if in6='0' then
  30.                      out1 if in7='0' then
  31.                      out1 if in8='0' then
  32.                      out1<= "01111111";
  33.                      
  34.                   else
  35.                      out1<= "11111111";
  36.                   end if;
  37.       end case;
  38. end process p2;
  39. end behavior;

复制代码



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top