728x90 반응형 Computer/디지털시스템10 [Verilog] Hardware Description Language (HDL) 논리 함수는 하드웨어 기술 언어(hardware description language, HDL)로 기술할 수 있다. 대표적으로 SystemVerilog와 VHDL이 있다. 본 글에서는 Verilog를 이용해 기술한다. 1. Module모듈(module)은 입력과 출력을 가진 하드웨어의 블록이다. 모듈을 기술하는 형식은 일반적으로 behavioral model과 structural model의 두 가지 방식을 가진다.Behavioral model: 어떤 기능을 하는 지를 명시Structural model: 단순화된 조각들로 모듈을 구축예시를 살펴보자. 다음은 behavioral 기술이다.module sillyfunction (input logic a, b, c, output logic y) ass.. 2024. 6. 6. [논리회로] 순차 논리회로 (Sequential Logic Circuit) (2): Latch 이번 글에서는 SR Latch와 D Latch에 대해 알아보도록 하자.1. SR LatchSR Latch는 가장 간단한 순차 논리회로 중 하나이다. 두 개의 cross-coupled NOR gate로 구성되어 있다. 아래 그림에서 NOR gate의 또 다른 하나의 input은 S, R에 연결되어 있음을 알 수 있다. 두 개의 입력 S, R을 가지고 2개의 출력을 가진다.앞 글에서 살펴본 cross-coupled inverter와 비슷하지만, state가 set(S), reset(R)에 의해 통제된다는 점이 다르다.S(set): 비트를 TRUE 값으로 만든다.R(reset): 비트를 FALSE 값으로 만든다.여기서 비트는 출력 Q의 값을 의미한다.RS 10N1이 적어도 하나의 TRUE 입력값(R)을 받는다.. 2024. 6. 6. [논리회로] 순차 논리회로 (Sequential Logic Circuit) (1) 이전 글까지는 conbimational logic을 어떻게 분석하고 설계하는 지 알아보았다. 이번 글 부터는 sequential logic을 알아볼 것이다. sequential logic은 현재 값에만 의존하는 conbinational logic과는 달리 현재와 이전의 입력 값에 모두 의존한다. 따라서 sequential logic은 메모리를 가진다. sequencital logic에서 상태(state)는 회로의 미래 동작을 설명하기 위해 필요한 과거의 정보를 가지는 상태 변수(state variables)이라고 불리는 비트의 집합이다. sequential logic은 이전 입력을 기억하거나, state라고 불리는 정보를 추출한다. 메모리의 fundamental building block은 2개의 안정된.. 2024. 6. 6. [논리회로] 조합 논리회로 (Combinational Logic Circuit) (3): X, Z bool algebra는 0과 1 두 가지 값으로 한정된다. 하지만 실제 회로에서는 X, Z라는 기호로 표시되는 값을 가질 수 있다. 이 값들에 대해 알아보자. 1. X: 금지된 값X는 회로의 노드가 알려지지 않은 값이나 금지된 값을 가지고 있음을 나타낸다. 보통 0과 1이 동시에 들어올 때 발생한다. 이러한 상황을 contention이라고 부르며 오류로 간주되어 반드시 피해야 한다. contention이 발생한 노드의 실제 전합은 0과 V 사이 어딘가에 위치한다. 이 영역은 대부분 금지되어 있다. 또한, contention은 contention이 발생한 게이트(아래 그림에서는 A와 B) 사이에 큰 power flow를 유발한다. 이 때 회로가 뜨거워져 손상을 입게 될 수 있다.X 값은 circuit s.. 2024. 6. 6. [논리회로] 조합 논리회로 (Combinational Logic Circuit) (2): boolean equation, boolean algebra Boolean EquationBoolean Equation은 TRUE or FALSE의 변수를 다루는 방정식을 말한다. 따라서 digital logic을 묘사하기에 적절하다. Boolean Equation에서 연산 순서는 매우 중요하다. NOT > AND > OR1. Sum-of-Products formN개 input에 대한 truth table은 2^N개의 행을 가진다. 그리고 각 행은 TRUE가 되는 minterm을 하나씩 가진다. minterm은 모든 input들의 product(곱)의 형태로 나타낸 항이다.모든 truth table에 대해 Y가 TRUE가 되는 행의 minterm을 모두 더해 Boolean equation을 작성할 수 있다. 위의 표에서는 두번째 행(A=0, B=1)일 때의 mi.. 2024. 6. 6. [논리회로] 조합 논리회로 (Combinational Logic Circuit) (1) 이번 글에서는 디지털 논리 회로 중, 조합 논리 회로에 대해 알아보자. 디지털 회로는 조합 논리회로(combinational logic circuit)와 순차 논리회로(sequential logic circuit)로 분류된다. 조합 회로는 현재의 입력 값에 의해서만 출력 값이 결정되는 회로를 말한다. 반면, 순차 회로는 현재의 입력 값과 바로 전의 입력 값에 의해 출력값이 결정되는 회로이다. 즉, 입력의 순서에 의존한다. 조합 회로에는 메모리가 없지만 순차 회로는 메모리를 가진다는 특징이 있다. 조합회로의 작성 규칙을 살펴보자. 이 규칙은 작은 조합회로의 element로부터 큰 조합회로를 어떻게 만드는지를 보여준다. 모든 circuit element가 combinational이다.회로의 모든 노드들이 그.. 2024. 6. 5. [FPGA] FPGA Architectures(3): Configurable Logic Block (CLB) FPGA를 구성하는 기본요소는 Configurable Logic Block (CLB)이다. 이번 글에서는 CLB에 대해 자세히 알아보도록 한다. CLB는 기본적인 logic과 저장 기능을 제공한다. 이 기능을 제공하는 요소로 transistor나 processor를 생각할 수 있지만 그렇지 않다.transistor: very fine-grained하고 많은 수의 programmable interconnect가 필요하다. 이것은 FPGA의 area-inefficiency를 증가시킨다.processor: very coarse-grained하다. 작은 function을 구현하기 위해서 너무 많은 자원을 낭비해야 한다.이 두 가지 극단의 중간을 적절히 선택하는 것이 basic logic block에 적당하다. .. 2024. 6. 3. [FPGA] FPGA Architectures(2): Programming Technologies FPGA의 가장 중요한 특징은 바로 reconfigurability/programmability이다. 이러한 특성은 fabrication 이후에도 pre-fabricated chip으로 바뀌는 것을 가능하게 하는 programming technology에 기인한다. 이번 글에서는 바로 reconfigurability를 가능하게 하는 programming technology에 대해 알아본다. "programming technology"는 FPGA의 내부 회로와 연결을 설정하거나 변경하는 데 사용되는 방법을 의미한다. reconfigurable architecture를 구현하기 위한 많은 programming technology들이 있지만 여기서는 그 중에서도 가장 잘 알려진 세 가지(static memor.. 2024. 6. 3. [FPGA] FPGA Architectures(1): FPGA 지난 글에서는 programmable logic device (PLD)의 종류를 간단하게 살펴보았다. 이번 글에서부터는 본격적으로 FPGA에 대해 알아보도록 하자. FPGA는 1984년에 Ross Freeman에 의해 발명되어 1985년에 Xilinx 사에 의해 도입되었다. 현재에 이르러서는 디지털 회로를 구현하는 유명한 수단이 되었다. FPGA는 configurable logic block(CLB), programmable interconnects, I/O block (IOB)로 구성된다. ASIC에 대해 간단히 알아보자.ASIC (Application-Specific Integrated Circuit)ASIC은 digital systme을 구현하는 하나의 수단이다. 에너지 효율과 성능이 다른 수단과 .. 2024. 6. 3. [FPGA] Programmable Logic Devices (PLD): PROM, PLA, PAL, CPLD, FPGA Programmable logic device(PLD)는 사용자가 내부 논리 회로의 구조를 변경할 수 있는 집적 회로이다. 초기에는 사전에 프로그래밍되어 회로를 변경할 수 없는 것이 일반적이었다. 하지만 PLD의 등장으로 사용자가 원하는 임의의 회로를 설계하고 기록해 동작시킬 수 있게 되었다. 역사적으로 다양한 종류의 PLD가 존재해왔다. 여기서는 그 중 PROM, PLA, PAL, CPLD, 그리고 자세히 앞으로 자세히 살펴볼 FPGA에 대해 간단히 살펴보도록 하자. 1. Simple PLD (SPLD)상대적으로 구조가 단순한 PROM, PLA, PAL, GAL 등을 SPLD라고 부른다.1) Programmable Read-Only Memory (PROM)PROM은 딱 한 번 새로운 내용을 기록할 수 .. 2024. 6. 3. 이전 1 다음 728x90 반응형