인프런 커뮤니티 질문&답변
parameter 관련 질문
작성
·
487
1
안녕하세요,
오늘은 짧은 질문으로 찾아뵙게 되었네요.
1. lab22_matbi.v (top module)에 적힌 parameter를 수정하면 그 하위 모듈들(myip, myip_S00,data_mover)에서도 그 값이 변경되는 것이 맞나요? 코드를 읽어보면 override를 해주고 있는 듯 해서요
(아래 사진은 lab22_matbi.v에서 하위 모듈을 선언할 때 override 하는 코드)
2. lab22_matbi.v 에서는 parameter integer로 선언하고 다른 모듈에서는 그냥 parmeter로 선언이 되어있던데 둘의 차이가 있나요? (override가 연결되어있는데 둘이 선언되는 방식이 다릅니다)
감사합니다:)
답변 2
1
아..
Verilog 2001 과 1995 의 괴리감이 또 있네요.
다음 글을 읽으면서 머리가 아팠는데요. (웰케 복잡해!)
Rule 을 지켜서 이런 상황이 발생안하도록 설계하시면 좋을 것 같습니다.
즉, 혼용해서 사용하지 마시기를 권장드립니다.
parameter integer 가 xilinx 의 axi code 에서 넘어온건데, (복붙하다보니)
parameter 하나로 통일하셔도 지금 코드에서는 문제가 없어보이네요.
0
안녕하세요 :) (의무감으로 안남기셔도 됩니다. Verilog 퀴즈 푸는 느낌;; )
1. lab22_matbi.v (top module)에 적힌 parameter를 수정하면 그 하위 모듈들(myip, myip_S00,data_mover)에서도 그 값이 변경되는 것이 맞나요? 코드를 읽어보면 override를 해주고 있는 듯 해서요
(아래 사진은 lab22_matbi.v에서 하위 모듈을 선언할 때 override 하는 코드)
전부 따라가보진 않았지만, override 가 되고 있다면, 변경되는 것이 맞아요. :)
2. lab22_matbi.v 에서는 parameter integer로 선언하고 다른 모듈에서는 그냥 parmeter로 선언이 되어있던데 둘의 차이가 있나요? (override가 연결되어있는데 둘이 선언되는 방식이 다릅니다)
parameter 에 assign 되는 value 에 따라서, type 이 정해집니다.
parameter 정수를 assign 하면 , 32b integer 로 알고있습니다.
parameter abc = 6; //defines abc as constant value 6
parameter def = 6.3; //defines def as real parameter
즉, 다음 상황에서는 parameter inteager 나, parameter 나 동일하다.
따지고 보니까, 동일하다 말하기도 애매하네요. 다음 댓글을 참고해보세요.
아니다, 지금상황에서는 동일하다 답변드릴께요. Verilog 니까.
https://link.springer.com/chapter/10.1007%2F978-1-4615-1713-9_28






이 수업을 바이블 삼아 계속 참고하며 공부하다보니 질문이 계속해서 생기네요ㅠ
매번 감사합니다:)