Verilog学习笔记3——数据位宽、阻塞/非阻塞赋值、二进制码、独热码、格雷码比较、编写原则、三态门、
文章目录
- 前言
- 一、数据位宽
- 1、有符号定点数
- 2、Nbit和Mbit相加或相乘
- 二、阻塞赋值和非阻塞赋值
- 三、timescale
- 四、三态门的设计
- 五、verilog模块编程原则
- 六、二进制码、独热码、格雷码比较
- 1、独热码
- 2、格雷码
- 3、二进制码
前言
2023.4.5 清明节
一、数据位宽
N位有符号数:-2^(N-1) ~ 2^(N-1) -1
N位无符号数:0 ~ 2^N-1
如:8bit无符号数范围0-255,有符号数范围-128-127(0占掉了正数)
1、有符号定点数
范围:
最大值:3 + 2^-1 + 2^-2 + 2^-3 + 2^-4
最小值:-4 - (2^-1 + 2^-2 + 2^-3 + 2^-4 +2^-5)
N = 8,3Q5 //总共8位数,整数部分3位,小数部分5位
2、Nbit和Mbit相加或相乘
相加位数:+1
相乘位数:N+M
二、阻塞赋值和非阻塞赋值
组合电路要使用阻塞赋值,时序电路使用非阻塞赋值
| 阻塞赋值 | 非阻塞赋值 |
|---|---|
| = | <= |
| 立刻执行,立刻改变 | 一个周期计算右边的值,下个周期赋值给左边,在过程块结束时才完成赋值操作 |
| 执行过程不受其他语句执行的影响 | 不影响其他语句的执行 |
| 其他语句在执行后顺序执行 | 并行执行 |
| 在串行语句块中,顺序执行;在并行语句块中,同时执行 | 在串行语句块中,执行没有先后之分,各条语句并行执行 |
三、timescale
- 时间精度要小于等于时间单位
- 只能是1、10、100这样的数
- verilog是没有默认的timescale,没有声明的模块可能会错误的使用前面模块的定义
`timescale 时间单位/时间精度
`timescale 1ns/1ps
四、三态门的设计
三态门:既不是0,也不是1,电阻很大,相当于开路
always@(din or en)beginif(en)dout = din;elsedout = 1'bz;
end//或者assign赋值
assign dout = en ? din : 1'bz;
五、verilog模块编程原则
- 时序电路建模时,用非阻塞赋值。
锁存器电路建模时,用非阻塞赋值。- 用always块建立组合逻辑模型时,用阻塞赋值。
- 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。
- 在同一个always块中不要既用非阻塞赋值又用阻塞赋值。
- 不要在一个以上的 always 块中为同一个变量赋值。
- 用
$strobe系统任务来显示用非阻塞赋值的变量值。 - 在赋值时不要使用#0延时。
六、二进制码、独热码、格雷码比较
1、独热码
一种使用N位状态寄存器来对N个状态进行编码的方法,每个状态都由它独立的寄存器位,并且在任意时候,其中只有一位有效。
-
优点:状态比较时仅需要比较一位,从而在一定程度上简化了译码逻辑,节约了组合逻辑资源,速度更快 -
缺点:需要较多的寄存器资源,且编码效率低,适合用于状态数较少的情况。
2、格雷码
每次只有一位发生变化的二进制编码方法
优点:每次只改变1bit,低功耗,发送亚稳态概率降低缺点:无权码,不能直接进行计算
3、二进制码
编码简单,可以进行运算,但是翻转较多,容易产生亚稳态

相关文章:
Verilog学习笔记3——数据位宽、阻塞/非阻塞赋值、二进制码、独热码、格雷码比较、编写原则、三态门、
文章目录前言一、数据位宽1、有符号定点数2、Nbit和Mbit相加或相乘二、阻塞赋值和非阻塞赋值三、timescale四、三态门的设计五、verilog模块编程原则六、二进制码、独热码、格雷码比较1、独热码2、格雷码3、二进制码前言 2023.4.5 清明节 一、数据位宽 N位有符号数࿱…...
C++ Qt智能指针使用教程
C++ Qt智能指针使用教程 contents 一、 QSharedPointer用法二、 QWeakPointer三、QScopedPointer四、QPointer五、Qt智能指针需要注意的坑Qt提供了类似C++11智能指针的实现,用于自动管理动态分配的内存,避免内存泄漏和悬挂指针等问题。使用智能指针可以使代码更加安全、简洁和…...
【题解】BZOJ4975 区间翻转
题目大意 两人博弈,有一个 nnn 的排列 a1,a2,…,ana_1,a_2,\dots,a_na1,a2,…,an,每次操作为选择长度为 4x24x24x2 或 4x34x34x3 的区间,将其翻转,要求翻转后字典序大于翻转前。第一个不能操作的输。Q 先手,T 后…...
火箭参数相关知识
火箭参数相关 前言:学习笔记,很初级部分内容来之相关书籍,入门学习,欢迎指正 1 坐标系右手定则: 伸开手掌,大拇指指向X轴,四指指向Y轴,四指弯曲90后所指向的方向为Z轴。X 、Y、Z并…...
【JavaEE】死锁是什么?如何避免死锁(保姆级讲解)
博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶本篇文章将介绍什么是死锁,死锁的四大必要条件,如何去避免死锁~~~ 目录 一、死锁是什么? 二、关于死锁的情况 2.1 一个线程的情况 2.2 两个线程的情况…...
JS 实现占位符截取字符串内容
//charnum占位长度, //str 字符串内容 //返回charnum占位长度 下的字符串长度; function getcharlength(charnum,str){ var len 0; for (var i 0; i < str.length; i) { var c str.charCodeAt(i); //单字节加1 …...
Prophet学习(四)趋势Changepoints
目录 趋势Changepoints(Trend Changepoints) Prophet中的自动更改点检测(Automatic changepoint detection in Prophet) 调整趋势灵活性(Adjusting trend flexibility) 指定变更点的位置(Spe…...
超表面学习 初步印象
超表面学习中 第一章 初步认识 一.传统超表面 1.吸波 2.反射相位 3.透射相位 4.电磁带隙 引申出来的超表面基础应用: 1.透波透镜(对应透射相位) 分为近场和远场 近场:贝塞尔波束等等 远场:方向图控制(对应…...
脂肪肝 肾结石 怎么得来的
脂肪肝怎么得来的1.脂肪肝2.肾结石是如何产生的?1.脂肪肝 是由于肝细胞内脂肪堆积过多引起的慢性疾病,引起脂肪肝的因素有多种,由于常常没有自觉症状,往往不易引起人们的重视。常见原因有以下几种: 第一、过量饮酒&a…...
Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助
原文:http://inventwithpython.com/beyond/chapter1.html 请您不要将计算机当成佣人,因为这样会让您常常感觉很烦躁。比如说当计算机向您显示错误消息时,并不是因为您冒犯了它。计算机是我们大多数人都会接触到的最复杂的工具,但归…...
windows服务器自带IIS搭建网站并发布公网访问【内网穿透】
文章目录1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5.结语转载自远程源码文章:【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透…...
IFPUG功能点度量4:度量事务功能
一、基本概念 1、事务功能 事务功能是处理数据功能的基本过程。 每个事务功能都是一个基本过程。 事务功能由多个逻辑处理来完成。 事务功能包含三种类型:EI、EO、EQ 2、基本过程 一个基本过程是由一个逻辑处理或者多个逻辑处理来完成的。 如何识别…...
未来公寓智能化设计平台项目(上)
目录 1. 项目背景 1.1 建设背景 1.2 建设依据 2. 未来公寓总体方案设计 2.1 建设目标 2.2 未来公寓服务平台总体架构 2.3 功能简介 2.4 方案优势 3. 社区基础数据中心建设 3.1 建设目标 3.1.1 统一数据资产技术架构 3.1.2 完善和规范数据相关标准 3.1.3 统一元数据…...
Java8新特性 Steam流
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 这种风格将要处理的元素集合看作一种流, 流在管道中传输&…...
Unity 实现大世界地图的技术原理
在游戏开发中,大世界地图是一种非常重要的场景,它可以让玩家在游戏中自由探索和移动。但是,实现大世界地图也面临着一些技术挑战,比如如何处理大量的地图数据、如何优化地图的加载和渲染等问题。在本文中,我们将介绍Un…...
jQuery制作一个简单的打地鼠游戏(超详细讲解)
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…...
typora和C51开发环境
经过查阅,可以用wiz和typora联动的方式记录笔记,这样一个文件夹里既可以用typora也可以用内置编辑器(一种富文本编辑器),注意同一个文件不能用不同的编辑器,否则会错乱。以下,我列举了用typora的…...
linux echo彩色打印
定义了三个颜色 把打印的内容加载头和尾巴之间即可 pt_head_green"\033[32;1m" pt_head_red"\033[31;1m" pt_head_yellow"\033[33;1m" pt_tail"\033[0m"echo "$pt_head_yellow | make clean |$pt_tail"...
2023年4月PMP®项目管理专业人士认证招生简章
PMP认证是Project Management Institute在全球范围内推出的针对评价个人项目管理知识能力的资格认证体系。国内众多企业已把PMP认证定为项目经理人必须取得的重要资质。 【PMP认证收益】 1、能力的提升(领导力,执行力,创新能力,竞…...
Java每日一练(20230410)
目录 1. 二叉树的锯齿形层序遍历 🌟🌟 2. 从中序与后序遍历序列构造二叉树 🌟🌟 3. 平衡二叉树 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
