资源描述:
《数字电路应用之verilog hdl语言常用经典程序例题(quartus ii软件)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数字电路应用之VerilogHDL语言程序经典例题(QuartusII软件编程)一:2线4线译码器:moduletom(a,b,y);inputa,b;output[3:0]y;wirena,nb;not(na,a);not(nb,b);and(y[0],na,nb);and(y[1],na,b);and(y[2],a,nb);and(y[3],a,b);endmodule二:三输入表决器:moduleadd(a2,a1,a0,y);inputa2,a1,a0;outputy;assigny=((a1&a0)
2、(a2&a1)
3、
4、(a2&a0));endmodule三:3线8线译码器:modulefulladd(a2,a1,a0,y);inputa2,a1,a0;output[7:0]y;assigny[0]=~(~a2&~a1&~a0);assigny[1]=~(~a2&~a1&a0);assigny[2]=~(~a2&a1&~a0);assigny[3]=~(~a2&a1&a0);assigny[4]=~(a2&~a1&~a0);assigny[5]=~(a2&~a1&a0);assigny[6]=~(a2&a1&~a0);assigny[7]=~
5、(a2&a1&a0);endmodule四:BIN2BCD码制转换:modulefulladd(y,d,e);input[6:0]y;output[3:0]d,e;assignd=y/10;assigne=y%10;endmodule五:4位比较器:moduletom(y,x,d);input[3:0]y,x;output[2:0]d;assignd[2]=(x>y)?1:0;assignd[1]=(x==y)?1:0;assignd[0]=(x6、fulladd4(sum,c_in,c_out,a,b);output[3:0]sum;outputc_out;input[3:0]a,b;inputc_in;wirec1,c2,c3;fulladdfa0(sum[0],c1,a[0],b[0],c_in);fulladdfa1(sum[1],c2,a[1],b[1],c1);fulladdfa2(sum[2],c3,a[2],b[2],c2);fulladdfa3(sum[3],c_out,a[3],b[3],c3);endmodule//程序调用modulefulladd
7、(sum,c_out,a,b,c_in);outputsum,c_out;inputa,b,c_in;wires1,c1,c2;xor(s1,a,b);and(c1,a,b);xor(sum,s1,c_in);and(c2,s1,c_in);xor(c_out,c2,c1);endmodule法二:(通用法)modulefulladd4(A,B,Cin,SUM,Cout);input[3:0]A,B;inputCin;output[3:0]SUM;outputCout;assign{Cout,SUM}=A+B+Cin;endm
8、odule七:七段显示译码器:法一:modulebbc(a,d,g);input[3:0]a;output[6:0]d;output[3:0]g;reg[6:0]d;assigng=4'b0001;always@(a)begincase(a)4'b0000:d=7'b100_0000;4'b0001:d=7'b111_1001;4'b0010:d=7'b010_0100;4'b0011:d=7'b011_0000;4'b0100:d=7'b001_1001;4'b0101:d=7'b001_0010;4'b0110:d=7'b
9、000_0010;4'b0111:d=7'b111_1000;4'b1000:d=7'b000_0000;4'b1001:d=7'b001_0000;default:d=7'b000_0000;endcaseendendmodule法二:modulebbc(a,d,g);input[3:0]a;output[6:0]d;output[3:0]g;reg[6:0]d;assigng=4'b0001;always@(a)beginif(a==4'b0000)d=7'b100_0000;elseif(a==4'b0001)d=7'b
10、111_1001;elseif(a==4'b0010)d=7'b010_0100;elseif(a==4'b0011)d=7'b011_0000;elseif(a==4'b0100)d=7'b001_1001;elseif(a==4'b0101)d=7'b001_0010;e