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

[复制链接]
3018|14
 楼主| 笑溜溜+ 发表于 2012-3-7 22:32 | 显示全部楼层 |阅读模式
这是我写的代码,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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
GoldSunMonkey 发表于 2012-3-7 22:43 | 显示全部楼层
因为我对VERILOG只是能看懂,至少我觉得代码没有问题。
huatong 发表于 2012-3-8 11:13 | 显示全部楼层
是不是示波器用了AC档啊?
GoldSunMonkey 发表于 2012-3-8 13:18 | 显示全部楼层
另外,buffer为什么没有清零的过程呢?
但这个问题不应该造成你这个问题的原因
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;
最关键的一点,请将你的示波器输入调为直流,不要用交流
GoldSunMonkey 发表于 2012-3-8 20:39 | 显示全部楼层
首先你的buffer = buffer + 1请改为buffer
lianshumou 发表于 2012-3-8 14:12
嘿嘿,忘记这个问题了。
GoldSunMonkey 发表于 2012-3-8 20:39 | 显示全部楼层
对verilog我还要加强~谢谢lianshumou
 楼主| 笑溜溜+ 发表于 2012-3-9 09:15 | 显示全部楼层
谢谢,各位大虾。问题欧了,我用的交流档。
GoldSunMonkey 发表于 2012-3-9 09:34 | 显示全部楼层
GoldSunMonkey 发表于 2012-3-9 09:35 | 显示全部楼层
又是一个不给我分数的人。
我是第一个分析代码的人。
 楼主| 笑溜溜+ 发表于 2012-3-9 09:40 | 显示全部楼层
对不起,大哥。小弟我刚申请,分少。请大哥见谅。
GoldSunMonkey 发表于 2012-3-9 10:53 | 显示全部楼层
:lol没事,我是要分大王。哈哈
maxlogic 发表于 2012-3-10 16:45 | 显示全部楼层
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!
maxlogic 发表于 2012-3-10 16:45 | 显示全部楼层
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!
GoldSunMonkey 发表于 2012-3-10 19:50 | 显示全部楼层
代码实现的功能没有问题,但你对verilog的认识还有很大的提升空间!
maxlogic 发表于 2012-3-10 16:45
谢谢分享~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

89

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部