「Verilog学习笔记」奇偶校验

编程入门 行业动态 更新时间:2024-10-26 07:39:06

「Verilog学习笔记」<a href=https://www.elefans.com/category/jswz/34/1763277.html style=奇偶校验"/>

「Verilog学习笔记」奇偶校验

专栏前言

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

 

分析 

通常所说的奇偶校验:

奇校验:对输入数据添加1位0或者1,使得添加后的数包含奇数个1;

比如100,有奇数个1,那么奇校验结果就是0,这样补完0以后还是奇数个1;

奇校验:对输入数据添加1位0或者1,使得添加后的数包含偶数个1;

回到这个题目,应该是出题人搞反了,按照出题的意思,应该不能叫奇偶校验,应该是叫奇偶检测

奇检测:输入的数据里有奇数个1就输出1;

偶检测:输入的数据里有偶数个1就输出1; 

单目运算符 (|,&,^)

举例说明:

假设d = 3'b100 ; e = &d => e = d[2] & d[1] & d[0] = 1'b0 ; 

假设d = 3‘b100 ; f = ^d => f = d[2] ^ d[1] ^ d[0] = 1'b1 ; 

解题思路 

判断bus中有奇数还是偶数个1,若为奇数则亦或结果为1,反之为0,根据sel的奇偶输出答案即可。

`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//wire odd ; assign odd = ^bus ; assign check = sel ? odd : ~odd ;//*************code***********//
endmodule

 

更多推荐

「Verilog学习笔记」奇偶校验

本文发布于:2023-11-16 19:44:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1633940.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:奇偶   学习笔记   Verilog

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!