FPGA 通过串口将rom中的10个初始数据发送给目标模块tx串口(最简单的数据处理)

发布时间:2026/7/27 2:41:15

FPGA 通过串口将rom中的10个初始数据发送给目标模块tx串口(最简单的数据处理)
思维分析图rom模块的代码逻辑timescale 1ns / 1ps module rom_2( input sys_clk , input sys_rst_n , input tx_done , output [7:0] rom_data ,//输出给tx output reg rom_done //一个8bit数据输出的结束信号 ); reg [3:0] cnt; reg ena ; reg [7: 0] addra ; reg flag; reg [3:0] cnt_done;//计数tx——done always(posedge sys_clk) if(!sys_rst_n) cnt0; else if(cnt10) cntcnt; else cntcnt1; // always(posedge sys_clk) if(!sys_rst_n) flag0; else if(cnt9) flag1; else flag0; //cnt_done计数tx_done的次数 always(posedge sys_clk) if(!sys_rst_n) cnt_done0; else if(tx_done)begin if(cnt_done9) cnt_donecnt_done; else cnt_donecnt_done1; end else cnt_donecnt_done; // always(posedge sys_clk) if(!sys_rst_n) rom_done0; else if(flag) rom_done1; else if(tx_done cnt_done9) rom_done1; else if(tx_done cnt_done9) rom_done0; else rom_done0; // always(posedge sys_clk) if(!sys_rst_n) ena0; else ena1; always(posedge sys_clk) if(!sys_rst_n) addra0; else if(tx_done)begin if(addra9) addraaddra; else addraaddra1; end else addraaddra; rom_ten your_instance_name ( .clka(sys_clk), // input wire clka .ena(ena), // input wire ena .addra(addra), // input wire [7: 0] addra .douta(rom_data) // output wire [7 : 0] douta ); endmoduletx端口模块timescale 1ns / 1ps module tx( input sysclk , input rst_n , input [7:0] data ,//数据并行输入 input done ,//tx的开始信号 output tx ,//数据输出--串行输出 output tx_done ); parameter clk 50_000_000,//1s内部时钟晶振次数 bps 9600,//波特率 CNT_MAX clk/bps;//传输一个Bit需要的时间周期 reg [31:0] cnt_bps;//传输一个bit需要的计时器 reg [3:0] cnt_bit;//bit位计数器看传输到第几个bit reg en;//工作时间阈值包装数据---tx reg [7:0] data_reg;//输入数据寄存器 reg tx_reg; reg done_d1 0; always(posedge sysclk)begin done_d1done; end //en工作阈值 always(posedge sysclk) if(!rst_n) en0; else if(done1) en1; else if(cnt_bit9 cnt_bpsCNT_MAX-1) en0; else enen; //输入数据寄存模块 always(posedge sysclk) if(!rst_n) data_reg0; else if(done_d1)//开始工作时就寄存并行输入的data data_regdata; else data_regdata_reg; //cnt_bps--包装一个bit需要的时间计时器 always(posedge sysclk ) if(!rst_n) cnt_bps0; else if(en1)begin if(cnt_bpsCNT_MAX-1) cnt_bps0; else cnt_bpscnt_bps1; end else cnt_bps0; //cnt_bit--表示包装到了哪一个Bit--bie位计数器 always(posedge sysclk ) if(!rst_n) cnt_bit0; else if(en1)begin if(cnt_bpsCNT_MAX-1) cnt_bitcnt_bit1; else cnt_bitcnt_bit; end else cnt_bit0; //tx_reg--表示开始包装数据数据包装流水线 always(posedge sysclk ) if(!rst_n) tx_reg1;//空闲不需要打包数据 else if(en1)begin if(cnt_bit0)//包装起始位 tx_reg0; else if(cnt_bit9)//包装停止位 tx_reg1; else tx_regdata_reg[cnt_bit-1];//数据串行包装由低位开始 end else tx_reg1; assign tx tx_reg; assign tx_done (cnt_bit9cnt_bpsCNT_MAX-1)?1:0; endmodule顶层模块timescale 1ns / 1ps module top( input sysclk , input rst_n , output tx //数据输出--串行输出 ); wire done ;//tx的开始信号 wire tx_done ; wire [7:0] rom_data; rom_2 u( . sys_clk ( sysclk ) , . sys_rst_n ( rst_n) , . tx_done ( tx_done ) , . rom_data ( rom_data ) ,//输出给tx . rom_done ( done ) //一个8bit数据输出的结束信号 ); tx tx_u( . sysclk ( sysclk ) , . rst_n ( rst_n ) , . data ( rom_data ) ,//数据并行输入 . done ( done ) ,//tx的开始信号 . tx ( tx ) ,//数据输出--串行输出 . tx_done ( tx_done ) ); endmodule

相关新闻

交叉编译 tcpdump  libpcap

交叉编译 tcpdump libpcap

2026/7/26 13:43:09

文章目录 交叉编译 tcpdump & libpcap 概述 源码下载 交叉编译 libpcap 交叉编译 tcpdump 交叉编译 tcpdump & libpcap 概述 tcpdump 是一个强大的命令行包分析器,libpcap 是一个可移植的用于网络流量捕获的 C/C++ 库。tcpdump 依赖于 libpcap 库,同属于 tcpdump 项…

如何用Imba的“智能样式管家“重构你的前端开发思维?

如何用Imba的“智能样式管家“重构你的前端开发思维?

2026/7/27 6:57:10

如何用Imba的"智能样式管家"重构你的前端开发思维? 【免费下载链接】imba 🐤 The friendly full-stack language 项目地址: https://gitcode.com/gh_mirrors/im/imba Imba语言通过其革命性的样式修饰符系统,将CSS的复杂性转…

3个理由告诉你:为什么macOS用户都在用Calendr菜单栏日历

3个理由告诉你:为什么macOS用户都在用Calendr菜单栏日历

2026/7/25 23:37:53

3个理由告诉你:为什么macOS用户都在用Calendr菜单栏日历 【免费下载链接】Calendr Menu bar calendar for macOS - MVVM | RxSwift | AppKit | SwiftUI 项目地址: https://gitcode.com/gh_mirrors/ca/Calendr Calendr是一款专为macOS设计的菜单栏日历应用&am…

rxjs-spy完全指南:从安装到高级调试的10个实用技巧

rxjs-spy完全指南:从安装到高级调试的10个实用技巧

2026/7/27 14:06:05

rxjs-spy完全指南:从安装到高级调试的10个实用技巧 【免费下载链接】rxjs-spy A debugging library for RxJS 项目地址: https://gitcode.com/gh_mirrors/rx/rxjs-spy rxjs-spy是一款专为RxJS打造的调试库,它能帮助开发者轻松追踪、分析和调试RxJ…

司替戊醇填补国内Dravet综合征治疗空白

司替戊醇填补国内Dravet综合征治疗空白

2026/7/27 14:06:05

Dravet综合征是一种罕见的严重发育性癫痫性脑病,90%以上的患儿由SCN1A基因功能缺失突变致病,多在1岁内以反复热性惊厥起病,随年龄增长逐渐出现无热全面性强直阵挛、肌阵挛、不典型失神等多种难治性发作,常规抗癫痫药物单药应答率不…

Jellium Desktop字幕基础教程:掌握字幕设置的终极指南

Jellium Desktop字幕基础教程:掌握字幕设置的终极指南

2026/7/27 14:06:05

Jellium Desktop字幕基础教程:掌握字幕设置的终极指南 【免费下载链接】jellium-desktop An unofficial desktop client for Jellyfin 项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop Jellium Desktop是一款非官方的Jellyfin桌面客户端&…

【Python毕业设计】 基于 Django 的校友就业去向调查管理系统数字化毕业生就业反馈与信息归档平台(源码+文档+远程调试,全bao定制等)

【Python毕业设计】 基于 Django 的校友就业去向调查管理系统数字化毕业生就业反馈与信息归档平台(源码+文档+远程调试,全bao定制等)

2026/7/27 14:06:05

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

openpilot驾驶辅助系统:开源自动驾驶操作系统的全面解析

openpilot驾驶辅助系统:开源自动驾驶操作系统的全面解析

2026/7/27 14:06:05

openpilot驾驶辅助系统:开源自动驾驶操作系统的全面解析 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trend…

EssentialsX:Minecraft服务器管理的终极解决方案完整指南

EssentialsX:Minecraft服务器管理的终极解决方案完整指南

2026/7/27 13:56:05

EssentialsX:Minecraft服务器管理的终极解决方案完整指南 【免费下载链接】Essentials The modern Essentials suite for Spigot and Paper. 项目地址: https://gitcode.com/GitHub_Trending/es/Essentials EssentialsX是专为Minecraft服务器管理员设计的现代…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/27 8:45:59

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/27 8:42:17

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/26 0:04:02

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计

2026/7/27 0:05:04

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计 一、多模态对话的「首字节延迟」:上传与流式的协同鸿沟 多模态 AI 应用的前端体验,往往卡在"首字节延迟"上。用户上传一张图片,提一个问题,然后盯着空白对…

【微科普】网红水晶香薰真相拆解:透明固体香薰并非香精结晶,一文理清各类无火香薰释香机理

【微科普】网红水晶香薰真相拆解:透明固体香薰并非香精结晶,一文理清各类无火香薰释香机理

2026/7/27 0:05:04

文章目录第一章 大众普遍存在的认知误区:水晶香薰是芳香烃结晶产物1.1 聚丙烯酸钠凝胶水晶珠体系(市面占比90%家用水晶香薰)1.2 无机盐硬质结晶载体:泻盐与钾明矾香薰原石1.3 植物多糖与PVA整块果冻型水晶香膏1.4 唯一特例&#x…

优启通3.7修改版:深度优化的PE系统维护工具

优启通3.7修改版:深度优化的PE系统维护工具

2026/7/27 0:05:04

1. 项目概述今天要跟大家分享的是一个经过深度优化的PE工具——优启通3.7(2025修改版)。这个版本是在原版基础上进行了大量功能增强和兼容性改进的12月最新版本,特别适合系统维护人员和电脑爱好者使用。作为一个长期从事IT运维的老兵&#xf…