标签:进制 16 outy 计数 计数器 Verilog HDL clr
计数器
任务要求
根据所学的时序逻辑及数字电路的知识完成计数器的设计,验证同步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
觉得有帮助的可以点个赞再走哦!!
标签:进制,16,outy,计数,计数器,Verilog,HDL,clr 来源: https://blog.csdn.net/l59565455/article/details/106477992
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。