当前位置: 首页 > news >正文

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位有符号数&#xff1…...

C++ Qt智能指针使用教程

C++ Qt智能指针使用教程 contents 一、 QSharedPointer用法二、 QWeakPointer三、QScopedPointer四、QPointer五、Qt智能指针需要注意的坑Qt提供了类似C++11智能指针的实现,用于自动管理动态分配的内存,避免内存泄漏和悬挂指针等问题。使用智能指针可以使代码更加安全、简洁和…...

【题解】BZOJ4975 区间翻转

题目大意 两人博弈&#xff0c;有一个 nnn 的排列 a1,a2,…,ana_1,a_2,\dots,a_na1​,a2​,…,an​&#xff0c;每次操作为选择长度为 4x24x24x2 或 4x34x34x3 的区间&#xff0c;将其翻转&#xff0c;要求翻转后字典序大于翻转前。第一个不能操作的输。Q 先手&#xff0c;T 后…...

火箭参数相关知识

火箭参数相关 前言&#xff1a;学习笔记&#xff0c;很初级部分内容来之相关书籍&#xff0c;入门学习&#xff0c;欢迎指正 1 坐标系右手定则&#xff1a; 伸开手掌&#xff0c;大拇指指向X轴&#xff0c;四指指向Y轴&#xff0c;四指弯曲90后所指向的方向为Z轴。X 、Y、Z并…...

【JavaEE】死锁是什么?如何避免死锁(保姆级讲解)

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶本篇文章将介绍什么是死锁&#xff0c;死锁的四大必要条件&#xff0c;如何去避免死锁~~~ 目录 一、死锁是什么&#xff1f; 二、关于死锁的情况 2.1 一个线程的情况 2.2 两个线程的情况…...

JS 实现占位符截取字符串内容

//charnum占位长度&#xff0c; //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&#xff08;Trend Changepoints&#xff09; Prophet中的自动更改点检测&#xff08;Automatic changepoint detection in Prophet&#xff09; 调整趋势灵活性&#xff08;Adjusting trend flexibility&#xff09; 指定变更点的位置&#xff08;Spe…...

超表面学习 初步印象

超表面学习中 第一章 初步认识 一.传统超表面 1.吸波 2.反射相位 3.透射相位 4.电磁带隙 引申出来的超表面基础应用&#xff1a; 1.透波透镜&#xff08;对应透射相位&#xff09; 分为近场和远场 近场&#xff1a;贝塞尔波束等等 远场&#xff1a;方向图控制&#xff08;对应…...

脂肪肝 肾结石 怎么得来的

脂肪肝怎么得来的1.脂肪肝2.肾结石是如何产生的&#xff1f;1.脂肪肝 是由于肝细胞内脂肪堆积过多引起的慢性疾病&#xff0c;引起脂肪肝的因素有多种&#xff0c;由于常常没有自觉症状&#xff0c;往往不易引起人们的重视。常见原因有以下几种&#xff1a; 第一、过量饮酒&a…...

Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助

原文&#xff1a;http://inventwithpython.com/beyond/chapter1.html 请您不要将计算机当成佣人&#xff0c;因为这样会让您常常感觉很烦躁。比如说当计算机向您显示错误消息时&#xff0c;并不是因为您冒犯了它。计算机是我们大多数人都会接触到的最复杂的工具&#xff0c;但归…...

windows服务器自带IIS搭建网站并发布公网访问【内网穿透】

文章目录1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5.结语转载自远程源码文章&#xff1a;【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透…...

IFPUG功能点度量4:度量事务功能

一、基本概念 1、事务功能 事务功能是处理数据功能的基本过程。 每个事务功能都是一个基本过程。 事务功能由多个逻辑处理来完成。 事务功能包含三种类型&#xff1a;EI、EO、EQ 2、基本过程 一个基本过程是由一个逻辑处理或者多个逻辑处理来完成的。 如何识别&#xf…...

未来公寓智能化设计平台项目(上)

目录 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程序员的生产力&#xff0c;让程序员写出高效率、干净、简洁的代码。 这种风格将要处理的元素集合看作一种流&#xff0c; 流在管道中传输&…...

Unity 实现大世界地图的技术原理

在游戏开发中&#xff0c;大世界地图是一种非常重要的场景&#xff0c;它可以让玩家在游戏中自由探索和移动。但是&#xff0c;实现大世界地图也面临着一些技术挑战&#xff0c;比如如何处理大量的地图数据、如何优化地图的加载和渲染等问题。在本文中&#xff0c;我们将介绍Un…...

jQuery制作一个简单的打地鼠游戏(超详细讲解)

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;老茶icon &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;计…...

typora和C51开发环境

经过查阅&#xff0c;可以用wiz和typora联动的方式记录笔记&#xff0c;这样一个文件夹里既可以用typora也可以用内置编辑器&#xff08;一种富文本编辑器&#xff09;&#xff0c;注意同一个文件不能用不同的编辑器&#xff0c;否则会错乱。以下&#xff0c;我列举了用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、能力的提升&#xff08;领导力&#xff0c;执行力&#xff0c;创新能力&#xff0c;竞…...

Java每日一练(20230410)

目录 1. 二叉树的锯齿形层序遍历 &#x1f31f;&#x1f31f; 2. 从中序与后序遍历序列构造二叉树 &#x1f31f;&#x1f31f; 3. 平衡二叉树 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

动态规划-1035.不相交的线-力扣(LeetCode)

一、题目解析 光看题目要求和例图&#xff0c;感觉这题好麻烦&#xff0c;直线不能相交啊&#xff0c;每个数字只属于一条连线啊等等&#xff0c;但我们结合题目所给的信息和例图的内容&#xff0c;这不就是最长公共子序列吗&#xff1f;&#xff0c;我们把最长公共子序列连线起…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...

LeetCode 0386.字典序排数:细心总结条件

【LetMeFly】386.字典序排数&#xff1a;细心总结条件 力扣题目链接&#xff1a;https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...