视觉信息处理与FPGA实现第三次作业-7人表决器

一、模块端口图

二、代码

`timescale 1ns / 1ns

module vote_7(person1,person2,person3,person4,person5,person6,person7,out);
input   person1,person2,person3,person4,person5,person6,person7 ;
output  out                                                     ;
assign  out=(person1+person2+person3+person4+person5+person6+person7>= 4) ? 1 : 0;
endmodule

三、testbench

`timescale 1ns / 1ps
module vote_7_tb();

reg person1,person2,person3,person4,person5,person6,person7;
wire result;

vote_7 vote_7(
    .person1 ( person1 ),
    .person2 ( person2 ),
    .person3 ( person3 ),
    .person4 ( person4 ),
    .person5 ( person5 ),
    .person6 ( person6 ),
    .person7 ( person7 ),
    .out     ( result  )
);

initial begin
//The truth table for a 7-bit binary has a total of 128 entries.
//So here we list 7 situation
person1=0 ;person2=0 ;person3=0 ;person4= 0; person5= 0; person6= 0; person7= 0;
#100
person1=1 ;person2=0 ;person3=0 ;person4= 0; person5= 0; person6= 0; person7= 0;
#100
person1=1 ;person2=1 ;person3=0 ;person4= 0; person5= 0; person6= 0; person7= 0;
#100
person1=1 ;person2=1 ;person3=1 ;person4= 0; person5= 0; person6= 0; person7= 0;
#100
person1=1 ;person2=1 ;person3=1 ;person4= 1; person5= 0; person6= 0; person7= 0;
#100
person1=1 ;person2=1 ;person3=1 ;person4= 1; person5= 1; person6= 0; person7= 0;
#100
person1=1 ;person2=1 ;person3=1 ;person4= 1; person5= 1; person6= 1; person7= 0;
#100
person1=1 ;person2=1 ;person3=1 ;person4= 1; person5= 1; person6= 1; person7= 1;
#100
$stop;

end
endmodule

四、Vivado仿真图像

可以看到随着投票人数的增多,result最终在同意人数到达4的时候,输出1,即通过。

五、代码风格

注意对齐和易读性,另外注释尽量用英文,顺便学习相关专业名词。