디지털논리회로verilog과제
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

디지털논리회로verilog과제에 대한 보고서 자료입니다.

본문내용

b=4'b0000;
end
endmodule
#HW3
Complete the 4to1 mux and simulate it using testbench. Report must include your own explanation.
→ Input : 4bit [3:0]D, 2bit [1:0]S Output: 1bit Y
module MUX4to1(
input [3:0]d,
input [1:0]s,
output y
);
assign
y = d[0]&(~s[1]&~s[0])|
d[1]&(~s[1]& s[0])|
d[2]&( s[1]&~s[0])|
d[3]&( s[1]& s[0]);
endmodule
위 과제는 4 to 1 MUX를 설계하는 것인데, 100ns에서 5ns마다 s값이 00,01,10,11순서로 바뀌게 되며 이는 always구문에
의해서 위와 같이 된다. 위의 출력되는 과정을 간단하게 100ns에서 180ns까지의 변화를 통해서 설명하면 100ns에서 120ns
의 경우에는 입력되는 4bit값이 1001이며 이는 각각 d3,d2,d1,d0의 값이며, s가 00일 때는 d0값이 출력되고 01일때는 d1,
10일 때는 d2, 11일 때는 d3의 값이 출력이 된다. 즉, 출력되는 y는 1001의 오른쪽 수부터 출력이 된다. 120ns부터 140ns
의 경우를 살펴보면 d의 값은 1110인데 위에 설명한 방법대로 y의 값이 0111로 출력이 되는데 위의 시뮬레이션 그래프를 보
면 확인할 수 있다. 140ns에서 160ns의 경우 d는 1101이므로 출력되는 y값은 1011이 되며, 160ns에서 180ns인 경우에는
d가 1100이므로 y는 0011값이 순서대로 5ns마다 출력이 된다.
<<테스트벤치 과제 3번>>
module tb_mux;
// Inputs
reg [3:0] d;
reg [1:0] s;
// Outputs
wire y;
// Instantiate the Unit Under Test (UUT)
MUX4to1 uut (
.d(d),
.s(s),
.y(y)
);
initial begin
// Initialize Inputs
d = 0;
s = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
d=4'b1001;
#20 d=4'b1110;
end
always
begin
#5 s= s+1;
end
endmodule
  • 가격3,000
  • 페이지수6페이지
  • 등록일2016.03.13
  • 저작시기2015.9
  • 파일형식한글(hwp)
  • 자료번호#996938
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니