打印

奇怪,不能输出占空比各50%的方波

[复制链接]
2924|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
entepino|  楼主 | 2013-3-1 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不能输出占空比各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%的方波,请问问题出在哪里?


相关帖子

沙发
entepino|  楼主 | 2013-3-1 16:55 | 只看该作者
同样的代码,在altera的芯片中就能够实现,谁能告诉我为何?

使用特权

评论回复
板凳
ifpga| | 2013-3-1 16:55 | 只看该作者
这个问题之前不是问过了吗

使用特权

评论回复
地板
entepino|  楼主 | 2013-3-1 16:56 | 只看该作者
肯定没问过。

使用特权

评论回复
5
1003704680| | 2013-3-1 23:42 | 只看该作者
上一个问题还没解决么?一个问题一个问题的解决,兄弟!

使用特权

评论回复
6
entepino|  楼主 | 2013-3-2 09:51 | 只看该作者
1003704680 发表于 2013-3-1 23:42
上一个问题还没解决么?一个问题一个问题的解决,兄弟!

上一个问题犯了一个低级错误,这次这个问题比较奇怪,可能不太好解决,找个几个FPGA高手都解决不了。

使用特权

评论回复
7
1003704680| | 2013-3-2 10:06 | 只看该作者
CLOCK_DEDICATED_ROUTE = false 貌似后面出来的系列都需要这句来约束时钟,具体原因希望高手来帮忙解释下;为什么不是50%的,有时间再看啊。。

使用特权

评论回复
8
1003704680| | 2013-3-2 10:31 | 只看该作者
首先,EnPulseOut和Temp_EnPulseOut 你在代码里用不着能不能去掉啊?
然后,你的EnPulseCNT是怎么来的?不是方波很有可能是因为你EnPulseCNT在不停的为‘0’,这些时序你都分析了吗?
再然后,你所说的输出50%的方波是用示波器测的还是用仿真的?能不能给个图先?
再再给你提一个建议:自己先把时序想清楚了再提问。直接贴代码很是不好的。很多人一看到代码就不想看你的问题了。
如果不贴代码的话,你这个问题的质量还算可以的。

使用特权

评论回复
9
entepino|  楼主 | 2013-3-2 12:02 | 只看该作者
xinlinx 芯片比较奇怪,在altera中就可以实现,是实际的波形输出,不是仿真。

使用特权

评论回复
10
1003704680| | 2013-3-2 13:50 | 只看该作者
entepino 发表于 2013-3-2 12:02
xinlinx 芯片比较奇怪,在altera中就可以实现,是实际的波形输出,不是仿真。 ...

先仿真,一步一步来,做东西不能急,也不要嫌麻烦。
具体问题我感觉还是在于时序没搞清楚。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

649

帖子

2

粉丝