공학 자료등록 디지털논리회로 자료등록 4비트 덧셈뺄셈기 회로 구현 자료 FM
- unprod642
- 2020년 11월 7일
- 2분 분량
공학 자료등록 디지털논리회로 자료등록 4비트 덧셈뺄셈기 회로 구현 자료
공학 자료등록 디지털논리회로 자료등록 4비트 덧셈뺄셈기 회로 구현
[공학][디지털논리회로] 4비트 덧셈뺄셈기 회로 구현
기초부터 응용까지 Verilog HDL
- 다음은 4비트 덧셈 뺄셈기의 논리 회로 이다.
1. 위의 논리 회로를 Gate level modeling 방법을 사용하여 Verilog 코드를 코딩하시오.
Gate level modeling
module Add_Subtraction
input m;
input [3:0] a,b;
output [3:0] s;
output c,v;
wire [4:1] cn ;
wire [3:0] n ;
xor U1(n[0],m,b[0]);
xor U2(n[1],m,b[1]);
xor U3(n[2],m,b[2]);
xor U4(n[3],m,b[3]);
FA U5(s[0],cn[1],a[0],n[0],m);
FA U6(s[1],cn[2],a[1],n[1],cn[1]);
FA U7(s[2],cn[3],a[2],n[2],cn[2]);
FA U8(s[3],cn[4],a[3],n[3],cn[3]);
xor U9(v,cn[4...기초부터 응용까지 Verilog HDL
- 다음은 4비트 덧셈 뺄셈기의 논리 회로 이다.
1. 위의 논리 회로를 Gate level modeling 방법을 사용하여 Verilog 코드를 코딩하시오.
Gate level modeling
module Add_Subtraction
input m;
input [3:0] a,b;
output [3:0] s;
output c,v;
wire [4:1] cn ;
wire [3:0] n ;
xor U1(n[0],m,b[0]);
xor U2(n[1],m,b[1]);
xor U3(n[2],m,b[2]);
xor U4(n[3],m,b[3]);
FA U5(s[0],cn[1],a[0],n[0],m);
FA U6(s[1],cn[2],a[1],n[1],cn[1]);
FA U7(s[2],cn[3],a[2],n[2],cn[2]);
FA U8(s[3],cn[4],a[3],n[3],cn[3]);
xor U9(v,cn[4],cn[3]);
buf U10(c,cn[4]);
endmodule
module FA
output s,c;
input a,b,cin;
wire [4:1] n ;
xor U1(n[1],b,cin);
xor U2 (s,a,n[1]);
and U3(n[2],a,cin);
and U4(n[3],b,cin);
and U5(n[4],a,b);
or U6(c,n[2],n[3],n[4]);
endmodule
module FA
output s,c;
input a,b,cin;
wire [4:1] n ;
xor U1(n[1],b,cin);
xor U2 (s,a,n[1]);
and U3(n[2],a,cin);
and U4(n[3],b,cin);
and U5(n[4],a,b);
or U6(c,n[2],n[3],n[4]);
endmodule
2. 위의 논리 회로를 Data flow modeling 방법을 사용하여 Verilog 코드를 코딩하시오.
dataflow modeling
module Add_Subtrction
input m,
input [3:0] a,b;
output [3:0]s;
output c,v;
wire [4:1] cn ;
wire [3:0] n ;
assign n[0]= m ^ b[0];
assign n[1]= m ^ b[1];
assign n[2]= m ^ b[2];
assign n[3]= m ^ b[03];
assign v = cn[4] ^ cn[3];
assign c = cn[4] ;
FA U5(s[0],cn[1],a[0],n[0],m);
FA U6(s[1],cn[2],a[1],n[1],cn[1]);
FA U7(s[2],cn[3],a[2],n[2],cn[2]);
FA U8(s[3],cn[4],a[3],n[3],cn[3]);
endmodule
module FA
output s,c;
input a,b,cin;
wire [4:1] n ;
assign n[1] = b ^ cin;
assign s = a ^ n[1] ;
assign n[2] = a & cin;
assign n[3] = b & cin;
assign n[4] = a & b;
assign c = n[2] | n[3] | n[4] ;
endmodule
3. 위의 논리 회로를 Behavioral level modeling 방법을 사용하여 Verilog 코드를 코딩하시오.
behavioral level modeling
module Add_Subtrction
input m,
input [3:0] a,b;
output [3:0]s;
output reg c,v;
wire [4:1] cn ;
reg [3:0] n ;
always @(m,b)
begin
n[0]= m ^ b[0];
n[1]= m ^ b[1];
n[2]= m ^ b[2];
n[3]= m ^ b[3];
end
always @(cn)
begin
v = cn[4] ^ cn[3];
c = cn[4] ;
end
FA U5(s[0],cn[1],a[0],n[0],m);
FA U6(s[1],cn[2],a[1],n[1],cn[1]);
FA U7(s[2],cn[3],a[2],n[2],cn[2]);
FA U8(s[3],cn[4],a[3],n[3],cn[3]);
endmodule
module FA
output reg s,c;
input a,b,cin;
always @(a,b,cin)
{c,s} = a + b + cin;
endmodule
[문서정보]
문서분량 : 4 Page
파일종류 : HWP 파일
자료제목 : 공학 자료등록 디지털논리회로 자료등록 4비트 덧셈뺄셈기 회로 구현
파일이름 : [공학][디지털논리회로] 4비트 덧셈뺄셈기 회로 구현.hwp
키워드 : 공학,디지털논리회로,비트,덧셈뺄셈기,회로,구현,자료등록,4비트
자료No(pk) : 11063531
댓글