본문 바로가기

verilog에서 * operator를 사용하면 곱셈 전용 조합회로가 합성되는건가요? 

이런 질문을 구글링에서 본적이 있다.

 

아무 생각없이 사용하다가, 타이밍 오류가 없으면 그냥 넘어갔던 것인데,

합성툴이 기본적인것은 컴포넌트가 있는 것 같아, 별로 개의치 않고 설계 했고,

프로토콜 설계에 있어서는 대부분 곱하기 나누기는 사용하지 않았었다.

 

아무튼 답변도 있어서 일단 저장

https://www.inflearn.com/questions/1065809/14%EC%9E%A5-%EC%A7%88%EB%AC%B8

네, 현업에서도 Verilog 로 곱셈을 기술할때, * 을 사용합니다.
Synthesis (합성) 과정을 통해서, targeting 하는 공정 lib 에 있는 * (곱셈 layout) 을 사용하기 때문이고요. bit 수가 너무 큰 (Timing violation 이 발생할 것 같은) 곱셈은, bit 를 나눠서 구현하기도합니다. 

산술 연산자
쉬프트 포함

 

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.