的VHDL -柜台困难

V

V

Guest
即时产生1毫秒脉冲.....但在我的代码计数的值不递增
, 为什么??
西隧的问题... plz指导..

-产生1毫秒脉冲- 50 MHz的输入频率

图书馆ieee;
使用ieee.std_logic_1164.all;

实体pulse_1ms是
端口(时钟:在锁相环;
reset_ne:在锁相环;
第五部分:锁相环;
x:出锁相环);结束;建筑的pulse_1ms白塞是

类型状态(空闲,一,乙,丙);
信号p_state,n_state:状态;

脉冲信号,reset_pulse:锁相环;
信号数:整数范围为0到50000; - 50兆赫-计数= 50000

开始
进程(reset_ne,时钟)
开始
如果(reset_ne = '0'),那么
p_state“=闲置;
elsif(clk'event和CLK = '1'),那么
p_state“= n_state;
如果结束;
结束进程;进程(p_state)
开始
案件p_state是
空闲时=“
如果(五= '0'),那么
n_state“= 1;
如果结束;

当a =“
脉冲“= '1';
n_state“= B的;
reset_pulse“= '0';当B =“
如果(脉冲= '1'),那么
如果(数= 50000),然后-这里即时面临的问题不是增加计数...这将进一步提高到2,为什么????
计数“= 0;
脉冲“= '0';
n_state“= ç;
reset_pulse“= '0';
其他的
计数“=计数 1;
reset_pulse“= '1';

如果结束;
如果结束;

当C =“
如果(五= '1'),那么
n_state“=闲置;
如果结束;

当别人=“
空;

结束案件;
结束进程;

x“= reset_ne的NAND reset_pulse;

结束;

 
快速解决!检查这一个我已完成的敏感表!
您需要修改代码的乌拉圭回合休息。这是因为在计算代码
模拟将在无限循环!您需要解决这个问题!

代码:

-产生1毫秒脉冲- 50 MHz的输入频率图书馆ieee;

使用ieee.std_logic_1164.all;entity pulse_1ms is
端口(时钟:在锁相环;

reset_ne:在锁相环;

第五部分:锁相环;

x:出锁相环);

结束;架构pulse_1ms白塞是

类型状态(空闲,一,乙,丙);

信号p_state,n_state:状态;

脉冲信号,reset_pulse:锁相环;

信号数:整数范围为0到50000; - 50兆赫-计数= 50000

开始

进程(reset_ne,时钟)

开始

如果(reset_ne = '0'),那么

p_state“=闲置;

elsif(clk'event和CLK = '1'),那么

p_state“= n_state;

如果结束;

结束进程;进程(p_state,五,计数,脉冲)

开始

案件p_state是

空闲时=“

如果(五= '0'),那么

n_state“= 1;

如果结束;当a =“

脉冲“= '1';

n_state“= B的;

reset_pulse“= '0';当B =“

如果(脉冲= '1'),那么

如果(数= 50000),然后-这里即时面临的问题不是增加计数...

-这是进一步提高到2,为什么????

计数“= 0;

脉冲“= '0';

n_state“= ç;

reset_pulse“= '0';

其他的

计数“=计数 1;

reset_pulse“= '1';

如果结束;

如果结束;当C =“

如果(五= '1'),那么

n_state“=闲置;

如果结束;当别人=“

空;结束案件;

结束进程;x“= reset_ne的NAND reset_pulse;结束;
 
您好nand_gate ..非常感谢...

因此
, 这里的关键是计数信号是登记在模拟..我们wont因此得到无限循环.....再次感谢..

 

Welcome to EDABoard.com

Sponsor

Back
Top