VHDL程序请教!
看了一段程序不太知道对不对,请教各位大侠帮小弟看看~~~~~~~~~~~~~感激不尽!LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY yana IS
PORT (CLK,A,B:IN STD_LOGIC; ——时钟、A、B触发输入
Q:OUT STD_LOGIC); ——触发输出
END yana;
ARCHITECTURE WEI OF yana IS
BEGIN
PROCESS (CLK,A)
VARIABLE CNTL:INTEGER RANGE 0 TO 4000;————1ms做一次写入操作(CLK为4M)
VARIABLE X,Y:STD_LOGIC;——————中间变量
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF A='1' THEN X:='1';
END IF;
IF B='1' THEN Y:='1';
END IF;
IF Y='1' THEN
IF CNTL<4000 THEN
CNTL:=CNTL+1;
ELSE
CNTL:=0;
X:='0';
Y:='0';
END IF;
END IF;
Q<=X OR Y;
END IF;
END PROCESS;
END WEI;
这个模块的功能写的是:有键按下但未完成对存储器的写操作期间,Q口一直为高电平,直到对存储器的写操作。
这个功能能实现么????看不太懂啊……………… 这个X为什么在操作中没有对他判断,还是A,B这两个键的功能不一样。我现在看的是当你按下B键时,Q口会至高,过1ms后他还会变低,但是只按A的话,Q口会置高,然后不会拉低了。。。。除非还有B再响应 gyb1325 发表于 2013-8-7 15:07 static/image/common/back.gif
这个X为什么在操作中没有对他判断,还是A,B这两个键的功能不一样。我现在看的是当你按下B键时,Q口会至高 ...
谢谢!
A连的是外接的按键,B我不知道为什么不和RAM相连,怎么能判断RAM是否读完呢?
原理图奉上~ 南孤雁2010 发表于 2013-8-7 15:59 static/image/common/back.gif
谢谢!
A连的是外接的按键,B我不知道为什么不和RAM相连,怎么能判断RAM是否读完呢?
原理图奉上~ ...
是这个样子:首先你按下A的话他就会拉高Q,Q连的是clr,clr应该是低电平有效吧?那么在高电平期间(1ms)他就完成了对一个数据的读写,B是保持按键状态的,你按下A的话那么就是一瞬间的事,你要等1ms的话,B就在维持这个A 按下的状态 gyb1325 发表于 2013-8-7 16:23 static/image/common/back.gif
是这个样子:首先你按下A的话他就会拉高Q,Q连的是clr,clr应该是低电平有效吧?那么在高电平期间(1ms) ...
你说的这个意思我懂了~~~谢谢谢谢!
但是YANA这个模块的Q没接CLR……
页:
[1]