数字电路基础知识与Verilog入门
创作时间:
作者:
@小白创作中心
数字电路基础知识与Verilog入门
引用
CSDN
1.
https://m.blog.csdn.net/t15061113172/article/details/103988141/
数字电路是现代电子系统的基础,而Verilog硬件描述语言则是设计和实现数字电路的重要工具。本文将从数制与编码、逻辑代数以及Verilog语言基础三个方面,为读者提供一个全面的入门指南。
1. 数制与编码
在Verilog中表示二进制数时,需要指定其长度和标识。例如,8'b1000
表示8位的二进制数1000,8'd8
表示十进制数8,8'h8
表示十六进制数8。需要注意的是,默认的位数是32位,默认的进制是十进制。
1.1 格雷码
格雷码又称为循环二进制码或反射二进制码,其基本特点是任意两个相邻的代码只有一位二进制数不同。这种特性在某些特定情况下非常有用,可以避免电路状态错误或输出错误的结果。
1.2 二进制码和格雷码的相互转换
- 二进制码转换为格雷码:最左边一位保持不变,从右边倒数第一位起,依次与左边一位进行异或操作,作为该位对应格雷码的值。
- 格雷码转换为二进制码:最左边一位保持不变,从左边第二位起,依次与左边一位进行异或操作,作为该位对应二进制码的值。
2. 逻辑代数
Verilog HDL内置了26个基本元件,其中14个是门级元件,12个为开关级元件。常见的门电路包括与门(and)、与非门(nand)、或门(or)、或非门(nor)、非门(not)、异或门(xor)和同或门(nxor)。
3. 硬件描述语言(Verilog)
模块是Verilog HDL的基本描述单位,用于描述每个设计的功能或结构,以及与其他模块通信的外部接口。一个模块可以包括整个设计模块或者设计模型的一部分,模块的定义总是从关键词module
开始,以关键词endmodule
结尾。
模块结构
- 模块名:模块唯一的标示符,括号中以逗号分隔列出的端口名是该模块的输入、输出端口;
- 端口类型说明:input(输入)、output(输出)、inout(双向端口)三种类型;
- 参数定义:将常量用符号常量替代,以增加程序的可读性和可修改性;
- 数据类型定义:用来指定模块内所用的数据对象是寄存器类型(reg等)还是连线类型(wire等)。
关于reg和wire的使用以及always @(A,B)
- 在Verilog中,任何过程赋值的左侧变量必须声明为reg,除此之外使用的变量必须声明为wire;
- Verilog区分reg和wire的原因与数据类型检查有关,这样能保证设计者无法对同一变量使用两种不同类型赋值;
always @(A,B)
表示不断循环等待A和B两个敏感变量变化,只要有任何输入信号变化,其输出立即发生变化。
热门推荐
李明德:以《鸣龙少年》成名,风波后仍坚持演艺梦想
李明德:用真实演技和阳光性格赢得观众青睐
演员李明德控诉马天宇“耍大牌”,遭对方起诉名誉侵权
红景天:为何被誉为“药中上品”
新手投资者如何选择适合的期货品种?这些品种如何帮助降低风险?
期货交易中如何设置合理的止损和止盈?
每小时一班,票价18元:吉林市⇋龙嘉机场公交开通
根管治疗后可维持10年以上,这些护理要点要记牢
根管治疗八大步骤:从诊断到修复的完整指南
5万捐款未到账,李明德被质疑诈捐
从1200万粉丝到账号封禁,李明德的昙花一现
李明德:2025年陷入争议,曾以三部校园剧走红
三七粉加三味成四宝粉,功效更全面
CS专业申请火爆,美国多所名校限制转专业
四书五经详解:构成儒家思想体系的核心典籍
中国中医科学院:修复750册古籍,数字化保护传承中医药文化
王洪图教授:创新脾胃理论的“内经学”学科开创者
人工智能崛起:人类是否能够永生
金庸诞辰百年:七怪传奇展现武侠精神内核
2024版金庸武侠世界:蒙太奇叙事展现立体武侠世界
强密码设置攻略:告别弱密码,拥抱网络安全
揭秘手机密码安全:谁最靠谱?
痛风石治疗指南:药物、手术双管齐下,饮食调理助力康复
痛风治疗亟待突破:现有药物存缺陷,器械疗法初现曙光
甜菜:餐桌上的“营养之王”,这样吃最健康
天冷蒸馒头,5个技巧做出蓬松柔软的完美馒头
专家实验证明:冰箱冷冻馒头不会产生黄曲霉毒素
从盟友到对手:美苏争霸下的二战军事格局变迁
大年初一上映!《射雕英雄传》首次展现郭靖历史原型
射雕英雄传:一段超越个人情感的家国大义