VHDL과 디지털회로 설계 전남대학교 전자공학과 김영철 1 목차 Agenda ASIC Design VHDL 및 논리 합성 탄생 배경 VHDL 과 ASIC 설계 환경과의 관계 VHDL 모델링, 합성 및 FPGA 구현 예 VHDL 발전 추세 및 미래 전망 2 Agenda I. Mobile Society Change 1. 2. II. PC -> Mobile Communication Component -> System Design Methodology 1. 2. ASIC Design Flow SoC Design Flow 3 Shift 1: From PC to Communications Centric Services Broadband Network 100Mb/sWLAN RF 20Gop/s WWW Java Configurable Multi-Standard Info Plug... <1 Watt LAN MPEG 4-7 100 Gop/s ?? 5 Gtr/s 10 Watt 4 -> Domain Specific Computing Shift 2: Chip from Component -> System Services Network embedded C RF asp opamp System on Filters AD/DA dspP IC ASIP memory IP µP µC gate RT-ops FSM ASIC FPGA Silicon Board VHDL OO cC++ Softwar eHardware 1960 Design Software 70 80 90 2000 2010 t 5 Mobile Society의 환경 변화 PC 시대의 시작 Internet 시대의 시작 1995년 전후로 한 Analog Mobile Phone, Digital Phone 시 대의 시작 3세대 IMT-2000 시대의 시작을 앞두고 있음 Post PC 시대의 시작 PC 통신, E-mail (WS, PC), WWW 시대의 시작 Mobile Phone 시대의 시작 1980년을 전후로 하여 8-bit/64K Memory PC 시대의 시작 다양한 형태의 PDA를 중심으로 한 Post PC Network Information Appliance 시대를 위한 준비 6 Post-PC Silicon System in 2010 40nm , 1G+ Transistors www gps Speech Pen Vision Bio Motion Security Sensors RF / Analog 100 MByte 32 Bit ASPP’s Distributed Memory Embedded Software >1GHz <1 Watt <1 Volt Re-configurable Interconnect 10 M gate 10 M Gate Re-configurable Hardwired Computing Logic Display Sound Data Bio Actuators 50 GIPS-500GOPS ENERGY/OP : 100 FLEXIBILITY - REUSE - IP More than IP assembly!! 7 Key Enabling Technologies RF-CMOS BiCMOS System partitioning Keys to 3G and beyond Firmware Memories processing power power consumption Cores memory capacity Conversion Technology PA-Technology System Architecture 8 Productivity Gap in Hardware Design Source: sematech97 A growing gap between design complexity and design productivity 9 100,000 Logic transistors per chip ( millions ) 10,000 G F 58% CAGR E C, D 21% CAGR A, B 0.001 1981 1995 Productivity (thousands of transistors per staff month) Increasing Designer Productivity 0.01 2009 10 1. ASIC Design –The Silicon Evolution Log scale 1 G 256 M 64M 16M 100 M P7 4M 10 M R0 1M 1 M 100 K 68000 10 K 4K LSI Logic gate array TMS320C40 TMS320C30 Memory(DRAM) Microprocessor/ Logic DSP TMS320C15 8086 1K 80386 80286 16K Mitsubish gate array TMC320C80 256M 64K IBM gate array Pentium 8080 1 K 4044 70 74 78 82 86 90 94 98 10x every 6 years 11 ASIC Design - Technology Diffusion Technology Diffusion is Accelerating PCS PCs Cellular VCRs Color TV Cable TV Black & White TV 1 Million 0.5 1 5 10 15 Years to 1 Million Sales Mobile and Wireless Communications - Richard Siber (617) 982-9500 12 ASIC Design - Profit Loss 40 33 22 30 20 10 4 0 +50% develp. Cost +9% Product Cost +6 month develp.Time Source: McKinsey 13 ASIC Design-VLSI Crisis feature size - decreases by a factor of 2 in every 4 years. chip size - increases – total transistor count rises by a factor of 2 in every 18 months. fabrication cost - doubles for each generation programmer productivity – 5 mm 1977, 15-20 mm in 2000, 25-30 mm in 2010 30 lines/day ($20/line) ~ 0.5 lines/day designer productivity – – 30 transistors/day 30 HDL lines/day, 300 gates/day, 1200 transistors/day 14 ASIC Design-VLSI Crisis HDL based design – – – Formal verification simulation logic synthesis behavioral synthesis Equivalence verification of HDL based designs of different abstract levels. Intellectual Property vendor library synthesizable core 15 ASIC Design-Design Reuse More than 100M gates in 40 nm 10 – 1M gates per synthesis module 20 - 100 synthesis modules per chip behavioral synthesis 100M gates by the years 2010 Design Reuse constant project team sizes shrinking project completion times Large portions of the chip will result from reusing existing blocks. 16 ASIC Design-System Design Building blocks image/video processing speech codec communications ASIC Design becomes a system integration system level analysis of available building blocks Balancing of available IP building blocks product differentiation at the system level 17 ASIC Design -Intellectual Property IP Development / Integration House ASIC Design Diverse market needs e.g.> graphics chips with digital modem capability becomes a system integration performance analysis of availiable building blocks balancing of available building blocks Reusing IP Building Blocks only viable approach to designing over 1M gates reasonable time. Reusing IP building blocks developed outside is the way to merge knowledge from different applications onto a single chip 18 ASIC Design -Intellectual Property On Silicon IP(hard IP) Off Sillicon IP(soft IP) ASICs chip sets programmable DSPs synthesizable core a reference implementation in sillicon adds a credibility Firm IP(soft IP) RTL level libraries 19 ASIC Design -Levels of Abstraction Architectual /Algorithmic RTL flow of data and control signals whthin / between functional blocks. schedules assignments at clock edges. Gate described in terms of the algorithms the system performs. High lebel design tradeoffs, e.g. hardware /software codesign. interconnection of switching elements (gates). Switch describes logic behavior of transistor circuits. Evaluates conflicts caused by signal strengths of multiple nets. 20 Market Pressures Size of Custommer Telecom Market: < US$ 2T Products: Signal-Dominated HW Systems Under SW Control Protable, Low-Power, Manufacturable, Time to Market Average Lifetime of a Consumer Product: 6-18 mos. Success Depends Critically on the Ability to Design these Systems FAST! 21 When Does One Use Behavioral Synthesis Use behavioral synthesis when Algorithmic descripion exists Complex data flow and/or memory access Operations can be moved Designs specification still changing Need to explore architecture, pipelining, etc. 22 Behavioral Synthesis CYC# OP SCHEDULING HARDWARE ALLOCATION 1 2 3 4 Looks at high-level constraints – Latency, Throughput, Clockperiod goals Extracts control /data flow behavior (Scheduling) – – Assigns operations to resources and states Assigns variables to storage elements (Allocation) – – – optimization of storage decides if temporary storage necessary FSM generated automatically – – defines state /state transitions cycle /cycle implementation of behavior 23 Behavioral Synthesis: Definition input FOR I in 0 TO 2 LOOP m WAIT until clk’event and clk = ‘1’; o IF (rgb[i] < 248) THEN m p = rgb[i] mod 8; R input q = filter(x,y)*8; output END IF; …... clk Enable Instructions Scheduling Functional units Operations Allocation Registers Variables Loop pipelining Memories Arrays Chaining Multiplexers signals Multi cycle operations DW components constraints Memory management Reset style Clocking sytyle Collection of techniques for sequential optimization 24 설계 자동화(design automation) ▶ 컴퓨터 기술의 발달 - 처리 속도, 저장 용량, GUI의 성능 향상 ▶ 집적회로 설계 기술의 발달 - 설계 기술의 축적, 설계 도구의 발달 ▶ 설계자의 작업 및 결정을 대신하고 검증을 도와줌으로서 가능 25 HDL 설계와 컴퓨터 프로그래밍의 비교 비 교 하드웨어설계 단 계 동작적 기술 (HDL 설계) 컴퓨터프로그래밍 고급언어 프로그램 3단계 합성 2단계 구조적 기술 (게이트 레벨 설계) 실리콘 컴파 일러 어셈블리어 프로 그램? 고급언어 컴 파일러 어셈블러 1단계 레이아웃 설계 기계어 프로그램 26 합성(synthesis)이란 ? ▶ 합성은 HDL을 이용한 설계에서 가장 중요한 과정 ▶ 합성 = 변환 + (translation) ▶ 변환 : 최적화 (optimization) 동작적 또는 RTL 기술 (HDL 설계) 구조적 기술 (게이트 레벨 표현) ▶ 최적화 : 면적의 최소화, 동작의 고속화 27 2. VHDL 및 논리 합성 탄생 배경 ASIC 기술 논리 합성(설계 프로세스) VHDL 왜 VHDL 합성이 필요한가? VHDL 합성의 장 단점 VHDL 합성의 실체 28 ASIC 기술(1) IC 제조 기술 발전 설계 도구 성능 향상 ASIC (Application Specific IC) 등장 -주문형( semi-custom ) 반도체 -소량 ( application specific ) -개발 기간 단축 ( shorter design turnaround time (DAT) ) 29 ASIC 기술(2) 제조 공정에 필요한 mask pattern 을 줄임 full-custom IC - gate density 증가 - 속도(성능) 향상 - 비용 절감 semi-custom IC - Gate Array - Standard Cell - PLA, PAL ASIC ASIP (co-design) - FPGA(Field Programmable GA) - PLD(Programmable Logic Device) 30 논리 합성(logic synthesis) schematic based design process language based design process circuit design with schematic editor circuit design with HDL(Hardware Description Language) simulation logic synthesis simulation 31 VHDL(Very High Speed IC HDL) - 1981. HDL workshop 새로운 HDL 개발 필요성 대두 - 미국방성, Department of Defense Requirements for HDL 문서 발간 - 1984. VHDL version 7.2 탄생(미 국방성 기준) - 1986. 2차 VHDL 개발 시작( 일반화가 주목적) -1987. IEEE Standard 1076-1987 VHDL 탄생 -1993. VHDL 1076-1993 VHDL 추가요건 반영 32 왜 VHDL 합성이 필요한가? circuit design with HDL 회로가 점차 복잡해짐 성능 평가 언어로 기술할 경우 회로 복잡도에 상관없음. 잦은 설계 변경 용이. logic synthesis 초기 설계 단계에서 오류 검출 netlist 자동 추출. DAT 단축 simulation 33 VHDL합성의 장점 설계 사이클 단축 - 설계 오류 발생 가능성 감소 설계의 질(quality) 향상 - 전혀 다른 설계 방식들을 손쉽게 검색 vendor 및 제조 기술에 무관 설계 비용 절감 - 설계 재사용 ( design re-usability ) 설계 관리 용이 - 프로그래밍 언어의 structured design 개념 도입 미연방 표준(IFIP 172) 과 일치 34 VHDL합성의 단점 문화적 변화 - 언어에 입각한 설계 프로세스 - 디지털 회로 설계가 주 목적 설계 오류 발견 및 수정 - 논리 합성 결과, 자동 생성된 회로 도면을 이해하기 어렵다. - 전달 지연 시간 ( propagation delay ) 분석이 어렵다. 35 VHDL합성의 실체 VHDL 로 기술(記述)만 하면, 합성 도구가 스스로 논리 회로를 완벽하게 설계해 준다(?) 예. A = B x C VHDL 은 프로그래밍 언어가 아니다. H/W 설계 경험이 결정적 영향을 미친다. 합성 도구 성능에 크게 좌우된다. 36 2. VHDL 과 ASIC 설계환경과의 관계 합성 가능한 함수 및 기본 합성 원칙 설계 계층 구조(design hierarchy) ASIC 설계 프로세스 VHDL 합성 방식에서 유의할 점 37 합성 가능한 함수 조합형 논리 함수 - primitive logic gates, decoder, multiplexer - adder, subtractor , comparator, multiplier 등 순차 논리 함수 카운터 및 카운터를 사용한 함수 - up/down counter, timing generator, event counter 등 레지스터와 래치 함수 - register, latch, shift register, accumulator 등 제어 논리 회로 - sequencer, controller, finite state machine 등 38 기본 합성 원칙 VHDL 로 기술하였다고 해서 무조건 합성되지는 않는다. 자신이 원하는 바를 직접 VHDL 로 coding 한다. 합성 프로세스는 시간 지연(timing delay) 요건을 무조건 만족시키지는 못한다. 39 ±¸Ã¼Àû ¼³°è 구 조 ·¹Á ¦½ º Å Í ·¹º § (·¹Á ö½ º Å Í, A LU, Ä «¿îÅ Í, MUX µî) detailed design 설 계 계 층 abstract design Ä ¨ ·¹º § (¸¶À ÌÅ ©·ÎÇÁ ·Î¼¼¼-, RA M, ROM, UA RT µî) Ãß»óÀû ¼³°è ½ à ½ º Å Û ·¹º § (Ä Ä Ç»Å Í, µð½ º Å © À åÄ ¡, ¹ö½ º À ÎÅ ÍÆäÀ ̽ º µî) °ÔÀ ÌÆ® ·¹º § (NA ND, NOR, Flip-f lop µî) Circuit ·¹º § (Transistor, Register, Capacity , Inductor µî) Layout ·¹º § (Poly, Dif f usion, Metal, Contact Layer µî) 40 ½ ý º ÅÛ °³¹ß °èȹ ¹× ±â´É º ÐÇÒ ASIC 설계 프로세스 º í·Ï ´ÙÀ̾ î±×·¥ Á¤ ÀÇ ¹× ¼³°è »ç¾ ç °áÁ¤ ³í¸® ȸ·Î ¼³°è ³í¸® ½ ùķ¹ÀÌ¼Ç Å×½ º Æ®°¡ ¿ëÀÌÇÑ ¼³°è °³³ä µµÀÔ ½ ùķ¹ÀÌ¼Ç ÆÐÅÏ °áÁ¤ layout Á÷Àü ¹× Á÷ÈÄ ¼³°è °ËÁõ prototype ASIC Á¦Á¶ ¹× Å×½ º Æ® 41 ASIC 설계 프로세스(1) 시스템 개발 계획 및 기능 분할 - 알고리즘 장 단점 분석 - 전체 설계를 H/W 및 S/W 부분 설계로 나눔 - 하위 레벨 module 의 기능 정의 블록 다이어그램 및 개발 specification 결정 - 구체적인 H/W 함수로 분할 - VHDL 코드 기술 ( 記述 ) 을 위한 기반 ( 基盤 ) - gate count 추정 등 시스템 평가 항목 고려 42 예: 상위 레벨 block diagram ½ ÅÈ£ ¹ß»ý±â ä ³Î A ½ ÅÈ£ ¹ß»ý±â ä ³Î B ÀÔ·Â ½ ÅÈ£º Î Ãâ·Â ½ ÅÈ£º Î ¸Þ¸ð¸® Á¦¾ î±â Àú´ë¿ª µðÁöÅ» ÇÊÅÍ RAM ¸Þ¸ð¸® 43 예: 신호 발생기 “A”의 block diagram LoadPW ½ ÅÈ£ µ¥ÀÌŸ ¹ö½ º µ¥ÀÌŸ ¹ö½ º ÆÞ½ º Æø (Pulse Width) ·¹Áö½ º ÅÍ Gate Spacing ·¹Áö½ º ÅÍ 6 º ñÆ® 16 MHz Ŭ·Ï ¸®¼¼Æ® 8 º ñÆ® ¸ÖƼÇ÷º ¼- Enable ½ ÅÈ£ Æ®¸®°Å ½ ÅÈ£ LoadGS ½ ÅÈ£ Ä«¿îÅÍ (8 º ñÆ®) ¸ðµÎ '1'ÀÎ ½ ÅÈ£ °ÔÀÌÆ® Ãâ·Â 44 ASIC 설계 프로세스(2) 테스트 및 시뮬레이션 계획 - controllability 및 observability 개선 수율(yield) 향상 - 테스트 입력 생성 방법 (예: 24-bit counter, 2 24 ) 논리 회로 설계 - 공용 (共用) 함수 확인 매크로 ( macro ) 로 설계 - 각 함수 및 블록 별로 VHDL 코드 및 시뮬레이션 테스트 패턴 생성 45 논리 회로 설계 흐름 비교 ȸ·Î µµ¸é ÀÔ·Â VHDL ÄÚµåÈ- ÀÛ¾ ÷ Netlist »ý¼º RT ·¹º § VHDL ½ ùķ¹ÀÌ¼Ç °ÔÀÌÆ® ·¹º § ³í¸® ½ ùķ¹ÀÌ¼Ç ³í¸® ÇÕ¼º 46 ASIC 설계 프로세스(3) 시뮬레이션 ( simulation ) - 원시 VHDL 코드 compile 및 link debugging - 부분/전체 시뮬레이션 여부 결정 ( 예 : half-adder 와 AND gate ) 논리 합성 - ASIC 제조 업체 결정( 해당 component 라이브러리 사용 ) - 성능 최적화 및 논리 최적화 ASIC 검증(檢證, verification) - physical layout 결과 gate 전달 지연 시간 영향 분석 - I/O pin assignment, ERC ( Electrical Rule Checking ) 47 VHDL 합성에서 유의할 점 VHDL 로 coding 하기 전에 해당 블록 다이어그램의 logical structure 가 어떤 모양인지 알고 있어야만 한다. VHDL 설계와 최종 gate-level ASIC 설계가 일치함을 확인하기 위해 동일한 테스트 패턴(test pattern)을 입력으로 사용한다. 48 3. VHDL 모델링, 합성 및 FPGA 구현 예 합성을 위한 VHDL 모델링 VHDL 모델링의 시뮬레이션 및 논리 합성 예 VHDL 모델링의 FPGA 구현 성능 최적화 및 면적 최소화 사례 49 합성을 위한 VHDL 모델링 추상적 동작 레벨 모델링 (Behavioral Descriptions) 레지스터 전송(Register Transfer) 레벨 모델링 (데이터 흐름 (Dataflow Descriptions) 모델링) 구조적 레벨 모델링 (Structural Descriptions) 50 추상적 동작 레벨 모델링 (Behavioral Descriptions) architecture behavioral of eqcomp4 is begin comp : process (a, b ) begin if a = b then equals <= ‘1’ ; else equals <= ‘0’ ; end if ; end process comp; end behavioral ; 51 레지스터 전송(RT) 레벨 모델링 (Data-flow Descriptions) architecture dataflow of eqcomp4 is begin equals <= ‘1’ when (a = b) else ‘0’; -- equals is active high end dataflow ; 52 구조적 레벨 모델링 (Structural Descriptions) architecture structural of eqcomp4 is signal x : std_logic_vector (0 to 3); begin u0 : xnor2 port map (a(0), b(0), x(0)); u1 : xnor2 port map (a(1), b(1), x(1)); u2 : xnor2 port map (a(2), b(2), x(2)); u3 : xnor2 port map (a(3), b(3), x(3)); u4 : and4 port map (x(0), x(1), x(2), x(3), equals); end structural ; 53 전가산기 VHDL 모델링 예 1-bit half-adder(HA) VHDL 모델링 - Data-flow Descriptions - Behavioral Descriptions 1-bit full-adder(FA) VHDL 모델링 - Structural Descriptions(2 HA + OR gate) - Behavioral Descriptions 54 half adder (1): entity 선언부 entity half_adder is port ( a, b : in bit ; sum, carry : out bit ); end half_adder ; a b half adder sum carry 55 예제 1 : half adder(2)(architecture body) (Register Transfer Level Modeling) architecture RTL_description of half_adder is begin process begin sum <= a xor b ; carry <= a and b ; wait on a, b ; end process ; end RTL_description ; 56 예제 2 : half adder(3) (architecture body) (Behavioral Modeling) architecture behav_description of half_adder is begin process begin if (a = b) then sum <= '0' ; else sum <= '1' ; end if ; if (a = '0') or (b = '0') then carry <= '0' ; else carry <= '1' ; end if ; wait on a, b ; end process ; end behav_description ; 57 예제 1 및 예제 2의 VHDL 합성 결과 (논리식, 최장 전달 지연 경로, 디바이스 활용률) Design Equations carry = a * b sum = a * /b + /a * b Worst Case Path tPD = 8.5 ns for the path (a sum, a carry ) Utilization (using Package CY7C371-143JC) Total PIN signals 4/38 Macro-cells Used 2/32 Unique Product Terms 3/160 58 시뮬레이션 결과(half adder) 전달지연시간 (propagation delay) 59 full adder(1) : entity 선언부 entity full_adder is port ( x, y, c_in : in bit ; s_out, c_out : out bit ) ; end full_adder ; x y c_in full adder s_out c_out 60 full adder(2): architecture body architecture structure of full_adder is signal temp_sum, temp_carry_1, temp_carry_2 : bit ; component half_adder port ( a, b : in bit ; sum, carry : out bit ) ; end component ; component or2 port ( i1, i2 : in bit ; o : out bit ) ; end component ; begin port map ( … ); ... end structure ; 61 full adder(3): block diagram x s_out y Full_adder c_out c_in x y c_in U0: half_adder temp_sum U1 : half_adder s_out c_out temp_carry_2 U2 temp_carry_1 62 full adder(4): structural descriptions u0 : half_adder port map ( a => x, b => y, sum => temp_sum, carry => temp_carry_1); u1 : half_adder port map ( a => temp_sum, b => c_in, sum => s_out, carry => temp_carry_2 ); u2 : or2 port map ( i1 => temp_carry_1, i2 => temp_carry_2, o => c_out ); x y a b U0 sum carry temp_sum Temp_carry_1 63 full adder(5): 논리 합성 결과 64 full adder(6) : Behavioral Modeling architecture behav_description of full_adder is begin process variable I : integer ; if (x = ‘1’) then I <= I + 1 ; end if; if (y = ‘1’) then I <= I + 1 ; end if; if (c_in = ‘1’) then I <= I + 1 ; end if; if (I = ‘1’) or (I = ‘3’) then s_out <= ‘1’ ; else s_out <= ‘0’; end if; if (I > ‘1’) then c_out <= ‘1’ ; else c_out <= ‘0’; end if; wait on x, y, c_in ; end process ; end behav_description ; 65 full adder(7): 논리 합성 결과 66 VHDL 모델링의 FPGA 구현 Standard Cell - 창고형 할인 매장과 같은 구조 Gate Arrays - metal layer 를 제외한 다른 제조 공정은 완료 PLD(Programmable Logic Devices) - 2-stage arrays : AND plane + OR plane - PROM(Programmable ROM), PLA, PAL FPGA(Field Programmable Gate Arrays) - PLD 를 확장 시킨 형태 67 FPGA ¼öÁ÷ ¹è¼± ä³Î ¼öÆò ¹è¼± ä³Î logic cell ³í¸® ¼¿ 68 디바이스 선택 VHDL 모델링 합성 요건 합성 프로그램 netlist 또는 부울 방정식 배치 및 배선 프로그램 결과 파일 (타이밍 분석 내용 등) 레이아웃 직후 시뮬레이션 모델 (VHDL 또는 다른 포맷) 테스트 벤치 디바이스 프로그래밍 파일 (JEDEC 포맷) 시뮬레이션 프로그램 ( VHDL 시뮬레이터 ) 그래픽 파형 데이터 파일 69 Device 선택 70 VHDL 합성 과정(compilation) 71 CPLD 구현 예(1) 72 CPLD 구현 예(2) - 앞 그림을 축소 73 경로별 timing 분석 결과 74 자원 활용 분석 결과 75 성능 최적화 및 면적 최소화 비용 = 면적 gate density 성능 = 속도 임계 경로(critical path)지연 시간 area minimization performance optimization 최소 개발 비용으로 최고 성능의 ASIC 칩 구현 76 예: 속도 개선 Sum <= BusA+BusB+BusC+BusD A B C D + Sum <= (BusA+BusB)+(BusC+BusD) A B C + + D + + + SUM SUM 77 예: 자원 공유(resource sharing)(1) Y <= A + B When Sel = ‘1’ Else Y <= C + D Which one to choose? A C B MPX D Sel A MPX ADD Y B C ADD Sel D ADD MPX Y 78 예: 자원 공유(resource sharing)(2) Y <= A + B When Sel = ‘1’ Else Y <= C + D 가. 두 개의 멀티플렉서와 한 개의 덧셈기 MPX1 <= A When Sel = ‘1’ Else C; MPX2 <= B When Sel = ‘1’ Else D; Y <= MPX1 + MPX2; 나. 두 개의 덧셈기와 한 개의 멀티플렉서 Sum1 <= A + B; Sum2 <= C + D; Y <= Sum1 When Sel = ‘1’ Else Sum2; 79 예: 논리 게이트 최소화(1) Z<= (A nand B) or (not(C)) Z<= (A and B) nand C A A B B Z C Z C Z<= (A nor B) and (not(C)) Z<= (A or B) nor C A A B B Z C Z C 80 예: 논리 게이트 최소화(2) C <= A or (B and not (Select)); Z <= A when Select = ‘0’ else C; Z <= A; 81 예: 속도 최적화(1) 임계 속도 (critical speed) 경로 최소화 SigA <= ‘1’ When Count = ‘1101000011001010’ Else ‘0’; Z<=(((((A and B) and C) and D) and E) and F) or G A B C D E F G Z 82 예: 속도 최적화(2) And/Or 항으로 분리 Y<=(((((A and B) and C) and D) and E) and F) Z<=Y or G A B C D E F G Y Z 83 예: 속도 최적화(3) A 에서 Z 까지의 전달 지연 최소화 Z<=(((((F and B) and C) and D) and E) and A) or G A B C D E F G Y Z 84 속도 최적화 및 면적 최소화 시 유의할 점 RESULT <= A + B ; 다양한 설계 방식 시도 - design requirement에 따라 적절히 tradeoff component library에서 미리 설계된 덧셈기를 선택 - 내부 구조 변경 불가 - technology dependent carry lookahead 회로 첨가 (혹은 VHDL로 coding) - 면적은 최소 2.5 50% 증대 85 VHDL 발전 추세(1) 통합(integration) 보다 정확한 물리적 설계 정보가 필요. 예: gate delay ASIC 제조 기술 변경 결과의 신속한 반영. 도구 성능과 정확도 합성 가능한 entity 수 제한 철폐. VHDL 원시 코드의 보다 정확한 합성 기술. 86 VHDL 발전 추세(2) 최상위 레벨 도구들 형식 검증( formal verification ) 데이터 경로 합성 DSP( Digital Signal Processing ) Application bus-style/pipelined processor register/register file synthesis 87