计数器——Verilog HDL语言

任务要求

根据所学的时序逻辑及数字电路的知识完成计数器的设计,验证同步16进制计数器的功能,进一步熟悉 Verilog HDL 文本设计流程, 掌握时序电路的设计仿真和测试方法。完善计数器电路的功能描述风格Verilog HDL 代码。

相关知识

逻辑原理

计数器能记忆输入脉冲的个数, 用于定时、分频、产生节拍脉冲及进行数字运算等等。 加法计数器每输入一个 CP 脉冲, 加法计数器的计数值加一。 十六进制计数即从 0000 一直计数到 1111;当计数到 1111 时,若再来一个 CP 脉冲,则回到 0000,同时产生进位 1。
同步 16 进制计数器设计采用 if-else 语句对计数器的输出分别进行赋值,能实现对输入脉冲的计数,并具有使能和异步清零功能。

同步16进制计数器真值表

在这里插入图片描述

编程要求

为了完成计数的任务,完善编程模块设计代码,编写的程序要能根据不同的输入得到满足同步16进制计数器真值表的逻辑输出。

源代码

测试平台:EduCoder

module count_test(en,clk,clr,cout,outy);
input en,clk,clr;
output [3:0]outy;
output cout;
reg [3:0]outy;
always @ (posedge clk or posedge clr)
// 请在下面添加代码,完成16 进制计数器功能
/* Begin */
 begin 
    if(clr) outy<=4'b0000;
    else if(en) 
           begin if(outy==4'b1111)  outy<=4'b0000;
                else outy<=outy+1'b1;
           end
   end
  assign cout=((outy==4'b1111)&en)?1:0;
/* End */
endmodule

觉得有帮助的可以点个赞再走哦!!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MMagicLoren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值