Verilog专题(六)Gates and Vectors

本文是Verilog学习系列的第六篇,探讨了如何使用简约运算符简化向量位操作,包括奇偶校验检查、大量输入门电路(AND, OR, XOR)的实现以及对输入向量相邻位关系的判断。通过实例解析,帮助读者掌握Verilog在处理位运算和向量操作时的技巧。" 131470263,783471,OD统一考试:城市聚集度算法解析与JS实现,"['javascript', '开发语言', '华为', '后端']
摘要由CSDN通过智能技术生成

前言

    对于verilog的学习,这里推荐一个比较好的实践网站HDLBits:https://hdlbits.01xz.net/wiki/Main_Page

    本专题记录一些我觉得有价值的题目,希望通过这些题目可以对verilog更加熟练。

    第六个专题主要讨论的问题是:Gates和Vectors的应用。一般来说,我们对于两个值之间的按位运算是比较熟悉的,例如a&b或a ^ b。但是有时候,我们想对一个向量的所有位宽进行操作,例如(a [0]&a [1]&a [2]&a [3] ...),如果向量很长,代码会显得比较冗余。

    为了简化代码,简约运算符(reduction operators)可以对向量的位进行AND,OR和XOR操作,并产生一位输出,加上NOT运算符!和〜,还可以创建NAND,NOR和XNOR门,例如(〜&d [7:0])。

 

1、Parity checking

    题目:通过不完善的通道传输数据时,奇偶校验通常用作检测错误的简单方法。创建一个电路,该电路将计算8位字节的奇偶校验位(这一位作为第9位)。 我们将使用“偶数”奇偶校验,其中奇偶校验位只是所有8个数据位的XOR。

    根据题目的描述,电路显而易见,当输入有偶数个1时,输出为0,则表示“偶校验”正确,输入数据正确有效;当输入有奇数个1时&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值