Multipliers and DSP Slices

2017. 1. 18. 23:45 from 하드웨어

Multipliers and DSP Slices

Figure 6. NI LabVIEW Multiply Function



The seemingly simple task of multiplying two numbers together can get extremely resource intensive and complex to implement in digital circuitry. To provide some frame of reference. Figure 6 shows the schematic drawing of one way to implement a 4-bit by 4-bit multiplier using combinatorial logic.

Figure 7. Schematic Drawing of a 4-Bit by 4-Bit Multiplier


Now imagine multiplying two 32-bit numbers together, and you end up with more than 2000 operations for a single multiply. Because of this, FPGAs have prebuilt multiplier circuitry to save on LUT and flip-flop usage in math and signal processing applications.


Many signal processing algorithms involve keeping the running total of numbers being multiplied, and, as a result, higher-performance FPGAs like Xilinx Virtex-5 FPGAs have prebuilt multiplier-accumulate circuitry. These prebuilt processing blocks, also known as DSP48 slices, integrate a 25-bit by 18-bit multiplier with adder circuitry.


참고

http://www.ni.com/white-paper/6983/en/

'하드웨어' 카테고리의 다른 글

Block RAM  (0) 2017.01.18
LUTs (Lookup Tables)  (0) 2017.01.18
Flip-Flops  (0) 2017.01.18
Flash Memory와 EEPROM 차이점  (0) 2017.01.18
Slew rate 란?  (0) 2016.08.19
Posted by 나무길 :

LUTs (Lookup Tables)

2017. 1. 18. 23:25 from 하드웨어

Lookup Tables (LUTs)



Much of the logic in a CLB is implemented using very small amounts of RAM in the from of LUTs. IT is easy to assume that the number of system gates in an FPGA refers to the number of NAND gates and NOR gates in a particular chip. But, in reality, all combinatorial logic (ANDs, ORs, NANDs, XOR, and so on) is implemented as truth tables within LUT memory. A truth tables is a predefined list of outputs for every combination of inputs.


Here is the quick refresher from digital logic class.


The Boolean AND operation, for example, is shown in Figure 5.

Figure 5. NI LabVIEW Boolean AND Operation


The corresponding truth table for the two inputs of an AND operation is shown in Table 1.


'하드웨어' 카테고리의 다른 글

Block RAM  (0) 2017.01.18
Multipliers and DSP Slices  (0) 2017.01.18
Flip-Flops  (0) 2017.01.18
Flash Memory와 EEPROM 차이점  (0) 2017.01.18
Slew rate 란?  (0) 2016.08.19
Posted by 나무길 :

Flip-Flops

2017. 1. 18. 23:15 from 하드웨어

Flip-Flops


Flip-flops are binary shift registers used to synchronize logic and save logical states between clock cycles within an FPGA circuit. On every clock edge, a flip-flop latches the 1 or 0 (TURE or FLASE) value on its input and holds that value constant until the next clock edge.



위키백과 플립플롭 

플립플롭 (flip-flop) 또는 래치(latch)는 1 비트의 정보를 보관, 유지할 수 있는 회로이며 순차 회로의 기본요소이다. 조합논리회로에 비해 플립플롭은 이전 상태를 계속 유지하여 저장한다. 디지털 공학에서 입력을 출력에 반영하는 시점을 클럭 신호의 순간 엣지에서 반영하는 플립플롭과, 입력에 따라 항상 반영되는 래치로 구분된다. 필요한 플립플롭의 클럭 신호는 수정 발진기 등을 이용하여 생성한다. 복잡한 회로는 많은 플립플롭이 같은 클럭신호를 사용하므로 전용의 클럭 배선이 필요한 경우도 있다. 래치는 입려되는 순간 바로 반영하기 때문에 플립플롭처럼 쳇지의 시점을 결정하는 논리회로가 없어도 되므로 래치의 논리회로가 간단하다.


디지털 시스템 설계에서의 회로를 구성할 때, 조합논리와 결합하여 순차회로의 기능을 구현하는 중요한 요소이다. 마이크로프로세서같은 디지털 로직을 사용하는 많은 전자회로에 사용한다. 시계의 카운터회로나 기타 복잡한 디지털 회로에는 필수적 요소이다. 


조합회로를 단순하게 조합논리 기능을 실현하는 회로가 아니고, 지연된 하나의 출력을 피드백하여 입력에 넣으므로써 정보를 보관, 유지하는데 사용하는 특징이 있다. 조합 회로에서 일반적으로 출력의 반대 논리인 음의 성질로 여겨지는 출력 신호의 지연을 피드백, 루프의 입력 신호에 사용하도록 구성하는 것이 흥미롭다.


플립플롭과 래치는 구조상 휘발성이다. 즉 정보는 전원이 있을때만 보관, 유지되며 전원이 차단되면 정보는 사라지게 된다. 처음 전원이 인가되면 입력이 인가되지 않은 상태에서 Q의 출력 상태가 결정되어야 한다. 이것은 되먹임 회로에서 출력과 입력간의 레이스 조건에 의해 임의로 결정된다. 회로 설계자 입장에서는 초기 Q의 상태를 예측할 수가 없다. 따라서 초기의 상태를 결정하기 위해 입력 신호 외에 별도의 비동기 신호인 SET(Q을 H로)과 RESET(Q을 L로) 신호를 추가하는 경우도 있다. 이 경우 플립플롭은 비동기로 Q의 신호가 결정되고 이 신호가 액티브 되면 클러과 입력은 무시되는 최우선 신호이다. S-R 래치 기능과 유사하다.


디지털 회로에서 각종 카운터나 상태제어 등에 필요한 요소이다. 이전의 상태를 계속 유지하는 상황이 되면 플립플롭 또는 래치를 사용한다. 플립플롭은 클럭 신호가 필요하며, 클럭의 순간적인 상태변화(엣지) 시점에서 입력이 출력에 반영된다. 여러개의 플립플롭으로 회로를 구성할 경우, 각 플립플롭의 클럭입력을 같은 클럭신호를 사용하여 같은 시간에 변화하는 것을 동기 회로라 한다. 경우에 따라 각 플립플롭의 클럭이 따로 입력하는 비동기 회로도 있다. 겨웅에 따라 공통 클럭 뿐만 아니라 다른 출력을 클럭으로 사용하기도 한다.


플립 플롭의 종류 : https://ko.wikipedia.org/wiki/%ED%94%8C%EB%A6%BD%ED%94%8C%EB%A1%AD


참고

http://www.ni.com/white-paper/6983/en/

https://ko.wikipedia.org/wiki/%ED%94%8C%EB%A6%BD%ED%94%8C%EB%A1%AD

'하드웨어' 카테고리의 다른 글

Multipliers and DSP Slices  (0) 2017.01.18
LUTs (Lookup Tables)  (0) 2017.01.18
Flash Memory와 EEPROM 차이점  (0) 2017.01.18
Slew rate 란?  (0) 2016.08.19
Tri-state (3상 상태) 란??  (0) 2016.08.19
Posted by 나무길 :