HDLBits(8)9.20

1|02 Verilog语言

1|12.5 更多特点

1|02.5.1 三元运算符

(condition ? if_true : if_false)

判断a,b,c,d中的最小值

module top_module ( input [7:0] a, b, c, d, output [7:0] min); wire [7:0] min1; wire [7:0] min2; assign min1 = (a<b)?a:b; assign min2 = (c<d)?c:d; assign min = (min1<min2)?min1:min2; endmodule

1|02.5.2 归约运算符

 对向量的每一位进行逻辑运算

& a[3:0] // AND: a[3]&a[2]&a[1]&a[0]. Equivalent to (a[3:0] == 4'hf) | b[3:0] // OR: b[3]|b[2]|b[1]|b[0]. Equivalent to (b[3:0] != 4'h0) ^ c[2:0] // XOR: c[2]^c[1]^c[0]

创建电路,用于计算8位字节的窘校验位(这将向字节添加第9位)。我们将使用“偶数”奇偶校验,其中奇偶校验位只是所有 8 个数据位的 XOR

module top_module ( input [7:0] in, output parity); assign parity = ^in; endmodule

奇偶校验是检验传输数据中1的个数,当然有奇数有偶数,,这时候就需要用我们的校验位了,通过检验位将传输1的个数变成奇数就是奇校验,变成偶数就是偶校验。比如:

8'b01100100 //原数据 9'b01100100_0 //奇校验 9'b01100100_1 //偶校验

1|02.5.3 归约运算符(Gates 100)

module top_module( input [99:0] in, output out_and, output out_or, output out_xor ); assign out_and = &in[99:0]; assign out_or = |in[99:0]; assign out_xor = ^in[99:0]; endmodule

1|0 


__EOF__

本文作者LhTian
本文链接https://www.cnblogs.com/LhTian/p/16711417.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LhTian21  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示