打印

各路神仙,看看这个CPLD输出波形

[复制链接]
1492|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这是我写的代码,clk输入时50Mhz,我目的是想输出是1hz,0.5s是高电平,0.5s是低电平,这样周期性闪烁二极管。可是我用示波器测试一个二极管引脚时发现是这样波形。我CPLD是EPM240T100,输出分别接二极管-电阻-地。我的问题是:
(1)输出问什么是一个高脉冲和一个低脉冲,不是我想象的一个高电平和一个低电平。(2)这个低脉冲从哪里来。
module LED_LIGHT(clk,led);
input clk;
output[7:0] led;
reg[7:0] led;
reg[24:0] buffer;
always @(posedge clk)
    begin
       buffer=buffer+1;
       if(buffer==25'd25000000)
          begin
            led=~led;
            //buffer=0;
          end
       end
endmodule

TEK00002.PNG (6.35 KB )

TEK00002.PNG

相关帖子

沙发
GoldSunMonkey| | 2012-3-7 22:43 | 只看该作者
因为我对VERILOG只是能看懂,至少我觉得代码没有问题。

使用特权

评论回复
板凳
huatong| | 2012-3-8 11:13 | 只看该作者
是不是示波器用了AC档啊?

使用特权

评论回复
地板
GoldSunMonkey| | 2012-3-8 13:18 | 只看该作者
另外,buffer为什么没有清零的过程呢?
但这个问题不应该造成你这个问题的原因

使用特权

评论回复
5
lianshumou| | 2012-3-8 14:12 | 只看该作者
这是我写的代码,clk输入时50Mhz,我目的是想输出是1hz,0.5s是高电平,0.5s是低电平,这样周期性闪烁二极管。可是我用示波器测试一个二极管引脚时发现是这样波形。我CPLD是EPM240T100,输出分别接二极管-电阻-地。 ...
笑溜溜+ 发表于 2012-3-7 22:32


首先你的buffer = buffer + 1请改为buffer <= buffer + 1; led = ~led请改为led <= ~led;
最关键的一点,请将你的示波器输入调为直流,不要用交流

使用特权

评论回复
6
GoldSunMonkey| | 2012-3-8 20:39 | 只看该作者
首先你的buffer = buffer + 1请改为buffer
lianshumou 发表于 2012-3-8 14:12
嘿嘿,忘记这个问题了。

使用特权

评论回复
7
GoldSunMonkey| | 2012-3-8 20:39 | 只看该作者
对verilog我还要加强~谢谢lianshumou

使用特权

评论回复
8
笑溜溜+|  楼主 | 2012-3-9 09:15 | 只看该作者
谢谢,各位大虾。问题欧了,我用的交流档。

使用特权

评论回复
9
GoldSunMonkey| | 2012-3-9 09:34 | 只看该作者
:L

使用特权

评论回复
10
GoldSunMonkey| | 2012-3-9 09:35 | 只看该作者
又是一个不给我分数的人。
我是第一个分析代码的人。

使用特权

评论回复
11
笑溜溜+|  楼主 | 2012-3-9 09:40 | 只看该作者
对不起,大哥。小弟我刚申请,分少。请大哥见谅。

使用特权

评论回复
12
GoldSunMonkey| | 2012-3-9 10:53 | 只看该作者
:lol没事,我是要分大王。哈哈

使用特权

评论回复
13
maxlogic| | 2012-3-10 16:45 | 只看该作者
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!

使用特权

评论回复
14
maxlogic| | 2012-3-10 16:45 | 只看该作者
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!

使用特权

评论回复
15
GoldSunMonkey| | 2012-3-10 19:50 | 只看该作者
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!
maxlogic 发表于 2012-3-10 16:45
谢谢分享~

使用特权

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

本版积分规则

2

主题

89

帖子

0

粉丝