2016-11-10 14 views
0

간단한 32 비트 2 진수의 나누기 연산을 포함하는 효율적인 FPGA 프로젝트 (ASIC 설계를 지향)를 만드는 방법을 연구했습니다.ASIC/FPGA 설계에서 합성 가능한 룩업 테이블 분할? 이해가 되니?

복잡한 분할 논리를 생성하는 것보다 LUT (룩업 테이블)을 사용하는 것이 가장 신속한 방법이라는 것을 알게되었습니다. 그렇지만 ASIC에 대해 생각할 때, 내부에 디지털 로직이있는 물리적 인 마이크로 칩을 상상할 때, 전체 테이블을 내부에 두어 상상할 수는 없을 것입니다. 온 칩 메모리 등을 포함하여 많은 리소스를 보유하고 있지만 최종 ASIC에서는 그렇지 않기 때문에 FPGA에서 이해할 수 있습니다.

제 질문은, LUT는 실제로 ASIC 디자인에서 합성 할 수 있습니까? 어떻게 분할 작업이 필요한 칩이 실제로 만들어진 것입니까?

또한 LUT는 나누기 모듈을 만드는 것보다 적은 면적을 소비합니까 ??

나는 이것에 대해 꽤 싫은 데, 귀하의 의견에 감사드립니다.

답변

1

일반적인 정수 나누기는 반복 과정을 사용하여 수행됩니다. 반복 과정을 통해 각 반복은 학교에서 종이에서 나누기와 유사하게 뺄셈 또는 테이블 조회를 기반으로 여러 결과 비트를 생성합니다. 특정 정수 나누기, 예를 들어 숫자에 숫자가있는 경우 조회 테이블을 대신 사용할 수도 있고 제수가 2^n이면 숫자를 반올림하여 간단한 이동을 사용할 수 있습니다. 따라서 실제로 나누기를 구현하는 것은 실제로 인수와 속도/크기 요구 사항에 달려 있습니다.

FPGA에서 ASIC 로의 변환과 관련하여 FPGA의 LUT는 범용 조합 회로를 구현하기위한 유연한 방법입니다. 4 입력 LUT는 4 입력 기능의 모든 출력을 구현할 수 있습니다. 논리 표현식을 FPGA로 종합하면 FPGA에서 사용할 수있는 빌딩 블록이기 때문에 결과가 LUT 표현이되지만 논리 표현식을 ASIC에 합성하면 결과는 대개 이산 게이트 표현이됩니다. ASIC에서 사용할 수있는 빌딩 블록입니다. ASIC 구현은 범용 LUT 오버 헤드를 피할 수 있기 때문에 작고 빠릅니다 (동일한 기술의 경우). 그러나 FPGA 유연성이 손실됩니다.

+0

결론적으로 LUT는 ASIC에서 실현 가능하며 칩을 설계 할 때 실용적인 옵션일까요? – sujeto1

+0

LUT은 Lookup 테이블을 의미하며 특별한 프리미티브가 아니라 ASIC 및 FPGA에서 다양한 방식으로 구현 될 수 있습니다. FPGA 기술은 일반적으로 임의의 n 입력 기능을 구현하는 데 사용되는 LUT 개념을 사용하여 설명됩니다. LUT의 직접적인 구현은 RAM 또는 ROM이 될 수 있거나 ROM 기능이 하드 와이어드 게이트를 사용하여 구현 될 수 있습니다. –

0

합성은 FPGA 설계자에게 널리 알려지게됩니다. LUT 기반 아키텍처에 대해 알아야 할 모든 것은 기술 수준을 요구하는 트랜지스터 레벨 디자인 기법입니다.

저는 개인적으로 netgen 명령으로 Verilog 넷리스트 파일을 사용합니다. 당신은 갈 수 있습니다 FPGA - LUT Architecture Optmization