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

「Verilog学习笔记」非整数倍数据位宽转换8to12

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

要实现8bit数据至12bit数据的位宽转换,必须要用寄存器将先到达的数据进行缓存。8bit数据至12bit数据,相当于1.5个输入数据拼接成一个输出数据,出于对资源的节省以及时序要求,采用1个8bit的寄存器(data_lock)进行数据缓存。

根据时序图,数据是在第二个数据到来之后输出,当仅有一个数据到来时,不产生输出,所以内部设计一个计数器(valid_cnt),用来指示数据接收状态。当检测到valid_in拉高时,valid_cnt加1,valid_cnt在0-2之间循环,valid_cnt复位值是0。当valid_cnt是1或2,且valid_in为高时,输出数据,valid_out拉高。

`timescale 1ns/1nsmodule width_8to12(input 				   clk 		,   input 			      rst_n		,input				      valid_in	,input	[7:0]			   data_in	,output  reg			   valid_out,output  reg [11:0]   data_out
);reg [7:0] data_lock ; reg [1:0] valid_cnt ; always @ (posedge clk or negedge rst_n) beginif (~rst_n) data_lock <= 'd0 ; else if (valid_in) data_lock <= data_in ; endalways @ (posedge clk or negedge rst_n) begin if (~rst_n) valid_cnt <= 'd0 ; else if (valid_in) if (valid_cnt == 2'd2) valid_cnt <= 'd0 ; else valid_cnt <= valid_cnt + 1'd1 ; endalways @ (posedge clk or negedge rst_n) begin if (~rst_n) valid_out <= 'd0 ; else if (valid_in && (valid_cnt == 2'd1 || valid_cnt == 2'd2)) valid_out <= 1'd1 ; else valid_out <= 'd0 ;endalways @ (posedge clk or negedge rst_n) begin if (~rst_n) data_out <= 'd0 ; else if (valid_in && valid_cnt == 2'd1) data_out <= {data_lock, data_in[7:4]} ;else if (valid_in && valid_cnt == 2'd2) data_out <= {data_lock[3:0], data_in} ; endendmodule

相关文章:

「Verilog学习笔记」非整数倍数据位宽转换8to12

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 要实现8bit数据至12bit数据的位宽转换&#xff0c;必须要用寄存器将先到达的数据进行缓存。8bit数据至12bit数据&#xff0c;相当于1.5个输入数据拼接成一个输出数据&#…...

Qt_一个由单例引发的崩溃

Qt_一个由单例引发的崩溃 文章目录 Qt_一个由单例引发的崩溃摘要关于 Q_GLOBAL_STATIC代码测试布局管理器源码分析Demo 验证关于布局管理器析构Qt 类声明周期探索更新代码获取父类分析Qt 单例宏源码 关键字&#xff1a; Qt、 Q_GLOBAL_STATIC、 单例、 UI、 崩溃 摘要 今…...

P8A004-系统加固-磁盘访问权限

【预备知识】 访问权限&#xff0c;根据在各种预定义的组中用户的身份标识及其成员身份来限制访问某些信息项或某些控制的机制。访问控制通常由系统管理员用来控制用户访问网络资源&#xff08;如服务器、目录和文件&#xff09;的访问&#xff0c;并且通常通过向用户和组授予…...

数智赋能 锦江汽车携手苏州金龙打造高质量盛会服务

作为一家老牌客运公司&#xff0c;成立于1956年的上海锦江汽车服务有限公司&#xff08;以下简称锦江汽车&#xff09;&#xff0c;拥有1200多辆大巴和5000多辆轿车&#xff0c;是上海乃至长三角地区规模最大的专业旅游客运公司。面对客运市场的持续萎缩&#xff0c;锦江汽车坚…...

kolla-ansible 部署OpenStack云计算平台

目录 一、环境 二、安装及部署 三、测试 一、环境 官方文档&#xff1a;https://docs.openstack.org/kolla-ansible/yoga/user/quickstart.html rhel8.6 网络设置&#xff1a; 修改网卡名称 网络IP&#xff1a; 主机名&#xff1a; 网络时间协议 配置软件仓库 vim docke…...

wireshark 抓包提示

[TCP Previous segment not captured] 在TCP的传输阶段&#xff0c;同一台主机发出的数据段应该是连续的&#xff0c;即后一个包的Seq等于前一个包的SeqLen&#xff08;三次握手和四次挥手是个例外&#xff09;。如果wireshark发现后一个包的Seq号大于前一个包的SeqLen&#xf…...

Redis未授权访问-CNVD-2019-21763复现

Redis未授权访问-CNVD-2019-21763复现 利用项目&#xff1a; https://github.com/vulhub/redis-rogue-getshell 解压后先进入到 RedisModulesSDK目录里面的exp目录下&#xff0c;make编译一下才会产生exp.so文件&#xff0c;后面再利用这个exp.so文件进行远程代码执行 需要p…...

汇编:常用的输入与输出

1.字符输出 使用int 21h中断的02h号功能可以在屏幕输出一个字符&#xff0c;dl中存放要输出字符的ascii码。 如下代码将在屏幕输出一个字符“a”&#xff1a; mov ah,02hmov dl,aint 21h 2.字符输入 使用int 21h中断的01h号功能可以接受一个字符&#xff0c;al存放输…...

MYSQL基础之【正则表达式,事务处理】

文章目录 前言MySQL 正则表达式MySQL 事务事务控制语句事务处理方法PHP中使用事务实例 后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Mysql &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不…...

Mysql并发时常见的死锁及解决方法

使用数据库时&#xff0c;有时会出现死锁。对于实际应用来说&#xff0c;就是出现系统卡顿。 死锁是指两个或两个以上的事务在执行过程中&#xff0c;因争夺资源而造成的一种互相等待的现象。就是所谓的锁资源请求产生了回路现象&#xff0c;即死循环&#xff0c;此时称系统处于…...

二十九、微服务案例完善(数据聚合、自动补全、数据同步)

目录 一、定义 二、分类 1、桶(Bucket)聚合: 2、度量(Metric&#xff09;聚合: 3、管道聚合&#xff08;Pipeline Aggregation&#xff09;&#xff1a; 4、注意&#xff1a; 参与聚合的字段类型必须是: 三、使用DSL实现聚合 聚合所必须的三要素&#xff1a; 聚合可配…...

vue 目录树的展开与关闭

目录 1、翻页方法中控制目录树节点的展开与关闭2、搜索目录树节点名称控制节点的展开与关闭 <el-tree:data"data_option"ref"tree":props"defaultProps"node-click"handleNodeClick":default-expanded-keys"needExpandedKeys&…...

【Docker】python flask 项目如何打包成 Docker images镜像 上传至阿里云ACR私有(共有)镜像仓库 集成Drone CI

一、Python环境编译 1、处理好venv环境 要生成正常的 requirements.txt 文件&#xff0c;我们就需要先将虚拟环境处理好 创建虚拟环境&#xff08;可选&#xff09;&#xff1a; 在项目目录中&#xff0c;你可以选择使用虚拟环境&#xff0c;这样你的项目依赖将被隔离在一个…...

力扣labuladong——一刷day55

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣951. 翻转等价二叉树二、力扣124. 二叉树中的最大路径和三、力扣112. 路径总和&#xff08;遍历&#xff09;四、力扣112. 路径总和&#xff08;分解&a…...

springboot实现验证码功能

转载自 : www.javaman.cn 1、编写工具类生成4位随机数 该工具类主要生成从0-9&#xff0c;a-z&#xff0c;A-Z范围内产生的4位随机数 /*** 产生4位随机字符串*/public static String getCheckCode() {String base "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn…...

内测分发平台是否支持应用的微服务化部署

内测分发平台的微服务化部署支持是现代应用开发和部署的一个重要特性。首先我们得知道什么是微服务化部署都有哪些关键功能&#xff0c;如何实施微服务化的部署。下文以我自己理解总结了几点。 图片来源:news.gulufenfa.com 微服务是一种基于独立运行的小型服务来构建应用程序…...

1140. 最短网络,prim算法,模板题

1140. 最短网络 - AcWing题库 农夫约翰被选为他们镇的镇长&#xff01; 他其中一个竞选承诺就是在镇上建立起互联网&#xff0c;并连接到所有的农场。 约翰已经给他的农场安排了一条高速的网络线路&#xff0c;他想把这条线路共享给其他农场。 约翰的农场的编号是1&#xf…...

升级jdk17过程中,原来的jdk8下的webservice客户端怎样处理

背景&#xff1a;之前jdk8环境下&#xff0c;使用的cxf框架&#xff0c;而且是动态加载解析作为客户端。大家一直相处的很愉快。但是最近升级jdk17&#xff0c;发现cxf不好用了。网上百度&#xff0c;大部分都是说升级cxf版本&#xff0c;并且添加jaxb的相关依赖就可以了。但是…...

Verilog基本语法概述

一、概述 Verilog 是一种用于数字逻辑电路设计的硬件描述语言&#xff0c;可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种 行为级&#xff08;可用于电路的功能描述&#xff09; 描述语言又是一种 结构性&#xff08;可用于元器件及其之间的连接&#xff09…...

论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM

前言 论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping&#xff0c;是发表在MDPI drones&#xff08;二区&#xff0c;IF4.8&#xff09;上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为…...

鸿蒙Next实战:5分钟搞定跨应用拖拽图片功能(附完整代码)

鸿蒙Next实战&#xff1a;5分钟搞定跨应用拖拽图片功能&#xff08;附完整代码&#xff09; 在移动应用开发中&#xff0c;跨应用数据交互一直是提升用户体验的关键技术点。想象一下&#xff0c;用户无需繁琐的保存-导入流程&#xff0c;只需简单拖拽就能将图片从相册应用转移到…...

探索当前主流配送算法的运作方式

就我了解的而言&#xff0c;目前主流配送平台主要依赖强化学习&#xff08;RL&#xff09;、深度神经网络&#xff08;DNN&#xff09;和图神经网络&#xff08;GNN&#xff09;等技术来优化订单匹配与派单策略。强化学习模型用于模拟配送场景&#xff0c;通过不断试错训练出最…...

OpenVSP:为什么说它是航空航天工程师的“参数化设计瑞士军刀“?

OpenVSP&#xff1a;为什么说它是航空航天工程师的"参数化设计瑞士军刀"&#xff1f; 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP 在航空航天领域&#xff0c;每个设计决策都关乎着…...

UVa 11705 Grasshopper

题目描述 我们来到游乐场&#xff0c;看到一个名为“蚱蜢迷宫”的蹦床阵列。每个蹦床上标有一个非负整数 zzz&#xff0c;表示从该蹦床起跳后&#xff0c;必须在同一行或同一列上&#xff0c;恰好跳过 zzz 个蹦床到达另一个蹦床&#xff08;即距离为 zzz&#xff09;。迷宫的出…...

Java 开发家政预约小程序后台,同城服务全场景覆盖

以下是一套基于Java技术栈的家政预约小程序后台解决方案&#xff0c;可实现同城服务全场景覆盖&#xff0c;支持用户、服务人员、管理员三端协同&#xff0c;并具备智能派单、实时定位、多端数据互通等核心能力&#xff1a;一、技术架构设计1. 后端框架核心框架&#xff1a;Spr…...

【数据库】Redis的线程与IO

百万笔记知识库&#xff0c; 所有基础的笔记都在这里面啦&#xff0c;点击左边蓝字即可获取&#xff01;助力每一位未来架构师&#xff01; 欢迎大家在评论区唠嗑指正&#xff0c;觉得好的话别忘了一键三连哦&#xff01;&#x1f618; 文章目录线程模型通信流程文件事件处理器…...

深度解析MelonLoader:Unity游戏模组加载器的架构设计与系统优化

深度解析MelonLoader&#xff1a;Unity游戏模组加载器的架构设计与系统优化 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader Mel…...

谷歌seo怎么优化内容?10年老兵拆解底层机制与SOP

一、 认知反转与致命后果&#xff1a;你以为的内容优化&#xff0c;其实是算法毒药很多人以为谷歌SEO优化内容&#xff0c;就是找一堆关键词&#xff0c;在文章里生硬地重复&#xff0c;或者买个工具用AI一天批量生成100篇伪原创文章发布。其实底层逻辑是&#xff0c;谷歌从来不…...

为什么大多数AI讲解工具读不对数学公式?

最近在做PPT讲解视频时&#xff0c;我发现一个很普遍的问题&#xff1a;&#x1f449; AI可以把一段文字讲得很流畅&#xff0c;但一遇到数学公式&#xff0c;就开始“翻车”。比如&#xff1a;被读成 “E 等于 m c 二” 被读成 “int f x d x” 被读成 “x 二加 y 二等于 z 二…...

如何快速搭建个人知识库:知识星球内容归档工具完整指南

如何快速搭建个人知识库&#xff1a;知识星球内容归档工具完整指南 【免费下载链接】zsxq-spider 爬取知识星球内容&#xff0c;并制作 PDF 电子书。 项目地址: https://gitcode.com/gh_mirrors/zs/zsxq-spider 你是否曾经在知识星球上看到一篇深度好文&#xff0c;几周…...