导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→问一个vhdl的问题!

* 26869: 问一个vhdl的问题!

   ruanhan 
ruanhan发表的帖子 

 问一个vhdl的问题!
各位高手,请看一下小弟编的一个特别小vhdl的程序(在maxplus2环境下)
程序的功能是按下key1键(使key1端口为0)则显示数码管,放下(使key1端口为1)则熄灭数码管;
library IEEE;
use ieee.std_logic_1164.all;
--use ieee.std_logic_arith.all;
ENTITY rh1 IS
PORT(  key1: IN std_logic;--定义一个输入
       digital8: OUT std_logic_vector(7 downto 0)--8个输出
     );
      END rh1;
ARCHITECTURE xq OF rh1 IS
--signal k :std-logic-vector(7 downto 0);
begin
process(key1) 
begin
if(key1'event and key1='0') then
digital8  <="00000000";--数码管全亮
else
digital8  <="11111111";--数码管全灭
end if;
end process;
end xq;

--我感觉这应该没有问题,但是编译出现一下错误:

The error is:Else Clause fllowing a clock edge must hold the state of
sigal "digital8";后来我设置一个信号量k,先判断key1是上升还是下降,
然后对这个赋值(00000000或11111111),在最后将这个信号量再给digital8,
程序修改如下if(key1'event and key1='0') then
         k  <="00000000";
         else k  <="11111111";
       end if;
     digital8  <=k;
这样出现的错误是:The error is:Else Clause fllowing a clock edge must hold the state of
sigal "k"。不知这是为什么,望高手指点,谢谢!!!!

发表时间:2003年4月23日10:00:41

  
回复该帖

本主题共有 5 帖,分页:>>>>>该主题的所有内容[5]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  26983.[详细]这种情况无需用时序逻辑设计,用组合逻辑如下:
摘要:library IEEE; use ieee.std_logic_1164.all; --use ieee.std_logic_arith.all;  ENTITY&nb......(409字)
- [huzimax][1144次] 2003年4月23日

  26996.[详细]谢谢高手答复,我还有一个疑问:
摘要:一般来说vhdl语言编程都是包含一个或者数个process, 如果我把程序编程这样: use ieee.std_logic_1164.all; ENTITY rh1 IS ......(615字)
- [ruanhan][1824次] 2003年4月23日

  27053.[详细]process(X)用于时序电路,一般要有CLK做为时钟
摘要:PROCESS(X)书中言道是检测到X的变化时,执行......(43字)
- [huzimax][1424次] 2003年4月23日

[上一篇帖子]:[请教]请熟悉8019的同志帮帮忙!小弟谢了!~~~谢谢!!!!!我的硬件电路已设计完成(我用的是8
[下一篇帖子]:sorry! 这个文件好象不支持200