Skip to content

시행착오⭐️  #5

@YeoJiSu

Description

@YeoJiSu

📌 큰 값의 segment가 0으로 바뀌지 않는다.

우리를 가장 고통스럽게 했던 이슈다...🤦🏻‍♀️
주소1과 주소2에 들어있는 값을 comparator을 이용하여 비교한 후, 큰 값에 해당되는 주소에는 0을 넣으려 하지만, FPGA 보드 확인 결과 0으로 바뀌지가 않는다.

  • four bit register의 clk과 rst에 vcc가 연결돼서 그런 것일 수 있기에 clk 입력과 rst 입력으로 바꾼다.
    스크린샷 2022-12-06 오후 6 15 29
    👉🏻 unsolved.

  • star을 눌렀을 때 toggle이 안돼서 그랬을 것이다.
    → TFF 플립플롭으로 변경
    👉🏻 unsolved.
    → star가 토글된 후의 값이 바뀌어야하니 TFF 플립플롭 결과값으로 선들을 연결
    👉🏻 unsolved.

  • 구조를 전면적으로 수정해야할 필요성을 느끼고, 결국 전면 수정 작업에 돌입했다.

    1. comparator 뒤에 연결되어 있는 fourBitRegister 두개 제거.

    2. decimalToBinary 뒤에 fourBitRegister 두개(for 주소1,2) 생성. 각 register는 키패드로 입력을 받았을 때의 값을 저장하는 역할을 함.
      스크린샷 2022-12-09 오후 9 32 37

    3. mux 두개(for 주소1,2)에 앞서 새로 생성한 fourBitRegister와 changeToZero 값을 넣고, selector로는 입력값인 shap와 Compartor의 결과값을 AND 연산 한 것을 넣음. 그러면, 이 mux는 shap이 들어왔을 때 값이 크면 selector가 1이 되어 0을 출력하게 된다.
      스크린샷 2022-12-09 오후 9 41 37

    • 이때 입력값이 여러번 들어오는 것을 방지하기 위해 "#"(shap)은 trigger를 통해 입력 받도록 한다.

    👉🏻 solved !!! 이전 형태바뀐 형태

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions