answer key

9
1. Define SOC design. A system on a chip (SOC) is an integrated circuit (IC) that integrates all components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single chip substrate. A typical application is in the area of embedded systems. 2. What is meant by Configurable SOC’s ? An ASIC-design-based configurable SOC is a high performance, flexible, programmable, and compiler-independent architecture which is designed for networked media applications. A coarse-grained parallel computing mechanism is employed in this architecture. It offers high computational performance and a high degree of flexibility and adaptability by employing a micro Task Controller unit in conjunction with programmable and configurable hardware. 3. Difference between dynamic and static RAM Firstly the main difference in the structure varies due to transistor and capacitor number and setting as just three to four transistors are required for a Dynamic RAM, but six to eight MOS transistors are necessary for a Static RAM. Secondly Dynamic RAM memory can be deleted and refreshed while running the program, but in case of Static RAM it is not possible to refresh programs. Data is stored as a charge in a capacitor in Dynamic RAM, where data is stored in flip flop level in Static RAM. For refreshing a data another capacitor is required in case of Dynamic capacitor, but no refreshing option is available in Static RAM. 4. Mention the techniques for SOC design. Characterization Testing Production Testing Burn-In Testing Manufacturing Testing (which is again divided into three layers: Core layer, System layer, Application layer) 5. What is hardware and software co-design?

Upload: praveen-gp

Post on 16-Apr-2017

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Answer Key

1. Define SOC design.

A system on a chip (SOC) is an integrated circuit (IC) that integrates all components of a computer or other electronic system into a single chip. It may contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single chip substrate. A typical application is in the area of embedded systems.

2. What is meant by Configurable SOC’s ?

An ASIC-design-based configurable SOC is a high performance, flexible, programmable, and compiler-independent architecture which is designed for networked media applications. A coarse-grained parallel computing mechanism is employed in this architecture. It offers high computational performance and a high degree of flexibility and adaptability by employing a micro Task Controller unit in conjunction with programmable and configurable hardware.

3. Difference between dynamic and static RAM

Firstly the main difference in the structure varies due to transistor and capacitor number and setting as just three to four transistors are required for a Dynamic RAM, but six to eight MOS transistors are necessary for a Static RAM.

Secondly Dynamic RAM memory can be deleted and refreshed while running the program, but in case of Static RAM it is not possible to refresh programs.

Data is stored as a charge in a capacitor in Dynamic RAM, where data is stored in flip flop level in Static RAM.

For refreshing a data another capacitor is required in case of Dynamic capacitor, but no refreshing option is available in Static RAM.

4. Mention the techniques for SOC design.

Characterization Testing Production Testing Burn-In Testing Manufacturing Testing (which is again divided into three layers: Core layer, System layer,

Application layer)

5. What is hardware and software co-design?

Hardware and Software co-design is the concurrent design of hardware and software elements, supporting explicit hardware/software trade-off. The Co-specification is created that describes both hardware and software elements. Co-synthesis(to concurrently synthesis the hardware and software implementations as well as their interfaces), Co-simulation and co-verification(to simultaneously simulate and verify the hardware and software elements) are implemented.

Page 2: Answer Key

Part- B

11. a) Illustrate the Field Programmable Logic Array, Logic Blocks and routing architecture.

Field-programmable gate array:

A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturing, hence "field-programmable". The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC) (circuit diagrams were previously used to specify the configuration, as they were for ASICs, but this is increasingly rare).

Contemporary FPGAs have large resources of logic gates and RAM blocks to implement complex digital computations. As FPGA designs employ very fast I/O’s and bidirectional data buses it becomes a challenge to verify correct timing of valid data within setup time and hold time. Floor planning enables resources allocation within FPGA to meet these time constraints. FPGAs can be used to implement any logical function that an ASIC could perform. The ability to update the functionality after shipping, partial re-configuration of a portion of the design[1] and the low non-recurring engineering costs relative to an ASIC design (notwithstanding the generally higher unit cost), offer advantages for many applications.

FPGAs contain programmable logic components called "logic blocks", and a hierarchy of reconfigurable interconnects that allow the blocks to be "wired together" – somewhat like many (changeable) logic gates that can be inter-wired in (many) different configurations. Logic blocks can be configured to perform complex combinational functions, or merely simple logic gates like AND and XOR. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.

Logic Blocks:

The typical FPGA logic block consists of a 4-input lookup table (LUT), and a flip-flop.There is only one output, which can be either the registered or the unregistered LUT output. The logic block has four

Page 3: Answer Key

inputs for the LUT and a clock input. Since clock signals (and often other high-fanout signals) are normally routed via special-purpose dedicated routing networks in commercial FPGAs, they and other signals are separately managed. Each input is accessible from one side of the logic block, while the output pin can connect to routing wires in both the channel to the right and the channel below the logic block. Each logic block output pin can connect to any of the wiring segments in the channels adjacent to it. Similarly, an I/O pad can connect to any one of the wiring segments in the channel adjacent to it. For example, an I/O pad at the top of the chip can connect to any of the W wires (where W is the channel width) in the horizontal channel immediately below it. Generally, the FPGA routing is unsegmented. That is, each wiring segment spans only one logic block before it terminates in a switch box. By turning on some of the programmable switches within a switch box, longer paths can be constructed. For higher speed interconnect, some FPGA architectures use longer routing lines that span multiple logic blocks.

Routing Architecture:

Routing architecture comprises of programmable switches and wires. Routing provides connection between I/O blocks and logic blocks, and between one logic block and another logic block.The type of routing architecture decides area consumed by routing and density of logic blocks.Routing technique used in an FPGA largely decides the amount of area used by wire segments and programmable switches as compared to area consumed by logic blocks.A wire segment can be described as two end points of an interconnect with no programmable switch between them. A sequence of one or more wire segments in an FPGA can be termed as a track.Typically an FPGA has logic blocks, interconnects and Input/Output blocks. Input Output blocks lie in the periphery of logic blocks and interconnect. Wire segments connect I/O blocks to wire segments through connection blocks. Connection blocks are connected to logic blocks, depending on the design requirement one logic block is connected to another and so on. In Xilinx routing, connections are made from logic block into the channel through a connection block. As SRAM technology is used to implement Lookup Tables, connection sites are large. A logic block is surrounded by connection blocks on all four sides. They connect logic block pins to wire segments. Pass transistors are used to implement connection for output pins, while use of multiplexers for input pins saves the number of SRAM cells required per pin. The logic block pins connecting to connection blocks can then be connected to any number of wire segments through switching blocks. There are four types of wire segments available: general purpose segments, the ones that pass through switches in the switch block. Direct interconnect: ones which connect logic block pins to four surrounding connecting blocks long line: high fan out uniform delay connections clock

Page 4: Answer Key

lines: clock signal provider which runs all over the chip. Actel's design has more wire segments in horizontal direction than in vertical direction. The input pins connect to all tracks of the channel that is on the same side as the pin. The output pins extend across two channels above the logic block and two channels below it. Output pin can be connected to all 4 channels that it crosses. The switch blocks are distributed throughout the horizontal channels. All vertical tracks can make a connection with every incidental horizontal track. This allows for the flexibility that a horizontal track can switch into a vertical track, thus allowing for horizontal and vertical routing of same wire. The drawback is more switches are required which add up to more capacitive load

11.b.Explain about the Xilinx XC 4000 and ALTERA FLEX 8000/10000.

Xilinx XC 4000:

The programmable logic blocks in the Xilinx XC4000E family of FPGAs are called configurable logic blocks (CLBs). The smallest part, the XC3003E, contains a 10×10 array of CLBs, and the largest, he XC4025E, contains a 32×32 array for a total of 1,024 CLBs. Xilinx also created extended XC4000EX and XC4000XL families, based on the XC4000E family, that have additional resources and features not discussed here. The largest member of the extended families, the XC4085XL, has 3,136 CLBs same package, or from a smaller package to a larger one. XC4000 Series devices are implemented with a regular, flexible, programmable architecture of Configurable Logic Blocks (CLBs), interconnected by a powerful hierarchy of versatile routing resources, and surrounded by a perimeter of programmable Input/Output Blocks (IOBs). They have generous routing resources to accommodate the most complex interconnect patterns. The devices are customized by loading configuration data into internal memory cells. The FPGA can either actively read its configuration data from an external serial or byte parallel PROM (master modes), or the configuration data can be written into the FPGA from an external device (slave and peripheral modes).XC4000 Series FPGAs are supported by powerful and sophisticated software, covering every aspect of design from schematic or behavioral entry, floor planning, simulation, automatic block placement and routing of interconnects, to the creation, downloading, and read back of the

Page 5: Answer Key

configuration bit stream. Because Xilinx FPGAs can be reprogrammed an unlimited number of times, they can be used in innovative designs where hardware is changed dynamically, or where hardware must be adapted to different user applications.

FPGAs are ideal for shortening design and development cycles, and also offer a cost-effective solution for production rates well beyond 5,000 systems per month. For lowest high-volume unit cost, a design can first be implemented in the XC4000E or XC4000X, then migrated to one of Xilinx’ compatible Hard Wire mask-programmed devices.

ALTERA FLEX 8000/10000:

The FLEX 8000 architecture incorporates a large matrix of compact building blocks called logic elements (LEs). Each LE contains a 4-input LUT that provides combinatorial logic capability and a programmable register that offers sequential logic capability. The fine-grained structure of the LE provides highly efficient logic implementation. Eight LEs are grouped together to form a logic array block (LAB). Each FLEX 8000 LAB is an independent structure with common inputs, interconnections, and control signals. The LAB architecture provides a coarse-grained structure for high device performance and easy routing. Altera Corporation 5 FLEX 8000 Programmable Logic Device Family Data SheetFLEX 80003. Each group of eight LEs is combined into an LAB; LABs are arranged into rows and columns. The I/O pins are supported by I/O elements (IOEs) located at the ends of rows and columns. Each IOE contains a bidirectional I/O buffer and a flipflop that can be used as either an input or output register. The FLEX 8000 architecture provides two dedicated high-speed data paths—carry chains and cascade chains—that connect adjacent LEs without using local interconnect paths. Carry and cascade chains connect all LEs in an LAB and all LABs in the same row. Heavy use of carry and cascade chains can reduce routing flexibility. Therefore, the use of carry and cascade chains should be limited to speed-critical portions of a design. The carry

Page 6: Answer Key

chain provides a very fast (less than 1 ns) carry-forward function between LEs. The carry-in signal from a lower-order bit moves forward into the higher-order bit via the carry chain, and feeds into both the LUT and the next portion of the carry chain. This feature allows the FLEX 8000 architecture to implement high-speed counters and adders of arbitrary width. The MAX+PLUS II Compiler can create carry chains automatically during design processing; designers can also insert carry chain logic manually during design entry. The diagram shows how an n-bit full adder can be implemented in n + 1 LEs with the carry chain. One portion of the LUT generates the sum of two bits using the input signals and the carry-in signal; the sum is routed to the output of the LE. The register is typically bypassed for simple adders, but can be used for an accumulator function. Another portion of the LUT and the carry chain logic generate the carry-out signal, which is routed directly to the carry-in signal of the next-higher-order bit. The final carry-out signal is routed to another LE, where it can be used as a general-purpose signal. In addition to mathematical functions, carry chain logic supports very fast counters and comparators.Cascade Chain With the cascade chain, the FLEX 8000 architecture can implement functions that have a very wide fan-in. Adjacent LUTs can be used to compute portions of the function in parallel; the cascade chain serially connects the intermediate values. The cascade chain can use a logical AND or logical OR (via De Morgan’s inversion) to connect the outputs of adjacent LEs. Each additional LE provides four more inputs to the effective width of a function, with a delay as low as 0.6 ns per LE. FLEX 8000 Programmable Logic Device Family Data Sheet The MAX+PLUS II Compiler can create cascade chains automatically during design processing; designers can also insert cascade chain logic manually during design entry. Cascade chains longer than eight LEs are automatically implemented by linking LABs together. The last LE of an LAB cascades to the first LE of the next LAB. These examples show functions of 4n variables implemented with n LEs. For a device with an A-2 speed grade, the LE delay is 2.4 ns; the cascade chain delay is 0.6 ns. With the cascade chain, 4.2 ns is needed to decode a 16-bit address.