system-verilog - 您将如何编写一个将偶校验位添加到 7 位向量的 SystemVerilog 函数?
问题描述
您是否将 7 位逻辑变量作为输入并返回 8 位逻辑输出,奇偶校验位是输出的 MSB(最左侧位)?在使用偶校验的系统中,您希望输出向量中的 1 位总数是偶数,对吗?一元^运算符可以用于计算偶校验吗?
试图弄清楚那会是什么样子?
我开始这样的事情:
对不起,如果这是一个以上的问题。
解决方案
我会这样做:
input logic [N-1:0] data_in;
output logic [N:0] data_out;
assign data_out = {^data_in, data_in};
归约运算符对^
操作数中的所有位进行 XOR 操作。data_in
(因此,如果有奇数个,它将返回 '1。 )
推荐阅读
- javascript - 转换为 UTF8
- html - 带有花括号的片段中的 Emmet 干扰
- visual-studio - 重新附加 Visual Studio 调试器无法检测到模块?
- macos - Applescript 更改剪贴板上的文本
- node.js - Node.js fs.createWriteStream(downloadDirectory) 是否在服务器文件系统或用户设备上创建文件?
- ruby - 运行 PACT 测试会引发 Ruby 加载错误
- bootstrap-accordion - 尝试在打开时更改 Bootstrap 手风琴标题的背景颜色
- android - setBackgroundResource 在 Android 中的现有图像之上添加图像
- angular - 角度动态嵌套数组不显示错误
- amazon-web-services - AWS CDK 在使用 ApplicationLoadBalancedEc2Service 创建 EcsService Cloud Formation 堆栈时卡住