Cue_Cards Flashcards

1
Q

What is Reconfigurable Computing (RC)?

A

Reconfigurable Computing (RC) uses programmable logic like FPGAs to accelerate computations. It combines software flexibility with hardware speed, exploits parallelism at various levels (bit, instruction, and process), and can be dynamically reconfigured for different tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the main benefits of Spatial Computing?

A

Spatial computing improves performance by optimizing for specific problems, efficiently utilizing area, lowering power consumption due to customization, and allowing adaptation for changing requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What techniques enhance RC performance?

A

Techniques to enhance performance include pipelining, which breaks tasks into stages, and parallelism, where multiple tasks execute simultaneously. For example, FPGAs utilize hardware-level parallelism for acceleration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the coupling approaches in RC systems?

A

The coupling approaches in RC systems include functional units (FUs) integrated into the CPU’s data path, co-processors operating independently alongside the CPU, attached processing units similar to DMA but less tightly coupled, and standalone units with their own memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the trade-off between tight and loose coupling?

A

The trade-off between tight and loose coupling is in communication and independence. Tightly coupled systems have lower communication overhead but limited capability for complex tasks, while loosely coupled systems offer greater independence and parallelism but incur higher communication overhead.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How can we manage large FPGA designs?

A

Large FPGA designs can be managed by using the largest available FPGAs, optimizing architecture through semi-parallel or serial implementations, replacing floating-point arithmetic with fixed-point, or employing runtime reconfiguration to dynamically adapt the FPGA for different tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the benefits of fixed-point arithmetic in FPGA designs?

A

Fixed-point arithmetic is advantageous because it is less costly, simpler in hardware, consumes less power, and is faster compared to floating-point arithmetic. However, it has limited precision and is not suitable for applications requiring high accuracy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the differences between parallel, semi-parallel, and serial designs?

A

Parallel designs provide high speed but consume more area, while semi-parallel designs strike a balance between speed and area. Serial designs are the most area-efficient but have the lowest speed. The choice depends on constraints like cost and performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are common metaheuristic methods for partitioning optimization?

A

Metaheuristic methods for optimization include simulated annealing, which allows exploration by permitting initial uphill moves to avoid local minima, and genetic algorithms, which use evolutionary strategies like selection, crossover, and mutation to refine solutions. These methods balance exploration and exploitation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

When should you use ASAP scheduling, and when is ALAP scheduling more appropriate?

A

Use ASAP scheduling when minimizing latency is critical. It ensures operations are executed as early as possible for the shortest latency. Use ALAP scheduling when optimizing for resource usage or energy efficiency. It schedules operations as late as possible, maximizing slack and allowing for better resource sharing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are limitations of using bit data type to represent a physical signal in VHDL?

A

Bit has a limited range of values between ‘0’ and ‘1’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What’s the difference between a VARIABLE and a SIGNAL in synthesis and simulation?

A

VARIABLES are local computation and mapped to combinational logic, SIGNALS are in communication/storage and mapped to flip flops or interconnects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Name three constructs in VHDL that can’t be translated into hardware?

A

Wait, Assertion, Loops With No Bounds

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does a BLE consist of?

A

LUTs, Flip Flops, MUX

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does a CLB consist of?

A

BLEs and Slices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How can a BLE be used to realize a boolean function?

A

LUTs can be used for combinational circuits while the Flip Flops can be used for sequential circuits

17
Q

Name three flaws of a fine grain FPGA

A

1) Delay through the LUT will be constant 2) LUTs are grouped in CLBs, making connections outside of LUT slow 3) Lots of bits have to be downloaded as a bitstream, leading to a high power consumption

18
Q

What are main advantages of using a medium grain FPGA over fine grain?

A

Medium grain FPGA has built-in blocks of RAM along with DSP units, which increases area efficiency and making it faster

19
Q

Give FPGA Cad Flow

A

Design Entry -> Synthesis -> Logic Optimization -> Map to k-LUTS -> Packing -> Placement -> Routing -> Configure to FPGA

20
Q

What are the four objectives ofp placement in FPGA?

A

1) Minimize wire length 2) Minimize congestion 3) Minimize signal delay 4) Ensure routability

21
Q

What are advantages and disadvantages of separating placement and routing into two stages?

A

ADVANTAGE is that it helps simplify the problem, DISADVANTAGE is that both interact and we may end up losing critical values and another info in the process

22
Q

State Flynn’s taxonomy of Multiprocesing

A

SISD (Single Instruction Single Data), MISD, (Multi Instruction Single Data), MIMD, (Multi Instruction Multi Data), MISD (Multi Instruction Single Data)

23
Q

What is Amdahl Law?

A

Amdahl Law finds max speedup of an overall system given a portion of the system being sped up and # of processors

24
Q

What are the advantages/disadvantages of SRAM-based technology in comparison to Anti-Fuse and EEPROM

A

ADVANTAGE: Speed, Programmability, Power Consumption.

DISADVANTAGE: Volatility, External Storage to download Bitstream, Radiation

25
Q

Explain hiearchy between LCs, Slices, and CLBs inside a FPGA

A

Fastest interconnects between LCs, Faster interconnects between Slices in CLBs, highly related modules are packed together in order to optimize area and performance

26
Q

What are main drivers behind RCS?

A

FPGA architechtures (fine, medium, coarse grain). PLDs and CPLDs, GPPs are too slow for computer algorithm, ASICs are too expensive

27
Q

Temporal vs Spatial Implementations for RCS?

A

Spatial refers to creation of multiple multipliers/adders/ALUs to solve problem in min # of clock cycles (High Space Low Cycle). Temporal refers to sharing a shared execution unit to perform several optations (Low Space High Cycle).

28
Q

Give formal definition of “Hardware/Software Co-Design”

A

The cooperative design between hardware and software components

29
Q

What are the main concerns that you have to pay attention to (besides partitioning the application) between the general purpose processor and hardware accelerator?

A

Communication overhead, Load Balancing, Interacing, and achieving balance between performance and flexibility

30
Q

What’s a simple approach for taking a software and mapping it onto a hardware/software co-design platform?

A

1) Profile application 2) Find bottlenecks 3) Partition application to move bottlenecks to hardware

31
Q

What is it meant by both placement and routing being NP-complete problems?

A

We can’t solve the problem linearly in optimal time

32
Q

Give two applications that aren’t suitable for RCS

A

extensive recursion, floating point

33
Q

If a design exceeds size of FPGA, name three examples you can pursue. Name advantages/disadvantages

A

1) Get larger FPGA. Simple solution but expensive

2) Use multiple FPGAs, requires partitioning application

3) Local RTR, flexible but needs tools+flows, also harder than Global RTR