「Verilog学习笔记」非整数倍数据位宽转换24to128
专栏前言
本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网


要实现24bit数据至128bit数据的位宽转换,必须要用寄存器将先到达的数据进行缓存。24bit数据至128bit数据,相当于5个输入数据+第6个输入数据的拼接成一个输出数据,出于对资源的节省以及时序要求,采用120bit的寄存器(data_lock)进行数据缓存。由24 * 16 = 128 * 3可知,每16组data_in就会是一轮循环,并且在第6,11,16组数据来临时,data_out完成输出,data_lock的值是由原data_lock的低位和新data_in补低位实现的(各位可模拟一下)这样可以实现先输入的数据将会在输出数据的高位优先输出。
`timescale 1ns/1nsmodule width_24to128(input clk , input rst_n ,input valid_in ,input [23:0] data_in ,output reg valid_out ,output reg [127:0] data_out
);reg [119:0] data_lock ; reg [3:0] valid_cnt ; always @ (posedge clk or negedge rst_n) begin if (~rst_n) valid_cnt <= 1'd0 ; else if (valid_in) if (valid_cnt == 4'd15) valid_cnt <= 4'd0 ; else valid_cnt <= valid_cnt + 1'd1 ; endalways @ (posedge clk or negedge rst_n) begin if (~rst_n) begin data_lock <= 1'd0 ; data_out <= 1'd0 ; endelse if (valid_in) begin if (valid_cnt == 4'd5) begin data_lock <= {data_lock[119:16], data_in[15:0]} ; data_out <= {data_lock, data_in[23:16]} ; endelse if (valid_cnt == 4'd10) begin data_lock <= {data_lock[119:8], data_in[7:0]} ; data_out <= {data_lock[111:0], data_in[23:8]} ;endelse if (valid_cnt == 4'd15) begin data_lock <= {data_lock[119:24], data_in} ; data_out <= {data_lock[103:0], data_in} ; endelse data_lock <= {data_lock[95:0], data_in} ; endendalways @ (posedge clk or negedge rst_n) begin if (~rst_n) valid_out <= 1'd0 ; else if (valid_in && (valid_cnt == 4'd5 || valid_cnt == 4'd10 || valid_cnt == 4'd15)) valid_out <= 1'd1 ; else valid_out <= 1'd0 ;end
endmodule相关文章:
「Verilog学习笔记」非整数倍数据位宽转换24to128
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 要实现24bit数据至128bit数据的位宽转换,必须要用寄存器将先到达的数据进行缓存。24bit数据至128bit数据,相当于5个输入数据第6个输入数据的拼接成一…...
2023亚太地区数学建模C题思路模型代码论文
C题的参考思路: 1,问题1的思路: 确定研究问题的主要指标体系(新能源电车的售出数量、安全性指标、充电桩数目、电池续 航里程等),收集指标的对应数据,检验数据是否服从正态性: 若服从正态分布: 0,可考虑优先采用“多元方差分析”模…...
苹果商城App上架指南在中发里查看
苹果商城App上架指引可以在app应用分发平台网站上查看。具体步骤如下: 登录苹果开发者网站。进入“Certificates, Identifiers & Profiles”选项。在页面左侧选择“App Store Connect”。点击“App Store Connect”页面顶部的“Developer Guide”。在左侧菜单中…...
Android 框架层AIDL 添加接口
文章目录 AIDL的原理构建AIDL的流程往冻结的AIDL中加接口 AIDL的原理 可以利用ALDL定义客户端与服务均认可的编程接口,以便二者使用进程间通信 (IPC) 进行相互通信。在 Android 中,一个进程通常无法访问另一个进程的内存。因此,为进行通信&a…...
ubuntu命令行下中文乱码怎么解决
大家好,今天来介绍ubuntu命令行中文乱码怎么解决(ubuntu中文文件名乱码)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧! ubuntu命令行下中文乱码怎么解决 我也呀见过这个问题 一. Ubuntu默认的中文字符编码 Ubuntu默认的中文字谈码符编码为zh_CN.UT…...
沈阳陪诊系统|陪诊软件开发功能
陪诊小程序的出现它可以帮助患者或家属解决就医过程中的各种问题。根据数据显示,2021年中国陪诊市场规模约为36.7亿元,预计到2025年将达到100亿元。同时,在医疗行业数字化转型的大背景下,陪诊微信小程序作为一种创新的医疗服务模式…...
Element-Plus 表格 el-table 如何支持分页多选
🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…...
网站被流量攻击了,该怎么处理
几乎每个网站都面临被攻击或者入侵的风险,无论是简单的博客论坛、投资平台、小型的独立电商网站还是动态电子商务平台都有被攻击的情况出现,只是或大或小,或多或少罢了 为什么网站会被攻击?黑客如何来入侵这些网站?如何才能有效保护我的网站不…...
配置特定 IP 地址走指定网关
公司有两个日常上网用的路由器,分别接不同的两条网线,虽然都是电信的,但是一条偶尔会抽风,我的 VPS 会连不上,也就是挂在上面的 SS 无法使用。恰好这根线是公司接台式机的,也就是说平时上班偶尔会无法科学上…...
Linux的基本指令(四)
目录 前言 时间相关的指令 date指令 时间戳 日志 时间戳转化为具体的时间 cal指令 find指令(十分重要) grep指令(行文本过滤工具) 学前补充 什么是打包和压缩? 为什么要打包和压缩? 怎么打包和…...
vue+elementui如何实现在表格中点击按钮预览图片?
效果图如上: 使用el-image-viewer 重点 : 引入 import ElImageViewer from "element-ui/packages/image/src/image-viewer"; <template><div class"preview-table"><el-table border :data"tableData" …...
LLaMA 2:开源的预训练和微调语言模型推理引擎 | 开源日报 No.86
facebookresearch/llama Stars: 36.0k License: NOASSERTION LLaMA 2 是一个开源项目,用于加载 LLaMA 模型并进行推理。 该项目的主要功能是提供预训练和微调后的 LLaMA 语言模型的权重和起始代码。这些模型参数范围从 7B 到 70B 不等。 以下是该项目的关键特性…...
01-AI大模型智能客服 V0.1「上」
你好,我是悦创。 首发:https://mp.weixin.qq.com/s/6MTkpWZCEbFWOcUn0Vexvw V0.1 版本我将分为上中下三篇进行书写和发布,欢迎分享和我微信进讨论群:Jiabcdefh。 计划: 会迭代好几个版本,看阅读量和点赞…...
【23真题】罕见211!数一配英二!
今天分享的是23年合肥工业大学833的信号与系统数字信号处理试题及解析。合工大833考数一英二,这样的搭配还是很少见的。 本套试卷难度分析:22年合肥工业大学833考研真题,我也发布过,若有需要,戳这里自取!平均分为80和…...
Linux 项目自动化构建工具:make/makefile
什么是 make make 是一个命令,他会在源文件的当前目录下寻找 makefile 或者 Makefile 文件执行这个文件中的代码。 makefile 文件的编写 我们先来见见猪跑,看看 make 怎么用的: 下面是 makefile 文件的内容: 这是 test.c 中的…...
android trace文件的抓取与查看方法
本地手机抓取trace 解压android trace文件的抓取与查看方法 找到config.pbtx文件,连接手机push进去 # push config.pbtx ,/data/local/tmp/为自定义push到的目录 adb push config.pbtx /data/local/tmp/ adb shell # 抓取trace, /data/loc…...
ffmpeg开发 环境配置
ffmpeg开发简图 1 下载ffmpeg开发包 https://ffmpeg.org/download.html 包含三个版本:Static、Shared以及Dev Static --- 包含3个应用程序:ffmpeg.exe , ffplay.exe , ffprobe.exe,体积都很大,相关的DLL已经被编译到exe里面去…...
C++STL——string类详解及其模拟实现
CSTL——string类 1. STL简介 STL全称standard template libaray,译为标准模板库 需要注意,STL不是C的标准库,而是C标准库的重要组成部分STL是一个包含众多数据结构和算法的软件框架 下面展示STL的六大组件: 本章,我…...
使用Three.js创建导航立方体
什么是导航立方体? 导航立方体是一个交互式的3D控件,它允许用户通过点击和拖动立方体的各个面来改变3D视图的方向。这是一种非常直观的方式,让用户能够轻松地在3D空间中导航。 创建导航立方体 下面是一个基本的步骤,说明如何使用Three.js创建一个导航立方体: // 创建场景…...
C++初识类和对象
前言 上一期我们介绍了一些C入门的基础知识,本期我们来介绍面向对象。初步认识一下面向对象和面向过程、类、以及封装! 本期内容介绍 面向过程和面向对象 类的引入 类的定义 类的访问限定符和封装 类的作用域 类的实例化 类对象模型 this指针 一、面向…...
专业数据恢复师工具箱揭秘:UFS Explorer Pro的5个高级功能实战解析
专业数据恢复师工具箱揭秘:UFS Explorer Pro的5个高级功能实战解析 当一块硬盘的文件系统彻底崩溃,分区表不知所踪,或是RAID阵列的配置信息丢失时,普通数据恢复软件往往束手无策。这正是UFS Explorer Professional Recovery展现其…...
Windows环境SonarQube与SonarScanner实战:从零搭建代码质量守护体系
1. 为什么你的项目需要SonarQube? 每次提交代码前,你是不是总在担心那些隐藏的Bug会悄悄溜进生产环境?我见过太多团队在深夜被紧急报警叫醒,原因往往只是一行没处理好的空指针异常。SonarQube就像个24小时值班的代码质检员&#x…...
从MD5到BCrypt:深入解析加密算法的选择与应用场景
1. 加密算法的基本分类与核心差异 第一次接触加密算法时,我被各种缩写搞晕了头。MD5、SHA、AES、RSA...这些看起来像天书的名词,其实可以分为几个清晰的类别。就像整理衣柜要分季节和用途一样,选择加密算法也需要先了解它们的本质区别。 所有…...
从零搭建猫狗识别桌面应用(PyTorch + Tkinter 实战)
1. 环境准备与工具安装 要搭建猫狗识别桌面应用,首先需要配置好开发环境。这里推荐使用Python 3.8版本,因为PyTorch和Tkinter在这个版本上兼容性最好。我实测过多个Python版本,发现3.8在稳定性和性能上表现最均衡。 安装核心依赖库只需要一行…...
Linux学习进展 计算机基本硬件结构
学习Linux系统,本质上是掌握“软件如何操控硬件”的逻辑——Linux作为开源操作系统,其内核与硬件的深度绑定的特性,决定了我们必须先理解计算机基本硬件结构,才能更清晰地明白Linux内核的调度机制、资源管理逻辑,以及后…...
【信息科学与工程学】【管理科学】第十六篇 利益设计与分配:从静态薪酬到动态激励生态系统的工程化重构
1. 从静态薪酬到动态激励:一场组织动力系统的革命 记得三年前我参与过一家科技公司的薪酬体系改革项目。当时他们的CTO对我说:"我们给工程师的薪水在行业里算高的,但为什么总感觉大家没干劲?"这个问题困扰着无数技术管理…...
LVGL实战:手把手教你用FatFS给STM32上的LVGL挂载SD卡文件系统(附多设备管理技巧)
LVGL实战:STM32多存储设备文件系统集成与优化指南 在嵌入式UI开发中,资源管理往往成为制约项目灵活性的瓶颈。当LVGL界面需要加载大量图片、字体等外部资源时,如何高效管理SD卡、SPI Flash等多种存储介质,成为提升开发效率的关键。…...
5个核心策略解决Windows更新故障
5个核心策略解决Windows更新故障 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool Windows更新是系统健康的重要保障,…...
RAGFlow实战:从零基础到构建企业级AI知识库
在2026年的今天,大模型(LLM)已经不再是新鲜事,但如何将这些“通才”模型转化为企业内部的“专才”,依然是技术落地的核心痛点。检索增强生成(RAG)技术应运而生,而RAGFlow作为一款开源…...
构建仓库与包管理
一、构建仓库 1、nexus安装 brew安装方式(比较慢) brew install nexus官网下载安装方式 去sonatype官网下载,比如MacOS的,下载完成之后cd到bin目录即可看到启动命令 启动 # 2.0版本 brew services start nexus # 3.0版本 /usr…...
