【 Verilog HDL 】清晰的时序逻辑描述方法之计数器的描述范例
所谓清晰,就是便于阅读与理解,如下HDL代码所描述的电路就是清晰的时序逻辑电路,对应计数器的功能:
always@( posedge clk )
beginif( rst )begincount <= 1'b0;endelsebegincount <= nextCount;endendassign nextCount = count + 1'b1;
虽然这个代码简单,但就是这样的代码能说明问题,带给了我一些启发。上述代码之所以清晰,就是把描述组合逻辑和纯时序逻辑的代码分隔开来,尤其是当代码所描述的功能稍微复杂一些的时候,这样更方便阅读和理解。
所谓的纯时序逻辑,其实就是对寄存器的行为进行描述。其相对于组合逻辑最大的不同就是敏感时钟边沿事件,可以是敏感上升沿也可以是敏感下降沿,这个根据实际需求决定,但是绝不可能是同时敏感时钟的两种边沿事件,这是由其所对应的触发器的结构和工作原理决定的,因为触发器这种硬件结构只有一个时钟输入端。
因此,类似如下的代码是无法综合的:
always@( posedge clk, negedge clk )
begina <= din;end
由于上述那个计数器的例子比较简单,所以组合逻辑和时序逻辑混写也无伤大雅。如下:
always@( posedge clk )
beginif( rst )begincount <= 1'b0;endelsebegincount <= count + 1'b1;endend
这个组合逻辑就藏身于赋值操作符号的右边。当组合逻辑比较简单时,这样做也无伤大雅,甚至能让代码更加的简洁。
【 Verilog HDL 】清晰的时序逻辑描述方法之计数器的描述范例相关推荐
- Verilog HDL组合逻辑与时序逻辑区别
1.1 Verilog HDL组合逻辑与时序逻辑区别 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Verilog HDL组合逻辑与时序逻辑区别: 5)结束语. 1.1 ...
- 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)
目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...
- 【校招Verilog进阶挑战】 时序逻辑篇:VL15 自动贩售机2
文章目录 题目 题解 题目 描述 题目描述:设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元. ps: 1.投入的货币会自动经过边沿检 ...
- FPGA之道(43)编写纯净的组合或时序逻辑
文章目录 前言 编写纯净的组合或时序逻辑 组合逻辑描述方法 范例介绍 注意事项 注意语句顺序 纯时序逻辑描述方法 范例介绍 注意事项 避免敏感双沿 注意语句顺序 清晰的时序逻辑描述方法 范例介绍 无伤 ...
- Verilog HDL简明教程
Verilog HDL简明教程 来源: 郭红卫的日志 Verilog HDL简明教程 Verilog HDL是一种硬件描述语言,用于从算法级.门级到开关级的多种抽象设计层次的数字系统建模.被建模的数字 ...
- 【黑金动力社区】【FPGA黑金开发板】Verilog HDL的礼物 - Verilog HDL扫盲文
声明:本文为原创作品,版权归akuei2及黑金动力社区共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 目录 目录 02 第0章 Veril ...
- 如何用Verilog HDL设计显示译码器
Verilog HDL 设计显示译码器 逻辑原理: 7 段数码是纯组合电路,通常的小规模专用 IC,如 74 或 4000 系列的器件只能作十进制 BCD 码译码,然而数字系统中的数据处理和运算都是 ...
- 为什么在 Verilog HDL 设计中一定要用同步而不能用异步时序逻辑?
本博文内容来源于:<从算法设计到硬件逻辑的实现>,仅供学习交流使用! 同步时序逻辑是指表示状态的寄存器组的值只可能在唯一确定的触发条件发生时刻改变.只能由时钟的正跳沿或负跳沿触发的状态机就 ...
- (05)Verilog HDL时序逻辑:always
(05)Verilog HDL时序逻辑:always 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL时序逻辑:always 5)结语 1.2 FP ...
最新文章
- 皮一皮:最头铁的汪峰...
- 「镁客早报」任正非称对苹果等对手出售5G芯片持开放态度;马斯克称未来12个月内将生产超过50万辆车...
- MSM--Memcached_Session_Manager介绍及使用
- 宣汉计算机公办学校,宣汉职业中专学校是公办的吗
- java 申请不定长度数组_java中申请不定长度数组ArrayList的方法
- python 倒叙 数组_Python函数合集:68个内置函数请收好!
- 月工资5000元,如何快速积累30万?
- Android开源框架源码鉴赏:LruCache与DiskLruCache
- GCC一些有用的技巧
- ASP.NET前端解决方案之一:Ext.Net入门随笔1
- 小工具-FTP文件传输(FlashFXP4.4.2 )
- 偏最小二乘法(SIMPLS---未简化)
- 各国网站域名后缀名大全
- php 单笔转账到支付宝账户,php之支付宝转账或发红包到指定账户(提现功能)
- 2023税务师DA考点抢先学
- 关于Flash的几点思考(Thoughts on Flash)
- html自动验证邮件地址格式,JavaScript表单验证和邮箱格式验证的方法
- C语言课间程序设计实践报告
- Attention 与Hierarchical Attention Networks 原理
- Eclipse开发工具--简介
热门文章
- RegisterStartupScript 和 RegisterClientScriptBlock 的区别
- 你的组织为自动化测试做好准备了吗?
- 波涛汹涌的黄金甲,一碗中药引发的血案!
- android 渠道包 占位符配置,Android打包
- php定义常量和静态常量的区别,php静态变量与自定义常量的区别实例详解
- 公司--页面调用日期控件 WdatePicker日历控件使用方法
- index.html安全文件,restorecon - 恢复文件的安全上下文
- 软件开发人员标准薪金 人月_软件产品测试周期
- python中x y表示_Python中表达式x += y和x = x+y 的区别详解
- 戴尔sc系列存储阵列柜服务器,国产化的戴尔存储 到底都长什么样?