打印

关于xc9572xl 的相当困惑的问题

[复制链接]
1785|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyuanq|  楼主 | 2008-3-12 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本想将CLK信号分频1/256,然后去让一个LED等闪烁。可是示波器测出来的记过是只分频到了1/2。
随便将count的哪一位赋给ledr都是一样的。ISE的综合报告上已经显示出有一个8位的计数器了。
器件是XC9572XL。

相当困惑,哪位朋友遇到过类似问题,指点一下!!

module pcicfg72(pclk,rst,ledr);
input pclk;
input rst;
output ledr;
wire clk;
wire n_rst;
reg ledr;
reg[7:0] count;

always @(posedge clk)
    if(~n_rst)
       count <= 8'b00000000;
    else    
      begin
       count <= count + 8'b00000001;
       ledr <= count[7];
    end                       
IBUF IBUF_inst( .O(n_rst), .I(rst) );
BUFG BUFG_inst( .O(clk), .I(pclk) ); //Clock buffer input
endmodule                                                    

相关帖子

沙发
wyuanq|  楼主 | 2008-3-14 11:07 | 只看该作者

没人回,自己顶

使用特权

评论回复
板凳
zgl7903| | 2008-3-15 14:16 | 只看该作者

先试试用这个看看?

module pcicfg72(pclk,rst,ledr);
  input pclk;
  input rst;
  output ledr;

  reg [7:0]count;
  always @(posedge pclk or posedge rst)
    begin
      if(rst)
        count = 0;
      else
        count = count + 1;
    end
  assign ledr = count[7];
endmodule

使用特权

评论回复
地板
zpk| | 2008-5-4 09:12 | 只看该作者

关于xc9572xl 的相当困惑的问题

我想要实现1/256的分频,应该写成
ledr<=~ledr;

使用特权

评论回复
5
cbutterfly| | 2008-5-4 16:23 | 只看该作者

可能rst有问题

本想将CLK信号分频1/256,然后去让一个LED等闪烁。可是示波器测出来的记过是只分频到了1/2。
随便将count的哪一位赋给ledr都是一样的。ISE的综合报告上已经显示出有一个8位的计数器了。
器件是XC9572XL。 

IBUF IBUF_inst( .O(n_rst), .I(rst) );
BUFG BUFG_inst( .O(clk), .I(pclk) ); //Clock buffer input

上边这个模块引用可能有问题。因为首先程序应该没什么问题。
而你说无论哪个位接到led都是二分频,那么问题可能就在哪个~n_rst上了

要不就是你的电路有问题,复位联到时钟上了吧???

具体还是看看仿真吧,仿真没问题那就找找个个输入是不是有问题了

使用特权

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

本版积分规则

16

主题

29

帖子

1

粉丝