FPGA or CPLD 선택 가이드 CPLD와 FPGA는 설계자가 설계한 Logic을 설계실에서 직접 Programming에 의해 H/W로 구현할 수 있다는 측면에서 유사성이 크다 하겠다. 그러나, Logic을 구현하기 위한 Device상의 Architecture는 크게 달라서 어떤 Design이냐에 따라 CPLD가 효과적이기도 하고 FPGA가 더 적합하기도 하다. 이 글에서는 CPLD와 FPGA의 Architecture상의 차이와 특징을 간단하게 알아보고, 몇 가지 Logic을 CPLD,FPGA로 각각 구현한 결과를 비교해 봄으로써 설계자로 하여금 어떤 Device를 선정하는 것이 Target Design에 적합할 것인지를 판단하는 근거를 제시하고자 한다. FPGA 아키텍처 FPGA Chip의 내부에는..
질문: FPGA DSP ASIC SOC 각각의 차이점이 무엇인가요? 핸드폰 만드는 전자회사 영업부서에 입사했는데, 제가 전공이 이쪽이 아니라서 내용을 잘 모릅니다. 연구소에서 개발하는데 처음엔 FPGA로 설계하고 그 다음엔 ASIC으로 설계한다는데 FPGA DSP ASIC SOC 이런말들이 자꾸 혼용되어 나오니 매우 혼란스럽습니다. 약자가 무슨뚯인지는 알겠는데 도데체 이 네가지가 서로 어떻게 다른건지 모르겠네요. 일단 제가 알고 있는 내용을 적어보면, FPGA는 기판에 여러 칲들을 붙여 놓고 여기에 프로그래밍해서 기본적인 성능을 개발하는 것이고, 이단계가 잘 되면 좀더 잘 설계해서 FPGA 기판전체가 ASIC으로 다시 설계된다는 것은 알겠습니다. 그런데 말입니다, Modem을 구현하는데 어떤회사는 ASI..
VHDL에 대해서 설명되어 있는 간단히 메뉴얼입니다. 출처 : 광운대학교 반도체 및 신소재 공학과 ...
캐리 예견 가산기 (Carry Lookahead Adder) 전가산기(Full Adder) 의 캐리의 지연 때문에 생긱는 문제를 해결 하기 위해 만들 어진 방법 입니다. 이 방법은 캐리를 따로 계산 하여 부여 해주기 때문에 빠른 것같습니다. 캐리는 반가산기의 SUM 과 CARRY 라면 SUM + (C(n-1) * CARRY) 으로 표현 할수있습니다. G = A * B P = A B C1 = G0 + P0 * C0 = (A0 * B0) + (A0 B0) * C0 C2 = G1 + P1 * C1 = (A1 * B1) + (A1 B1) * C1 C3 = G2 + P2 * C2 = (A2 * B2) + (A2 B2) * C2 C4 = G3 + P3 * C3 = (A3 * B3) + (A3 B3) * C3 Cn ..
앞 가산기의 캐리출력을 다음 가산기의 캐리입력으로 사용하는 Ripple Adder는 가산기 횟수 만큼의 지연이 생깁니다. 그 지연을 없애기 위해서 캐리를 독립적으로 따로 계산하는 방법을 사용하는데... 그것이 CLA 입니다. 이 소스에서는.. - Carry Generate 와 Carry Propagate 를 구현한 컴포넌트 - Carry Lookahead 컴포넌트 - Sum 을 계산하는 컴포넌트 이렇게 3가지 컴포넌트를 써서 CLA를 구현합니다.library ieee; use ieee.std_logic_1164.all;entity cgcpu is -- cgcpu (Carry Generate & Carry Propagate 회로) ; -- 공식에 입력 값으로 들어가는 G와 P를 구하는 회로 port( a,..
* VHDL을 이용한 ASIC 설계 * VHDL이란 무엇인가? VHDL(VHSIC Hardware Description Languate)이란 1980년대 초부 터 미국방성에 사용하기 시작한 새로운 HDL이다. VHDL의 첫 약자 "V"는 VHSIC인데 이는 Very High Speed Integrated Circuit를 나타내는 말로써, 고 속의 IC Chip을 만들려는 미 국방성의 첨단계획으 로 VHDL은 바로 이 계획에 사용되는 기본 HDL인 것이다. 또한 미 국방성은 매년 많은 양의 전자장치를 구매하는데 해마다 달 라지는 전자기술 때문에 구매하는 전자장치의 효율적인 관리와 운용에 애를 먹고 있었다. 이러한 이유로 미국방성은 변화되는 기술에 관계없이 항상 오랫동안 사용할 수 있는 Universal한 ..
* VHDL 세미나를 위해서 만들었던 자료 프로세스_레이블: process(감지리스트) {선언문} begin {순차문} End process 프로세스_레이블; Wait for type_expression; ->시간대기 Wait on sensitivity_list; ->신호대기 - 감지리스트는 wait on문이 있을 경우에 process에서 써주지 않는다. Process(signal1,signal2,signal3) Begin Sequence1; Signal3