微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问我这个计数器怎么综合后成这样了?谢谢

请问我这个计数器怎么综合后成这样了?谢谢

时间:10-02 整理:3721RD 点击:
module memory(
clk,
rst_n,
clk_out
);
parameter   N = 20;    //分频器N分频
parameter   t = 4;     //计数器的位数
//输出端口
output  clk_out;
//输入端口
input   clk;
input   rst_n;
//端口类型声明
reg     clk_out;
reg[t-1:0]  cnt;
always@(posedge clk or negedge rst_n) begin
    if(!rst_n) begin     //异步复位
        cnt <= 4'b0;
        clk_out <= 1'b0;
    end else if(cnt == N-1) begin    //计数到9时,计数器清0,输出翻转
        cnt <= 0;
        clk_out <= ~clk_out;
    end else begin
        cnt <= cnt + 1;
    end
end
endmodule


没问题的,只是隐藏了内部计数器,所以输出没有连接

小t 改成5试试, 位宽不够


谢谢,改成5就可以了,可是为什么啊?我的计数器只记到9就行了 4位位宽按理说够了呀

4位怎么到20呢



   cnt只计数到9,然后clk_out就翻转了啊?然后cnt清0cnt只从0计数到9啊



    你的N =20,哪里9?



    额,我错了,少些了/2 ,谢谢各位前辈。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top