1 / 6
文档名称:

verilog例程.docx

格式:docx   大小:18KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

verilog例程.docx

上传人:陈潇睡不醒 2020/12/29 文件大小:18 KB

下载得到文件列表

verilog例程.docx

相关文档

文档介绍

文档介绍:【】同步置数、同步清零的计数器
module count(out,data,load,reset,clk);
output[7:0] out;
input[7:0] data;
input load,clk,reset;
reg[7:0] out;
always @(posedge clk) //clk 上升沿触发
begin
if (!reset)
out = 8'h00; //同步清0,低电平有效
else if (load)
out = data; //同步预置
else
out = out + 1; //计数
end
endmodule
【】用for 语句描述的七人投票表决器
module voter7(pass,vote);
output pass;
input[6:0] vote;
reg[2:0] sum;
integer i;
reg pass;
always @(vote)
begin
sum=0;
for(i=0;i<=6;i=i+1) //for 语句
if(vote[i]) sum=sum+1;
if(sum[2])
pass=1; //若超过4 人赞成,则pass=1
else pass=0;
end
endmodule
【】用for 语句实现2个8 位数相乘
module mult_for(outcome,a,b);
parameter size=8;
input[size:1] a,b; //两个操作数
output[2*size:1] outcome; //结果
reg[2*size:1] outcome;
integer i;
always @(a or b)
begin
outcome=0;
for(i=1; i<=size; i=i+1) //for 语句
if(b[i]) outcome=outcome +(a << (i-1));
end
endmodule
【】8-3 优先编码器
module encoder8_3(none_on,outcode,a,b,c,d,e,f,g,h);
output none_on;
output[2:0] outcode;
input a,b,c,d,e,f,g,h;
reg[3:0] outtemp;
assign {none_on,outcode}=outtemp;
always @(a or b or c or d or e or f or g or h)
begin
if(h) outtemp=4'b0111;
else if(g) outtemp=4'b0110;
else if(f) outtemp=4'b0101;
else if(e) outtemp=4'b0100;
else if(d) outtemp=4'b0011;
else if(c) outtemp=4'b0010;
else if(b) outtemp=4'b0001;
else if(a) outte