FPGA verilog LVDS通信协议笔记

一幅图胜过千言万语

直接开始挫代码,先写top.v。

module top();

reg clk; // 生成时钟的寄存器
reg rst; // 生成复位信号的寄存器

initial clk = 1; // 初始值取1
always #1 clk = ~clk; //1ns取反一次

initial begin // 复位信号,先0,过段时间赋1
rst = 0;
# 20;
rst = 1;
$stop;
end   
endmodule

再加其他三个子项的接口:

输入输出
bit_sent时钟,复位比特流
bit_rsv时钟,复位,比特流字节,字节输出信号
byte_rsv时钟,复位,字节,字节输出信号内容,校验结果
//top.v
module top();

reg clk;
reg rst;

initial clk = 1;
always #1 clk = ~clk;

initial begin
rst = 0;
# 20;
rst = 1;
$stop;
end   

// wire表示线,其他文件的输出用线接,自己的内容用寄存器输出或者保存
wire bits; 

bit_sent bit_sent(
    .clk (clk),
    .reset (rst),
    .bits(bits)  //这里不能有逗号
    );  //这里不能忘记冒号
    
    
wire [7:0] data_out; // [7:0] 表示高位7到底为0,共8比特
wire en_data_out;

bit_rsv bit_rsv
(
    .clk (clk),
    .reset (rst),
    .uart_tx (bits), // .uart_tx是bit_rsv文件形参名称
//括号内的bits是bit_sent的输出bits接到uart_tx上
    .data_out (data_out),
    .en_data_out (en_data_out)
);


wire [15:0] contant;
wire crc_match; 

byte_rsv byte_rsv
(
    .clk (clk),
    .reset (rst),
    .byte_in(data_out),
	.en_byte(en_data_out),
	.contant(contant),
	.crc_match (crc_match)
    );
   
endmodule

 采用的校验法:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623168.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ORA-00932: inconsistent datatypes: expected - got CLOB的分析解决方案

最近在项目中遇到查询数据时报ORA-00932: inconsistent datatypes: expected - got CLOB错误,这个错误很明显是由于查询时类型的不匹配造成的。 问题分析: 一、检查你的查询的实体的类型是否于数据库的保持一致,如果不一致,那么需…

Rumor Remove Order Strategy on Social Networks

ABSTRACT 谣言被定义为广泛传播且没有可靠来源支持的言论。现代社会,谣言在社交网络上广泛传播。谣言的传播给社会带来了巨大的挑战。 “假新闻”故事可能会激怒您的情绪并改变您的情绪。有些谣言甚至会造成社会恐慌和经济损失。因此,谣言的影响可能是深…

Redis-数据过期策略

文章目录 Redis数据持久化策略的作用是什么?Redis的数据过期策略有哪些?惰性删除定期删除 更多相关内容可查看 Redis数据持久化策略的作用是什么? Redis数据过期策略是指在Redis中设置数据的过期时间,并在数据过期时自动从数据库…

【JavaScript超详细的学习笔记-上】JavaScrip超详细的学习笔记,共27部分,12多万字

想要获取笔记的可以点击下面链接获取 JavaScript超详细的学习笔记,点击我获取 一,JavaScript详细笔记 1,基础知识 1-1 基础知识 // 1,标识符命名规则:第一个字母必须是字母,下划线或一个美元符号。不能…

pasmutility.dll丢失要怎么修复,pasmutility.dll破解补丁在哪里找到?

pasmutility.dll是电脑中非常重要的文件之一,当电脑突然弹出“找不到pasmutility.dll”或是“pasmutility.dll丢失”等的错误提示窗口,可以选择下载pasmutility.dll文件,当然除了下载的方法还有很多种关于pasmutility.dll丢失的解决方法&…

自作聪明的AI? —— 信息处理和传递误区

一、背景 在人与人的信息传递中有一个重要问题——由于传递人主观处理不当,导致信息失真或产生误导。在沟通交流中,确实存在“自作聪明”的现象,即传递人在转述或解释信息时,根据自己对信息的理解、经验以及个人意图进行了过多的…

LeetCode 125题:验证回文串

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…

Linux信息显示相关指令

1、查看cpu 查看cpu信息:cat /proc/cpuinfo 查看cpu个数:nproc cat /proc/cpuinfo | grep "physical id" | uniq | wc -l uniq命令:删除重复行;wc –l命令:统计行数 查看CPU核数 cat /proc/cpuinfo | grep "cpu cores" | uniq 2、查看内存 cat /pr…

【STM32 |程序实例】按键控制、光敏传感器控制蜂鸣器

目录 前言 按键控制LED 光敏传感器控制蜂鸣器 前言 上拉输入:若GPIO引脚配置为上拉输入模式,在默认情况下(GPIO引脚无输入),读取的GPIO引脚数据为1,即高电平。 下拉输入:若GPIO引脚配置为下…

Android adb shell关于CPU核的命令

Android adb shell关于CPU核的命令 先使用命令: adb shell 进入控制台。 然后,直接在$后面输入下面命令,针对CPU的命令。 cat /proc/cpuinfo | grep ^processor | wc -l 查看当前手机的CPU是几核的。 cat sys/devices/system/cpu/online …

Ansible常用变量【下】

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 前言 在上一篇文章《Ansible常用变量【上】》中,学习了Ansible常用变量的前半部分,放了个五一假&#x…

LeetCode1207独一无二的出现次数

题目描述 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 解析 正常的解法肯定是对每个元素使用一个hashmap,存元素及出现次数,然后通…

使用Apache Spark从MySQL到Kafka再到HDFS的数据转移

使用Apache Spark从MySQL到Kafka再到HDFS的数据转移 在本文中,将介绍如何构建一个实时数据pipeline,从MySQL数据库读取数据,通过Kafka传输数据,最终将数据存储到HDFS中。我们将使用Apache Spark的结构化流处理和流处理功能&#…

【Linux】调试器-gdb使用

大家好,我是苏貝,本篇博客带大家了解Linux的编译器-gcc/g,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 背景(A) 看大小(B) 查看ELF格式的文件 2.使用(A) 进入gdb(B) quit/q&#xff…

flink优化案例

文章目录 一、flink join维表案例二、flink 双流join案例三、总结 提示:以下是本篇文章正文内容,下面案例可供参考(适用于flink1.13) 一、flink join维表案例 背景:flink sql join 维表。job业务不复杂,job写入性能比较差。维表数据大约每天…

想半天憋不出几个字?试试AI扩写

大家在写文章时是否也经常这样?想了半天,结果只能写出几个字,但是要求往往又是几百多个字,那么有没有啥工具可以帮我们在原文的基础上扩写一下文章字数,让我们达到字数要求呢? 下面给大家介绍一下如何扩写文…

Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版

Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版 Office LTSC 2024 for Mac 请访问原文链接:Microsoft Office for Mac 2024 (Office 365) 16.84 Universal 预览版,查看最新版。原创作品,转载请保留出处。 作者主页&a…

FullCalendar日历组件集成实战(2)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

Ubuntu安装cmake

在软件开发的世界中,构建系统扮演着至关重要的角色,它们确保代码能够正确、高效地编译和链接。CMake就是这样一个强大的跨平台自动化构建系统,它被广泛用于各种大型项目中。对于Ubuntu用户来说,安装CMake非常简单,而且…