728x90

 0. [verilog] - 



 1. 풀이


if문을 단계별로 활용하여 기능 구현을 해주었습니다.

reset은 초기화, load가 눌리면 data 값을 가져오는 기능을 수행하도록 해주었고, mode의 누름 여부에 따라 up counter, down counter을 동작하도록 해주었습니다.



 2. 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module counter(clk, en, mode, reset, data, load, q);
input clk, reset, mode, en, load;
input [3:0] data;
output reg [3:0] q;
 
always @ (negedge reset or posedge clk)
begin
    if(~reset)
        q<=4'b0000;
    else begin
        if(load)begin
            q<=data;
        end
        else if(en) begin
            if(mode)
                q<=q+1;
            else
                q<=q-1;
        end
    end
end
endmodule
cs


 3. 참고




질문이나 지적 있으시면 댓글로 남겨주세요~

도움 되셨으면 하트 꾹!


+ Recent posts