【verilog每日一练】二进制数值中1的个数奇偶判断 - FPGA开发者技术社区 - 电子技术william hill官网 - 广受欢迎的专业电子william hill官网 - 威廉希尔官方网站
分享 收藏 返回

Mill 关注 私信
[问答]

【verilog每日一练】二进制数值中1的个数奇偶判断

用verilog实现变量flag为1表示变量a的数值中二进制1的个数是奇数,flag为0表示变量a的数值中二进制1的个数是偶数,比如:a为8’b1111_0000,则二进制1的个数为4,即偶数
image.png

回帖(9)

hehung

2023-8-15 17:20:53
always @(posedge clk) begin
  flag = 1'b0;  
  for (int i=0; i<8; i=i+1) begin
    if (a[i] == 1'b1)  
      flag = ~flag;
  end
end

zealsoft

2023-8-15 17:24:25
flag <= (a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7]) % 2 == 1;

dfghjkghj

2023-8-15 19:02:27
按位异或即可
flag <= ^a;

jf_99074111

2023-8-15 21:08:52
//放法1
flag <= a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7]); //不带进位加法

//放法2
flag <= ^a; //自异或

更多回帖

×
发帖