程序: 例1: 8位全加器 module adder8 ( cout,sum,a,b,cin ); output cout; // 输出端口声明 output [7:0] sum; input [7:0] a,b; // 输入端口声明 input cin; assign {cout,sum}=a+b+cin; endmodule
例2: 8位计数器
module counter8 ( out,cout,data,load, cin,clk ); output [7:0] out; output cout; input [7:0] data; input load, cin,clk ; reg[7:0] out; always @(posedge clk) begin if(load) out <= data; // 同步预置数据 else out < = out + 1 + cin; // 加1计数 end assign cout = &out & cin; //若out为8‘hFF,cin为1,则cout为1 Endmodule 例3:描述的7人投票表决器:若超过4人(含4人)投赞成票,则表决通过。 module vote7 (pass,vote ); outputpass; input[6:0] vote; reg[2:0]sum; //sum为reg型变量,用于统计赞成的人数 integer i; reg pass; always@(vote) begin sum = 0; //sum初值为0 for(i = 0;i<=6;i = i+1) //for语句 if(vote) sum = sum+1; //只要有人投赞成票,则 sum加1 if(sum[2]) pass = 1; //若超过4人赞成,则表决通过 else pass = 0; end endmodule 例4:实现4选1数据选择器. |