C
cherjier
Guest
내가 질문을하고 희망을 .. 몇 가지 피드백을 얻을 수있다
이 예제 코드입니다 :
코드 :
모듈 multi_cyc_test (
CLK,
RST_N,ENA,
IN_DATA,
OUT_DATA
);매개 변수를 IDLE = 2'b00;
매개 변수 = 2'b01를 LOAD;
Count 매개 변수 = 2'b10;
= 2'b11 가게 매개 변수;입력 CLK;
입력 RST_N;
입력 ENA;
입력 [3시] IN_DATA;출력 [3시] OUT_DATA;] 카운터 [1시 reg;
] reg_a [3시 reg;
] reg_b [3시 reg;] current_state [1시 reg;
] next_state [1시 reg;reg count_start;
reg reg_a_en;
reg reg_b_en;와이어 count_done;&counter; = count_done 할당
할당 OUT_DATA = reg_b;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
카운터 "= 2'b00;
다른 경우 (count_start)
카운터 "= 카운터 1;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
reg_a "= 4'h0;
다른 경우 (reg_a_en)
reg_a "= IN_DATA;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
reg_b "= 4'h0;
다른 경우 (reg_b_en)
reg_b "= ~ reg_a; reg_a / / reg_b에 이르기까지, 중급 이상 combinational 논리를 가지고있습니다(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
current_state "= IDLE;
그 밖의
current_state "= next_state;항상 @ (current_state 또는 ENA 또는 count_done) 시작count_start = 1'b0;
reg_a_en = 1'b0;
reg_b_en = 1'b0;경우에는 () current_state
IDLE : 시작
(ENA)를 LOAD 경우 = next_state;
끝로드 : 시작
next_state = COUNT 개의;
reg_a_en = 1'b1;
끝COUNT는 : 시작
next_state = COUNT 개의;
만약 () next_state = 가게 count_done;
count_start = 1'b1;
끝쇼핑몰 : 시작
next_state = IDLE;
reg_b_en = 1'b1;
끝기본값 : 시작
next_state = IDLE;
끝
endcase
끝endmodule
이 예제 코드입니다 :
코드 :
모듈 multi_cyc_test (
CLK,
RST_N,ENA,
IN_DATA,
OUT_DATA
);매개 변수를 IDLE = 2'b00;
매개 변수 = 2'b01를 LOAD;
Count 매개 변수 = 2'b10;
= 2'b11 가게 매개 변수;입력 CLK;
입력 RST_N;
입력 ENA;
입력 [3시] IN_DATA;출력 [3시] OUT_DATA;] 카운터 [1시 reg;
] reg_a [3시 reg;
] reg_b [3시 reg;] current_state [1시 reg;
] next_state [1시 reg;reg count_start;
reg reg_a_en;
reg reg_b_en;와이어 count_done;&counter; = count_done 할당
할당 OUT_DATA = reg_b;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
카운터 "= 2'b00;
다른 경우 (count_start)
카운터 "= 카운터 1;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
reg_a "= 4'h0;
다른 경우 (reg_a_en)
reg_a "= IN_DATA;(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
reg_b "= 4'h0;
다른 경우 (reg_b_en)
reg_b "= ~ reg_a; reg_a / / reg_b에 이르기까지, 중급 이상 combinational 논리를 가지고있습니다(posedge CLK 또는 negedge RST_N)은 항상 @
(! RST_N 경우)
current_state "= IDLE;
그 밖의
current_state "= next_state;항상 @ (current_state 또는 ENA 또는 count_done) 시작count_start = 1'b0;
reg_a_en = 1'b0;
reg_b_en = 1'b0;경우에는 () current_state
IDLE : 시작
(ENA)를 LOAD 경우 = next_state;
끝로드 : 시작
next_state = COUNT 개의;
reg_a_en = 1'b1;
끝COUNT는 : 시작
next_state = COUNT 개의;
만약 () next_state = 가게 count_done;
count_start = 1'b1;
끝쇼핑몰 : 시작
next_state = IDLE;
reg_b_en = 1'b1;
끝기본값 : 시작
next_state = IDLE;
끝
endcase
끝endmodule