题解 | #奇偶校验#

奇偶校验

https://www.nowcoder.com/practice/67d4dd382bb44c559a1d0a023857a7a6

`timescale 1ns/1ns
module odd_sel(
input [31:0] bus,
input sel,
output check
);
//*************code***********//
reg odd;//或者用wire类型 assign语句
always@(*)begin
    odd = ^bus;
end

assign check = sel?odd:!odd;
//*************code***********//
endmodule

testbench如下:



`timescale 1ns/1ns



module testbench();
	reg clk=0;
	always #5 clk = ~clk;  // Create clock with period=10
// A testbench
    
    reg [31:0]bus;
    reg sel;
    initial begin
      sel = 1;
      bus = {$random}%10;
      #10 bus = {$random}%10;
      #10 bus = {$random}%10;
      #10 bus = {$random}%10;

      $finish(0);
    end
    
    odd_sel u1(
      .bus(bus),
      .sel(sel),
      .check(check)
    );
    
//end    
  initial begin
    $dumpfile("out.vcd");
    $dumpvars(0, testbench);
end  
    
endmodule

testbench使用随机数测试

{$random}%10 表示10以内正整数

$random%10 表示-10到10的整数

全部评论

相关推荐

被普调的六边形战士很高大:项目经历貌似和专业或者求职方向没大关系?
点赞 评论 收藏
分享
数开小菜鸡_暂退沉淀版:大二第三段,还是字节,这下真得点点举办了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务