소개글
각종 레지스터와 카운터를 HDL로 구현한 자료입니다.
테스트 벤치도 있어서 결과 그래프도 포함되어 있습니다.
목차
1)비트레지스터
2)병렬로드 비트 레지스터
3)단방향 시프트 레지스터
4)2진 가산기
5)4비트 쌍방향 시프트 레지스터
6)4비트 쌍방향 시프트 레지스터(멀티플랙스)
7)2진 리플 카운터
8)BCD리플 카운터
9)동기식 2진 카운터
10)4비트 업다운 카운터
11)병렬 로드 2진 카운터
12)병렬로드 BCD카운터
13)링카운터(4비트)
14)8비트 링카운터
15)존슨 카운터
본문내용
1)비트 레지스터
-HDL코드
module Reg_4_bit_beh (A3, A2, A1, A0, I3, I2, I1, I0, Clock, Clear);
output A3, A2, A1, A0;
input I3, I2, I1, I0, Clock, Clear;
reg A3, A2, A1, A0;
always @ (posedge Clock or negedge Clear)
if (Clear == 0) {A3, A2, A1, A0} <= 4`b0;
else {A3, A2, A1, A0} <= {I3, I2, I1, I0};
endmodule
module Reg_4_bit_Str (A3, A2, A1, A0, I3, I2, I1, I0, Clock, Clear);
output A3, A2, A1, A0;
input I3, I2, I1, I0, Clock, Clear;
DFF M3DFF (A3, I3, Clock, Clear);
DFF M2DFF (A2, I2, Clock, Clear);
DFF M1DFF (A1, I1, Clock, Clear);
DFF M0DFF (A0, I0, Clock, Clear);
endmodule
module DFF(Q, D, clk, clear);
output Q;
input D, clk, clear;
reg Q;
always @ (posedge clk or posedge clear)
if (clear == 0) Q <= 0; else Q <= D;
endmodule
module t_Reg_4_bit ();
wire A3_beh, A2_beh, A1_beh, A0_beh;
wire A3_str, A2_str, A1_str, A0_str;
reg I3, I2, I1, I0, Clock, Clear;
참고 자료
없음