不能输出占空比各50%的方波
芯片用的是xinlinx S6,ise13.4编译环境。
IF EnPulseCNT = '0' THEN
CntINPulse <= 0;
EnPulseOut <= '0';
EnPulseIN <= '0';
Temp_EnPulseOut := '0';
ELSIF (PulseIN 'EVENT AND PulseIN = '1') THEN
IF CntINPulse>=9 THEN
EnPulseIN<= '1';
CntINPulse<=0 ;
ELSIF CntINPulse =4 THEN
EnPulseIN <= '0';
CntINPulse <= CntINPulse+1;
ELSE
CntINPulse <= CntINPulse+1;
END IF;
Ucf是这样写的,NET "PulseIN" LOC = W10 | CLOCK_DEDICATED_ROUTE = false ;如果写出这样NET "PulseIN" LOC = W10,编译不过去。
但最后编译下载运行后,计数不准确,为何计数不准确,按照我的写法,应该输出占空比各50%的方波,但实际输出占空比总是在变化,同样的代码,如果把pulseIN换成clk(全局时钟)就输出占空比50%的方波,请问问题出在哪里?
|