작성
·
240
·
수정됨
1
맛비님의 맛비 시계 강의를 모두 수강하였고, 해당 자료를 보고 아이디어가 떠올라 맛비시계를 응용한 프로젝트를 진행하였습니다.
https://www.hackster.io/Yupabal/fpga-watch-with-button-function-on-zybo-z7-14250c
맛비님이 hackster.io에 올린 코드를 가지고 "matbi_watch_top", "one_sec_gen"에 대한 코드는 제가 원하는대로 고쳤습니다. 위의 2가지 모듈에는 License를 제 github 주소로 고쳤고, 그 외에 코드들은 matbi님 주소 그대로 두고 저의 github에 올렸는데 혹시 문제가 될까요? (프로젝트를 올린 것도 문제가 될까요?)
+추가로 (프로젝트를 진행하면서 생긴 문제였습니다.)
하나의 always 구문안에 if~else, if~else 이런식으로 if문을 2개 이상 넣을 수 있나요?
이를 시도해보았는데, testbench를 돌려보니 always 구문안에 존재하는 변수 값이 xx로 출력되면서 동작하지 않았습니다.
ex)
always @( ~~~) begin
if(~~)
else
if(~~~~)
else
end
답변 1
0
안녕하세요 🙂
코드 관련해서는 시계프로젝트의 경우만 예외적으로 git 으로 공개적으로 올려놓았기 때문에 괜찮습니다. 이 부분은 걱정안하셔도 돼요. 여기에 제가 직접 괜찮다고 적어드렸으니 걱정하지 마셔요. (좋아요 눌렀습니다 ㅎ 아주 훌륭합니다!!!)
(다만 그외 다른 강의들의 모든 실습코드는 문제가 되실 수 있으니, 참고 부탁드려요)
==================================
하나의 always 구문안에 if~else, if~else 이런식으로 if문을 2개 이상 넣을 수 있나요?
문법 상 가능합니다.
사실상
"always 문 하나 안에 if else 하나" + "always 문 하나 안에 if else 하나"
이거랑 같은 결과를 만들어야 할 것 같은데요.
구현에 문제가 있지 않을까 예상을 해봅니다.
먼저 문제되는 코드를 다음과 같이 나눠서도 test 해보세요.
이거는 아시다시피 되어야 하는 문법이니까요. (아마 똑같이 문제가 재현 될 것이라 예상합니다)
"always 문 하나 안에 if else 하나" + "always 문 하나 안에 if else 하나"
개인적으로는 가독성을 중시하는게 좋아보여서, 분리하는 것을 추천드립니다.
즐공하세요 🙂