位置: IT常识 - 正文

【HDLBits刷题笔记】10 Counters(最好用的刷题笔)

编辑:rootadmin
Count15 module top_module ( input clk, input reset, // Synchronous active-high reset output Count15module top_module ( input clk, input reset, // Synchronous active-high reset output [3:0] q); always@(posedge clk) begin if(reset) q <= 4'd0; else q <= q + 1'b1; endendmoduleCount10

推荐整理分享【HDLBits刷题笔记】10 Counters(最好用的刷题笔),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:刷题笔真的好用吗,刷题笔多少钱,最好用的刷题笔,刷题笔真的好用吗,刷题笔是什么,刷题笔怎么样,刷题笔是什么,刷题笔是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

题目给的答案把q清零和reset放在了一个if里if (reset || q == 9)。

module top_module ( input clk, input reset, // Synchronous active-high reset output [3:0] q); always@(posedge clk) begin if(reset) q <= 4'd0; else q <= (q<9)?(q+1):0; endendmoduleCount1to10module top_module ( input clk, input reset, output [3:0] q); always@(posedge clk) begin if(reset) q <= 4'd1; else q <= (q<10)?(q+1):1; endendmoduleCountslowmodule top_module ( input clk, input slowena, input reset, output [3:0] q); always@(posedge clk) begin if(reset) q <= 4'd0; else if(slowena) q <= (q<9)?(q+1):0; endendmoduleExams/ece241 2014 q7a

这道题感觉怪怪的,一开始我写的c_load = (Q==12)|reset;由于题目说了count4模块中的load优先级比enable高,所以enable为0时仍可以置数。

【HDLBits刷题笔记】10 Counters(最好用的刷题笔)

而题目貌似是希望load和enable不能冲突,enable为0时就不应该置数了,所以此时的load应该为0,所以我又把信号与上了一个enable。

module top_module ( input clk, input reset, input enable, output [3:0] Q, output c_enable, output c_load, output [3:0] c_d); // count4 the_counter (clk, c_enable, c_load, c_d , Q ); assign c_d = 1; assign c_enable = enable; assign c_load = enable&(Q==12)|reset;endmoduleExams/ece241 2014 q7b

把三个BCD计数器级联在一起即可。一开始我写的c_enable[2]=(Q2==9);OneHertz=(Q3==9);而Q2、Q3都会持续多个周期,只有Q1是一个一直变的信号。

module top_module ( input clk, input reset, output OneHertz, output [2:0] c_enable); // wire [3:0]Q1; wire [3:0]Q2; wire [3:0]Q3; bcdcount counter0 (clk, reset, c_enable[0],Q1); bcdcount counter1 (clk, reset, c_enable[1],Q2); bcdcount counter2 (clk, reset, c_enable[2],Q3); assign c_enable[0]=1'b1; assign c_enable[1]=(Q1==9); assign c_enable[2]=(Q2==9)&&(Q1==9); assign OneHertz=(Q3==9)&&(Q2==9)&&(Q1==9);endmoduleCountbcd

感觉写的稍微有点复杂,利用了verilog里写多个if优先下面的语句的特点,实际不会对一个数重复操作。

实际例化多个BCD计数器会简单很多。

module top_module ( input clk, input reset, // Synchronous active-high reset output [3:1] ena, output [15:0] q); always@(posedge clk) begin if(reset) q <= 'd0; else begin q[3:0] <= q[3:0] + 1; if(ena[1])begin q[3:0] <= 0; q[7:4] <= q[7:4]+1; end if(ena[2])begin q[3:0] <= 0; q[7:4] <= 0; q[11:8] <= q[11:8]+1; end if(ena[3])begin q[3:0] <= 0; q[7:4] <= 0; q[11:8] <= 0; q[15:12] <= (q[15:12]<9)?q[15:12] +1:0; end end end assign ena[1] = (q[3:0]==9); assign ena[2] = (q[7:4]==9)&&ena[1]; assign ena[3] = (q[11:8]==9)&&ena[2];endmoduleCount clock

这道题稍微有点复杂,难度也不算特别大,但是需要耐心debug,把情况全部考虑清楚。

我提交了五次才通过,可恶。

module top_module( input clk, input reset, input ena, output reg pm, output reg[7:0] hh, output reg[7:0] mm, output reg[7:0] ss); always@(posedge clk) begin if(reset)begin pm <= 1'b0; hh <= {4'd1,4'd2}; mm <= 0; ss <= 0; end else if(ena)begin ss[3:0] <= ss[3:0] +1'b1; if(ss[3:0] == 9)begin ss[3:0] <= 'd0; ss[7:4] <= (ss[7:4]==5)?0:(ss[7:4]+1); end if(ss[3:0] == 9&&ss[7:4] == 5)begin if(mm[3:0]<9) mm[3:0] <= mm[3:0] + 1; else begin mm[3:0] <= 'd0; mm[7:4] <= (mm[7:4]==5)?0:(mm[7:4]+1); end end if(ss[3:0] == 9&&ss[7:4] == 5&&mm[3:0] == 9&&mm[7:4] == 5)begin if(hh[3:0]<9&&hh[7:4] == 0) hh[3:0] <= hh[3:0] + 1; else if(hh[3:0]<2&&hh[7:4] == 1) hh[3:0] <= hh[3:0] + 1; else begin if(hh[7:4] == 1) hh[3:0] <= 'd1;//注意这里是1 else hh[3:0] <= 'd0; hh[7:4] <= (hh[7:4]==1)?0:1; end end if(ss[3:0] == 9&&ss[7:4] == 5&&mm[3:0] == 9&&mm[7:4] == 5&&hh[3:0]==1&&hh[7:4]==1) pm<=~pm; end endendmodule
本文链接地址:https://www.jiuchutong.com/zhishi/313192.html 转载请保留说明!

上一篇:苹果系统专用网络优化工具,让你的网络速度暴增(一个人失恋了该怎么安慰她)

下一篇:织梦dedecms使用channelartlist标签显示当前文章高亮(织梦如何使用)

  • 荣耀magic4可以升级鸿蒙系统吗(荣耀magic4可以升级magicos)

    荣耀magic4可以升级鸿蒙系统吗(荣耀magic4可以升级magicos)

  • 微信视频镜像可以解决吗(微信视频镜像可以解决吗苹果手机)

    微信视频镜像可以解决吗(微信视频镜像可以解决吗苹果手机)

  • 如何解除电脑主板保护(如何解除电脑主机控制)

    如何解除电脑主板保护(如何解除电脑主机控制)

  • 华为matepad可以装Windows吗(华为matepad可以做ppt吗)

    华为matepad可以装Windows吗(华为matepad可以做ppt吗)

  • yal al50是什么手机(yal一al50是什么手机型号)

    yal al50是什么手机(yal一al50是什么手机型号)

  • 小米手环为什么微信信息来没有提示(小米手环为什么总是断开连接)

    小米手环为什么微信信息来没有提示(小米手环为什么总是断开连接)

  • 微信用户名与姓名不匹配怎么办(微信用户名与姓名不匹配)

    微信用户名与姓名不匹配怎么办(微信用户名与姓名不匹配)

  • 华为p40怎么下载铃声(华为P40怎么下载铃声)

    华为p40怎么下载铃声(华为P40怎么下载铃声)

  • 抖音正常号换头像影响流量吗(抖音正常号换头像可以吗)

    抖音正常号换头像影响流量吗(抖音正常号换头像可以吗)

  • 钉钉换手机签到会被看到吗(钉钉换手机签到怎么看不出来)

    钉钉换手机签到会被看到吗(钉钉换手机签到怎么看不出来)

  • 域名未绑定是不是网址封了(域名未绑定是不是跑路了)

    域名未绑定是不是网址封了(域名未绑定是不是跑路了)

  • 苹果微信更新后怎么变黑色(苹果微信更新后打不开怎么办)

    苹果微信更新后怎么变黑色(苹果微信更新后打不开怎么办)

  • 拼多多有直播功能吗(拼多多直播功能怎么关闭)

    拼多多有直播功能吗(拼多多直播功能怎么关闭)

  • 华为的FD和ND渠道(华为fd货品是什么)

    华为的FD和ND渠道(华为fd货品是什么)

  • 华为手机怎么一直亮屏(华为手机怎么一键锁屏)

    华为手机怎么一直亮屏(华为手机怎么一键锁屏)

  • 设置不让对方看朋友圈对方那里显示什么(设置不让对方看抖音 对方那里会显示什么)

    设置不让对方看朋友圈对方那里显示什么(设置不让对方看抖音 对方那里会显示什么)

  • 小米动态字体怎么设置(字体设置小米)

    小米动态字体怎么设置(字体设置小米)

  • 华为mate30锁屏显示时间怎么设置(mate30e锁屏)

    华为mate30锁屏显示时间怎么设置(mate30e锁屏)

  • 抖音直播礼物特效怎么关(抖音直播礼物特效大全视频)

    抖音直播礼物特效怎么关(抖音直播礼物特效大全视频)

  • 微信如何更换手机号码(微信如何更换手机号码解绑)

    微信如何更换手机号码(微信如何更换手机号码解绑)

  • winhex怎么用(winhex怎么用恢复文件)

    winhex怎么用(winhex怎么用恢复文件)

  • ios12有去电接通震动吗(苹果12接电话问题)

    ios12有去电接通震动吗(苹果12接电话问题)

  • 小爱语音引擎可以卸载吗(小爱语音引擎可以用在别的手机上吗)

    小爱语音引擎可以卸载吗(小爱语音引擎可以用在别的手机上吗)

  • oppoa7x电池多少毫安(opopa7x电池多大)

    oppoa7x电池多少毫安(opopa7x电池多大)

  • 职工产假津贴怎么领取
  • 出口退税率怎么算
  • 利润表中利息费用包括什么
  • 预收账款哪一方是增加
  • 小规模差额申报怎么申报
  • 收到促销费方怎么做账
  • 申报个税提前一个月有什么影响
  • 维修企业主营项目有哪些
  • 企业清算过程中应收应付的处置
  • 委托邮政企业投诉电话
  • 合同印花税用不用计提
  • 税控服务费能抵扣吗
  • 承租人转租是否要交税
  • 保险没有合同能退保吗
  • 企业所得税弥补亏损怎么算
  • 收到发票错误主管有责任吗
  • 履约保证金需纳什么税
  • 税务局代增值税普通发票流程
  • 一般纳税人如何零申报
  • 家电折旧费法律依据
  • 支付测量费的补贴费用怎么记账
  • 2021年个人社保代扣失败
  • 应交税费重分类分录
  • 销售固定资产的收入计入什么科目
  • 个税申报月份有误如何调整?
  • 挂靠别人的资质进行房屋建筑会计怎样做账?
  • 房租付款和发票有关系吗
  • 合同取得成本和增量成本有什么区别
  • win 安全
  • 企业纳税申报的流程
  • php测验
  • 软件登记费用
  • 笔记本win10玩红警怎么全屏
  • 购进免税农产品进行进项税额抵扣时,其抵扣率为
  • 过桥资金账务处理
  • 固定资产的预计使用寿命和净残值发生变更
  • yolov3训练自己的数据超详细
  • php网站配置
  • jquery和php
  • 什么叫自适应控制
  • 手把手怎么写
  • 城建税5%的是什么情况
  • 补交上年所得税怎么调表
  • 小企业会计准则外币业务
  • 免征的教育费附加怎么做账
  • 机关单位差旅费
  • sql server打开方式
  • 一般纳税人公司出售旧车怎么开票
  • 一般纳税人是指哪些人群
  • 安防工程的注意事项
  • 4s店送的赠品怎么样
  • 残保金申报可以随便填吗
  • 接待客户的旅游活动
  • 公司要注销账面怎么处理
  • 应交税金减免税科目
  • 磅差怎么开票
  • 企业进项税额如何账务处理
  • 进项税额被转出怎么做账
  • 财务预算怎么做模板
  • 变更经营范围需要股东会决议吗
  • mysql 忘记密码重置密码
  • win7经典版怎么换回win10
  • 在苹果电脑上怎么下载软件
  • solaris的多线程实现方式
  • win7任务管理器怎么打开
  • window 查看端口
  • mac电脑打开safari
  • pavsrv51.exe - pavsrv51是什么进程 有什么用
  • linux进程管理命令使用
  • 根据当前目录下的文件
  • node.js详解
  • 魅蓝notezol
  • python3 bytes类型
  • jquery.form
  • 'd:skin' 开头的无效内容。此处不应含有子元素。
  • jquery的实现原理
  • 房地产企业预缴税款最新规定
  • 增值税发票税控开票软件卸载不了
  • 天津市河东区税务局
  • 电子发票查询平台打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设