Verilog 实现奇偶校验

2023-10-27

1 奇偶效验(parity check)

是一种校验代码传输正确性的方法,根据被传输的一组二进制数位中“ 1” 的个数是奇数或者偶数来进行校验。采用奇数校验的称之为奇校验,反之称之为偶校验。采用哪种校验是事先规定的,通常会设置一个奇偶效验位,用它是这组代码中1的个数为奇数或者偶数,若奇校验,接收端,校验“1”的个数是奇数,

偶校验:数据和校验位中“1 ” 的总数为偶数,则数据无误,否则数据有误

奇校验:数据和校验位中“1” 的总数为奇数,则数据无误,否则数据有误。

2 输入数据的校验方法

 

奇校验实现方式:校验位默认为高电平,每检测到1,则状态翻转

偶校验实现方式:校验位默认为低电平,每检测到1,则状态翻转

Verilog实现

module odd_even(
    input clk ,
    input rst ,
    input in ,
    output reg odd , // 奇校验
    output reg even  //偶校验
);
always @(posedge clk ) begin
    if(!rst)begin
    odd <= 1'b0;
    even <= 1'b0 ;
    end 
    else if(in) begin
        odd <= ~odd;
        even <= ~even ;
    end 
    else 
    begin
         odd <= odd ;
         even <= even ;

    end 

end
endmodule

3 输出数据校验方法

偶校验:将输入数据按位异或

奇校验:将输入数据按位异或再取反(与偶校验相反)

module odd_even(
    input clk ,
    input rst ,
    input [7:0] in ,
    output reg odd , // 奇校验
    output reg even  //偶校验
);
always @(posedge clk ) begin
    if(!rst)begin
    odd <= 1'b0;
    even <= 1'b0 ;
    end 
    else  begin
        odd <= ~^in;
        even <= ^in ;
    end 
   
end
endmodule

总结:

奇偶校验属于一种比较简单的校验方法,效率比较低,没办法纠错和改正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Verilog 实现奇偶校验 的相关文章

  • 【Xilinx Vivado时序分析/约束系列6】FPGA开发时序分析/约束-IO时序输入延时

    目录 源同步FPGA输入时序分析的模型 input delay约束 极限input delay 往期系列博客 源同步FPGA输入时序分析的模型 以下为源同步FPGA输入时序分析的模型的示意图 在之前的文章中介绍过 在此介绍一下各个时钟延时的
  • 8x8LED点阵

    点量这个只需要把9高电平 13低电平就可以了 共阳极点阵 行线是led的正极 列线是led的列线 左上角点亮 显示多个灯是动态扫描的 一个一个显示的 然后间隔速度要快就可以造成显示 点阵由两篇74Hc595级联在一起驱动的 只需要三个io口
  • Verilog:【1】时钟分频电路(clk_divider.sv)

    碎碎念 作为Basic Verilog的第一个学习笔记 打算用这种命名方式来对博客进行命名 应该有助于检索 简单阅览了部分工程的代码 发现里面有很多嵌套关系 因此决定先从基础模块开始 也是为了整个博客内容的流畅性 读者朋友有问题的话 也可以
  • MIPI D-PHY介绍(二) FPGA

    MIPI D PHY介绍 二 FPGA 随着移动设备的广泛普及 MIPI D PHY作为其最主要的物理层标准之一 被越来越多地使用在各种嵌入式系统中 本文将详细介绍MIPI D PHY的工作原理和在FPGA设计中的实现方法 MIPI D P
  • 【FPGA入门】第八篇、FPGA驱动VGA实现动态图像移动

    目录 第一部分 实现效果 第二部分 动态VGA显示的原理 1 将动态显示的区域提前进行赋值 2 图像块的移动是每张图片叠加后的效果 3 如何实现图像块位置的改变 第三部分 系统结构和驱动波形 1 系统的Top down结构 2 图像块移动的
  • PLL时钟约束

    方法 1 自动创建基时钟和 PLL 输出时钟 例 derive pll clocks 这一方法使您能够自动地约束 PLL 的输入和输出时钟 ALTPLL megafunction 中指定的 所有 PLL 参数都用于约束 PLL 的输入和输出
  • SD卡读写实验(SPI模式)

    对于 SD 卡的 SPI 模式而言 采用的 SPI 的通信模式为模式 3 即 CPOL 1 CPHA 1 在 SD 卡 2 0 版 本协议中 SPI CLK 时钟频率可达 50Mhz SD 卡的 SPI 模式 只用到了 SDIO D3 SP
  • verilog中wire和reg类型的区别

    module counter parameter CNT MAX 25 d24 999 999 input wire sys clk input wire sys rst n output reg led out reg 24 0 cnt
  • 关于Keil中Memory中观察不到数据变化的问题以及启动文件栈的初始化

    关于Keil中Memory中观察不到数据变化的问题 在KEIL中观察Memory数据变化 一定要记得只能在RAM地址或ROM之内观察 如下图所示 RAM的地址设置在地址为0x20000000开始的地方 大小为0x20000 因此只有在这个范
  • 用Vscode编辑verilog代码配置

    这篇教程感觉很详细了 我这里分享一下vscode和插件的安装包链接 都是官网下载的 放心食用 用VSCode编辑verilog代码 iverilog编译 自动例化 自动补全 自动格式化等常用插件 链接 https pan baidu com
  • FPGA硬件工程师Verilog面试题(基础篇二)

    作者简介 大家好我是 嵌入式基地 是一名嵌入式工程师 希望一起努力 一起进步 个人主页 嵌入式基地 系列专栏 FPGA Verilog 习题专栏 微信公众号 嵌入式基地 FPGA硬件工程师Verilog面试题 二 习题一 多功能数据处理器
  • TestBench编写_激励产生

    TestBench编写 激励产生 TestBench编写 激励产生 基本背景 读取函数介绍 a fopen函数使用 b fread函数使用 c fclose函数使用 实际使用 TestBench编写 激励产生 基本背景 最近遇到项目中需要对
  • 【FPGA】面试问题及答案整理合集

    面试问题及答案整理合集 1 硬件描述语言和软件编程语言的区别 2 FPGA选型问题 3 建立时间和保持时间问题 3 亚稳态问题 4 竞争和冒险问题 5 乒乓操作问题 6 同步和异步逻辑电路 7 同步复位和异步复位 8 MOORE 与 MEE
  • 【DDR3 控制器设计】(3)DDR3 的写操作设计

    写在前面 本系列为 DDR3 控制器设计总结 此系列包含 DDR3 控制器相关设计 认识 MIG 初始化 读写操作 FIFO 接口等 通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO 接口设计等 附上汇总博客直达链接 DD
  • 【数字IC】从零开始的Verilog SPI设计

    从零开始的Verilog SPI协议设计 一 写在前面 1 1 协议标准 1 2 数字IC组件代码 1 3 设计要求 1 4 其他协议解读 1 4 1 UART协议 1 4 2 SPI协议 1 4 3 I2C协议 1 4 4 AXI协议 二
  • [从零开始学习FPGA编程-28]:进阶篇 - 基本组合电路-奇偶校验生成器(Verilog语言版本)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 第1章 奇偶校验生成器 1 1 什么是奇校验 1 2 Verilog语言描述
  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • 【FMC141】基于VITA57.4标准的4通道2.8GSPS 16位DA播放子卡(2片DAC39J84)

    FMC141是一款基于VITA57 4标准的4通道2 8GSPS 2 5GSPS 1 6GSPS采样率16位DA播放FMC子卡 该板卡为FMC 标准 符合VITA57 4与VITA57 1规范 16通道的JESD204B接口通过FMC 连接
  • TRICONEX MA2211-100 芯片上相互连接

    TRICONEX MA2211 100 芯片上相互连接 TRICONEX MA2211 100 所有相同的组件 io的电源 处理器 和内存将需要 但是 你可以看到所有这些带存储器和处理器的OO板 针不能嵌入到一个小的单片机上 现在是 普拉克
  • DSCA190V 57310001-PK

    DSCA190V 57310001 PK DSCA190V 57310001 PK 具有两个可编程继电器功能 并安装在坚固的 XP 外壳中 DSCA190V 57310001 PK 即可使用 只需最少的最终用户校准 DSCA190V 573

随机推荐

  • Qt中QLineEdit(取值、赋值、字体大小颜色)、QTextEdit和QPlainTextEdit

    核心 这些东西理解就可以了 下次用的时候看下笔记 能想起来就可以了 背 也背不下来 放弃吧 QString 界面设计最常用到的组件就是QLabel和QLineEdit QLabel用于显示字符串 QLineEdit用于输入和显示字符串 两个
  • 浏览器渲染原理

    浏览器渲染原理 目录 目录 浏览器渲染原理 B S架构及其运行原理 渲染过程 defer async不会阻塞页面解析 B S架构及其运行原理 b s架构是Brower Server结构 chrome浏览器渲染速度最快不同于其他浏览器 因为c
  • Transformer入门(一)——结构

    文章目录 前言 一 Transformer的产生和基础思想 1 1 Transformer的Motivation 1 2 Transformer的原始框架 1 3 关于Decoder的补充说明 二 Encoder中重要模块的具体实现 2 1
  • webpack配置devServer配置https代理与证书

    浏览器如果需要开发某些特定功能 需要https浏览器才会给予功能权限 则开发时我们需要在https环境 下面是配置一个webpack devServer的https环境 webpack config js module exports de
  • C++构造函数/拷贝控制

    1 C 构造函数 C 中构造函数 constructor 的作用是用来控制类对象的初始化过程 构造函数的作用是初始化类对象的数据成员 无论何时只要类的对象被创建 就会执行构造函数 1 1 默认构造函数 当定义一个类对象时 如果没有为对象提供
  • Git详细安装教程

    对于Git这块 我也算是个小白 最近在学习Git 所以趁此机会详细讲解一下Git的安装教程以及安装过程中遇到的问题 也欢迎大家对其补充 共同进步 1 下载Git Git的下载地址 windows系统 http gitforwindows o
  • Laravel_arse error: syntax error, unexpected '?'

    解决办法 php的版本不对 先打开composer phar 看看版本是否符合要求 之后修改服务器的php版本 我用的是wamp套餐 把php版本修改为7 2 4 建议也把编译器里的php开发环境统一为7 2 4
  • linux中嵌套循环,linux中的嵌套循环

    嵌套循环 内循环 一条循环语句可以在循环中使用任何类型的命令 包括其他循环命令 示例1 bin bash for a 1 a lt 3 a do echo Starting loop a for b 1 b lt 3 b do echo I
  • ezStudio,易用高效的业务基础平台开发工具

    摘要 本文从业务基础平台谈起 引申出与业务基础平台息息相关的开发工具 通过对国内外开发工具现状与未来趋势的描述 引导读者对开发工具有一个较为全面的了解 最后对清华同方ezONE 易众 业务基础平台中的ezStudio开发工具作了重点介绍与说
  • java excel通用工具类

    public class ExcelUtils 有时间记得重构下 生成excel流 throws IOException param type xone 1 lr 2 public static String createExcelIO L
  • TOP16之CSRF -- 小黑超细详解+案例说明<宝藏文>

    CSRF 跨站请求伪造 很好理解 就是盗用别人的身份伪造请求发送给服务器 在未授权的情况下执行权限保护之内的操作 因为请求的一切流程都是正常操作 这也是一般不会被检测到的漏洞行为 小黑子们 撸起袖子加油干 目录 CSRF 理解 判断是否有C
  • css set a4 paper size

    HTML div class book div class page div class subpage Page 1 2 div div div class page div class subpage Page 2 2 div div
  • 基于PCL的RANSAC(随机采样一致)算法简介与示例

    前言 RANSAC Random sample consensus 随机采样一致 是3D点云拟合的一种重要的手段 可以对直线 圆 平面 圆球 圆柱等形状的点云进行拟合 其优点在于可以最大程度上减少噪声点对拟合效果的影响 一 RANSAC R
  • Python Matplotlib绘制柱状图(bar和barh函数)详解

    前言 本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 如有问题请及时联系我们以作处理 PS 如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 使用 Mat
  • 如何在ASP.NET中用OWC绘制图表

    Version 1 0 StartHTML 000000201 EndHTML 000096358 StartFragment 000002217 EndFragment 000096290 StartSelection 000002217
  • 蓝桥杯模拟题

    第一题 难度系数 2 满分 50 分 编程实现 用户输入一个正整数 N 将 1 N 之间的偶数输出 样例输入 提示 以下 为背景的信息是程序输出内容 请输入一个正整数 N 10 样例输出 2 4 6 8 将程序命名为 LQ001 评分标准
  • Kotlin1.8新特性

    Kotlin1 8 0新特性 新特性概述 JVM 的新实验性功能 递归复制或删除目录内容 提升了 kotlin reflect 性能 新的 Xdebug 编译器选项 提供更出色的调试体验 kotlin stdlib jdk7 与 kotli
  • 多语言版本 UI资源切换

    1 如果窗体资源和源码里面所使用的字符串资源 都已经存在于资源视图里面 则通过下面方式来实现 LANGID lid GetSystemDefaultLangID if 0x0809 lid 英语 0x0809 SetThreadUILang
  • 【计算机毕业设计】网上商城购物系统

    网上商城购物系统 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 网上商城购物系统当然也不能排除在外 网上商城购物系统是以实际运用为开发背景 运用软件工程原理和开发方法 采用spr
  • Verilog 实现奇偶校验

    1 奇偶效验 parity check 是一种校验代码传输正确性的方法 根据被传输的一组二进制数位中 1 的个数是奇数或者偶数来进行校验 采用奇数校验的称之为奇校验 反之称之为偶校验 采用哪种校验是事先规定的 通常会设置一个奇偶效验位 用它