• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

14장 질문

23.11.03 22:35 작성 조회수 319

1

안녕하세요 맛비님 강의 수강중 궁금한점이 생겨 질문드립니다

제가 알기로 2진수 곱셈은

add->shift->add->shift-> ... 이런식으로 진행되서 연산의 속도가 느리다고 알고있었는데요 (나눗셈도 마찬가지)

제가 전공시간에 cpu같은걸 설계할때는 위의 방식대로 add랑 shift를 번갈아가면서 곱셈을 구현했던 기억이 납니다

그래서 power 8 결과가 입력을 넣은 후 한참 뒤에 나올거라고 생각했는데요

강의에서 구현된 곱셈 회로는 곱셈의 연산시간?? 이 없는것같습니다 (3 cycle 딜레이는 D FF땜에 생긴것같구요)

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

 

=================

현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

==================

답변 2

·

답변을 작성해보세요.

0

해결됬어요 감사합니다

0

안녕하세요. 🙂

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

네, 현업에서도 Verilog 로 곱셈을 기술할때, * 을 사용합니다.

Synthesis (합성) 과정을 통해서, targeting 하는 공정 lib 에 있는 * (곱셈 layout) 을 사용하기 때문이고요.

bit 수가 너무 큰 (Timing violation 이 발생할 것 같은) 곱셈은, bit 를 나눠서 구현하기도합니다.

()극단적인 예를 들면 100 bit * 100bit 구현을 절반찍 나눠서 구현 한다던가 )

========

참고로 CPU 는 특히 Freq 에 민감하기 때문에, 기본적인 연산은 Verilog 로 구현안하고요. (모델링 용도로만 사용) 손으로 한땀한땀 Layout 해서 사용합니다.

 

즐공하세요 :)