qq_58272240 2022-11-11 18:24 采纳率: 100%
浏览 45
已结题

24进制同步计数器的testbench文件怎么写

本人是初学者,要求编写24进制同步计数器且计数值为23 时输出标志性高脉冲持续一个clk,我的文件和testbench文件都通过了编译,可是modelsim仿真的时候只有clk和reset信号有波形,输出无波形,实在找不出来哪里错了,希望大家指教!谢谢!

这是我的.v文件

module count24
(input clk,reset,
output reg [4:0] cout,
output reg sign1);
always @(posedge clk)
begin
if(reset) cout<=0;
else begin
cout<=cout+1;
if(cout==23) begin sign1<=1;cout<=0; end
else sign1<=0;
end
end
endmodule

这是我的testbench文件

`timescale 1ns/1ns
module count24_tb;
reg clk,reset;
wire [4:0] cout;
wire sign1;
count24 u1(clk,reset,cout,sign1);
parameter PERIOD=100;
initial
begin
reset=1;clk=0;
#40 reset=0;
forever
#(PERIOD/2) clk=~clk;
end
endmodule

  • 写回答

1条回答 默认 最新

  • Fantasy237 2022-11-11 22:32
    关注

    错误波形:主要问题是 clk上升沿没有复位信号。

    img

    修改tb:

    `timescale 1ns/1ns
    module count24_tb;
    reg clk,reset;
    wire [4:0] cout;
    wire sign1;
    count24 u1(clk,reset,cout,sign1);
    parameter PERIOD=100;
    initial
    begin
    reset=1;clk=0;
    #20 clk=1; //加这一句
    #40 reset=0;
    forever #(PERIOD/2) clk=~clk;
    end
    endmodule
    
    

    这个波形是不是有问题,还是题主自己理解。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月11日

悬赏问题

  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 正弦信号发生器串并联电路电阻无法保持同步怎么办
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序