Slide Set Overview. Special Topics in Advanced Digital System Design. Embedded System Design. Embedded System Design. What does a digital camera do?

Size: px
Start display at page:

Download "Slide Set Overview. Special Topics in Advanced Digital System Design. Embedded System Design. Embedded System Design. What does a digital camera do?"

Transcription

1 Slide Set Overview Special Topics in Advanced Digital System Design by Dr. Lesley Shannon Course Website: Simon Fraser University Slide Set: Date: January, 007 An implementation study example Demonstrates why we have to make choices in our implementation platform to meet application specification requirements Example Application: A digital camera ENSC 0/: Lecture Set Embedded System Design Embedded System Design All real systems contain both hardware and software No such thing as a software only systems What do these systems look like? How do we design these systems? Recall the embedded system design methodology handout. This design study shows: Four implementations (with varying degrees of hardware) Illustrates the tradeoffs between hardware and software implementations Demonstrates how fixed-point vs floating-point can be used as an optimization for hardware and software This example is from Embedded System Design: A Unified Hardware/Software Introduction. Vahid, Gavargis 000. (you can find more details in chapter 7 of this book) ENSC 0/: Lecture Set ENSC 0/: Lecture Set What does a digital camera do? Recall our ipod Use Case Diagram: 1. Capture images, process them, store them in memory. Uploads images to a PC. Vary image size, delete images, digital stretching, zoom in and out, etc This example focuses on the image first Use case: When the shutter is pressed: Image captured Converted to digital form by charge coupled device (CCD) Compressed and archived The compression part is discussed in detail ENSC 0/: Lecture Set ENSC 0/: Lecture Set 1

2 Specify System Requirements Overview of Image Capture Performance: We want to process a picture in one second Slower would be annoying Faster not necessary for a low-end camera Size: Must fit on a low-cost chip Let s say 00,000 gates, including the processor Power and Energy: We don t want a fan We want the battery to last as long as possible When exposed to light, each cell of the Charge Coupled Device (CCD) becomes electrically charged. This charge can then be converted to a - bit value where 0 represents no exposure while represents very intense exposure of that cell to light. rows Lens area Covered columns Shutter Circuitry columns ENSC 0/: Lecture Set 7 ENSC 0/: Lecture Set Overview of Image Capture Overview of Image Capture Lens area Covered columns Shutter The electromechanical shutter is activated to expose the cells to light for a brief moment. Lens area Covered columns Shutter Some of the columns are covered with a black strip of paint. The lightintensity of these pixels is used for zero-bias adjustments of all the cells. rows columns Circuitry rows columns Circuitry ENSC 0/: Lecture Set ENSC 0/: Lecture Set Overview of Image Capture Overview of Image Capture Lens area Covered columns CCD input Zero-bias adjust The electronic circuitry, when commanded, discharges the cells, activates the electromechanical shutter, and then reads the -bit charge value of each cell. These values can be clocked out of the CCD by external logic through a standard parallel bus interface. rows columns Shutter Circuitry yes DCT Quantize Archive in memory More blocks? no no Done? yes Transmit serially serial output e.g., ENSC 0/: Lecture Set ENSC 0/: Lecture Set 1

3 Manufacturing errors cause cells to measure slightly above or slightly below the actual light intensity Error typically the same along columns, but different across rows Some of the left-most columns are blocked by black paint If you get anything but 0, you have a zero-bias error Each row is corrected by subtracting the average error in all the blocked cells for that row (example on next slide) Zero-Bias Error Before zero-bias adjustment Zero-Bias Error Covered cells Zero-bias adjustment After zero-bias adjustment ENSC 0/: Lecture Set 1 ENSC 0/: Lecture Set 1 CCDPP (CCD PreProcessing) module Performs zero-bias adjustment CcdppCapture uses CcdCapture and CcdPop to obtain image Performs zero-bias adjustment after each row read in void void CcdppCapture(void) CcdCapture(); CcdCapture(); for(rowindex0; for(rowindex0; rowindex<sz_row; rowindex<sz_row; rowindex) rowindex) for(colindex0; for(colindex0; colindex<sz_col; colindex<sz_col; colindex) colindex) buffer[rowindex][colindex] CcdPop(); CcdPop(); bias bias (CcdPop() (CcdPop() CcdPop()) CcdPop()) / ; ; for(colindex0; for(colindex0; colindex<sz_col; colindex<sz_col; colindex) colindex) buffer[rowindex][colindex] - - bias; bias; ENSC 0/: Lecture Set 1 Compression Store more images Transmit image to PC in less time JPEG (Joint Photographic Experts Group) Popular standard format for representing digital images in a compressed form Provides for a number of different modes of operation Based on discrete cosine transform (DCT) Image data is divided into x blocks of pixels steps performed on each block: 1. DCT. Quantization. ENSC 0/: Lecture Set 1 Discrete Cosine Transform (DCT) Transforms an x block of pixels into the frequency domain We produce a new x block of values such that: Upper-left corner represent the low frequency components (essence of the image) Lower-right corner represents the high frequency components (the finer details) We can reduce the precision of the higher frequency components and retain reasonable image quality Equation to perform DCT: 1 F( u, C( u) C( where Discrete Cosine Transform (DCT) x 0..7 y π (x 1) u π (y 1) v Dxy cos( ) cos( ) if h 0 C(h) 1 otherwise ENSC 0/: Lecture Set ENSC 0/: Lecture Set 1

4 Quantization Achieve high compression ratio by reducing image quality Reduce bit precision of encoded data Fewer bits needed for encoding let s reduce the precision equally across all frequency values Even better, divide by a factor of Simple right shifts can do this CODEC void void CodecDoFdct(void) CodecDoFdct(void) int int i, i, j; j; for(i0; for(i0; i<num_row_blocks; i<num_row_blocks; i) i) for(j0; for(j0; j<num_col_blocks; j<num_col_blocks; j) j) CodecDoFdct_for_one_block(i, j); j); After being decoded using DCT Divide each cell s value by After quantization void void CodecDoFdct_for_one_block(int i, i, int int j) j) int int x, x, y; y; for(x0; for(x0; x<; x<; x) x) for(y0; for(y0; y<; y<; y) y) obuffer[ix][jy] FDCT(i, FDCT(i, j, j, x, x, y, y, ibuffer); ibuffer); ENSC 0/: Lecture Set 1 ENSC 0/: Lecture Set 0 What about Fixed Point Number Representation? Rather than computing the floating point cosine function Notice that there are only distinct values need for the cosine: 1 F( u, C( u) C( x 0..7 y So let s pre-compute them π (x 1) u π (y 1) v Dxy cos( ) cos( ) 1 1 ENSC 0/: Lecture Set 1 What about Fixed Point Number Representation? The result of the cosine is floating point It would be better if we could store the table in less memory Example: Suppose we want to represent to 1 using 1 bits Floating Point Fixed Point So if x is the floating point number, the fixed point number is round ( 7 x) We can generate a fixed-point table now. ENSC 0/: Lecture Set CODEC CODEC static static const const short short COS_TABLE[][] COS_TABLE[][] 7, 7, 1, 1, 07, 07, 7, 7, 0, 0,,, 1, 1,,, 7, 7, 7, 7, 1, 1, -, -, -0, -0, -1, -1, -07, -07, 0 0,, 7, 7,,,,, -1, -1, -0, -0,,, 07, 07, 7 7,, 7, 7,,, -07, -07, 0, 0, 0, 0, 7, 7,,, -1-1,, 7, 7, -, -, -07, -07,,, 0, 0, -7, -7,,, 1 1,, 7, 7, 0, 0,,, 1, 1, -0, -0, -, -, 07, 07, -7-7,, 7, 7, -7, -7, 1, 1,,, -0, -0, 1, 1, -07, -07,,, 7, 7, -1, -1, 07, 07, -7, -7, 0, 0, 0, 0, 1, 1, - - ; ; static static double double COS(int COS(int xy, xy, int int u u return( return( COS_TABLE[xy][uv] COS_TABLE[xy][uv] / / 7.0); 7.0); static static int int FDCT(int FDCT(int base_x, base_x, base_y, base_y, offset_x, offset_x, offset_y, offset_y, short short img) img) r r 0; 0; u u base_x base_x offset_x; offset_x; v v base_y base_y offset_y; offset_y; for(x0; for(x0; x<; x<; x) x) s[x] s[x] img[x][0] img[x][0] COS(0, COS(0, img[x][1] img[x][1] COS(1, COS(1, img[x][] img[x][] COS(, COS(, img[x][] img[x][] COS(, COS(, img[x][] img[x][] COS(, COS(, img[x][] img[x][] COS(, COS(, img[x][] img[x][] COS(, COS(, img[x][7] img[x][7] COS(7, COS(7, ; ; for(x0; for(x0; x<; x<; x) x) r r s[x] s[x] COS(x, COS(x, u); u); return return (r (r.. C(u) C(u) C(); C(); ENSC 0/: Lecture Set ENSC 0/: Lecture Set

5 Serialize x block of pixels Values are converted into single list using zigzag pattern Perform Huffman encoding More frequently occurring pixels assigned short binary code Longer binary codes left for less frequently occurring pixels ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x How often each pixel value occurs (so, occurs 1 times, 0 occurs times, etc.) ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x We are going to construct a tree. Each leaf represents one pixel value. The number inside the node is the frequency ENSC 0/: Lecture Set 7 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x We start adding internal nodes. The value inside in each internal node is the sum of the two leaves. Choose two leaves such that the sum will be as small as possible. (in this case, leaves are both 1, and sum is ) ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set 0

6 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set 1 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set

7 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set 7 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set 0 -x - x 1 x x x x - x - x 0 x 1 1x - 1x - 1x 1x 1 1x ENSC 0/: Lecture Set 1 Now let s construct the Huffman Table -x - x 1 x x 1 1 x 1 x - x - x x 1 1x - 1x - 1x x 1 1x ENSC 0/: Lecture Set 7

8 Huffman codes -x 0 - x - 1 x 1 x 1 1 x 1 x - x - - x x 0 1 1x x - - 1x x 1 1x ENSC 0/: Lecture Set Find a path for each table entry 0 go left, 1 go right Huffman codes -x x - 1 x 1 x 1 1 x 1 x - x - - x x 0 1 1x x - - 1x x 1 1x ENSC 0/: Lecture Set Find a path for each table entry 0 go left, 1 go right Huffman codes -x x - 1 x 1 x x x - x - - x x 0 1 1x x - - 1x x 1 1x ENSC 0/: Lecture Set Find a path for each table entry 0 go left, 1 go right Huffman codes -x x x 1 x 1 1 x 1 x - x - - x x 0 1 1x x - - 1x x 1 1x ENSC 0/: Lecture Set Find a path for each table entry 0 go left, 1 go right Huffman codes -x x x 1 0 x 1 1 x 1 x - x - - x x 0 1 1x x - - 1x x 1 1x ENSC 0/: Lecture Set 7 Huffman codes -x x x 1 0 x x x 01 - x x x x x - - 1x x x ENSC 0/: Lecture Set

9 Common pixel values are short No code is a prefix of another code makes decoding easy! Huffman codes -x x x 1 0 x x x 01 - x x x x x - - 1x x x ENSC 0/: Lecture Set Archiving Images Here s a really simple memory map The amount of memory required depends on N and the compression ratio ENSC 0/: Lecture Set 0 Uploading to the PC Overview of Image Capture When connected to PC and upload command received Read images from memory Transmit serially using UART While transmitting Reset pointers, image-size variables and global memory pointer accordingly CCD input Zero-bias adjust DCT Quantize Archive in memory no Done? yes yes More blocks? no Transmit serially serial output e.g., ENSC 0/: Lecture Set 1 ENSC 0/: Lecture Set Implementing the Design Recall our System Requirements We are going to talk about four potential implementations: 1. Microcontroller Alone (everything in software). Microcontroller and CCDPP. Microcontroller and CCDPP / Fixed- Point DCT. Microcontroller and CCDPP / DCT Performance: We want to process a picture in one second Slower would be annoying Faster not necessary for a low-end camera Size: Must fit on a low-cost chip Let s say 00,000 gates, including the processor Power and Energy: We don t want a fan We want the battery to last as long as possible ENSC 0/: Lecture Set ENSC 0/: Lecture Set

10 Implementation 1: Microprocessor Alone Suppose we use an Intel 01 Microcontroller Total IC Cost about $ Well below 00mW power We figure it will take months to get the product done 1 Mhz, 1 cycles per instruction one million instructions per second Can we get the required performance? (let s say our grid is x) ENSC 0/: Lecture Set void void CcdppCapture(void) CcdCapture(); CcdCapture(); for(rowindex0; for(rowindex0; rowindex<sz_row; rowindex<sz_row; rowindex) rowindex) for(colindex0; colindex<sz_col; colindex) for(colindex0; colindex<sz_col; colindex) buffer[rowindex][colindex] CcdPop(); buffer[rowindex][colindex] CcdPop(); bias bias (CcdPop() (CcdPop() CcdPop()) CcdPop()) / ; ; for(colindex0; for(colindex0; colindex<sz_col; colindex<sz_col; colindex) colindex) buffer[rowindex][colindex] - - bias; bias; Nested loops, () iterations. If each iteration is 0 assembly language instructions, 1 0 instructions 0,00 instructions per image This is half our budget and we haven t even done DCT or Huffman yet! ENSC 0/: Lecture Set void void CcdppCapture(void) CcdCapture(); CcdCapture(); for(rowindex0; for(rowindex0; rowindex<sz_row; rowindex<sz_row; rowindex) rowindex) for(colindex0; colindex<sz_col; colindex) for(colindex0; colindex<sz_col; colindex) buffer[rowindex][colindex] CcdPop(); buffer[rowindex][colindex] CcdPop(); bias bias (CcdPop() (CcdPop() CcdPop()) CcdPop()) / ; ; for(colindex0; for(colindex0; colindex<sz_col; colindex<sz_col; colindex) colindex) buffer[rowindex][colindex] - - bias; bias; Nested loops, () iterations. If each iteration is 0 assembly language instructions, 1 0 instructions 0,00 instructions per image This is half our budget and we haven t even done DCT or Huffman yet! ENSC 0/: Lecture Set 7 Implementation : Microcontroller and CCDPP SOC EEPROM UART 01 CCDPP CCDPP function implemented on custom hardware unit Improves performance less microcontroller cycles Increases engineering cost and time-to-market Easy to implement Simple datapath Few states in controller Simple UART easy to implement as custom hardware unit also EEPROM for program memory and RAM for data memory added as well ENSC 0/: Lecture Set RAM Implementation : Microcontroller and CCDPP SOC EEPROM UART 01 CCDPP CCDPP function implemented on custom hardware unit Improves performance less microcontroller cycles Increases engineering cost and time-to-market Easy to implement Simple datapath Few states in controller Simple UART easy to implement as custom hardware unit also EEPROM for program memory and RAM for data memory added as well ENSC 0/: Lecture Set RAM Microcontroller Synthesizable version of Intel 01 available Written in VHDL Captured at register transfer level (RTL) Fetches instruction from ROM Decodes using Instruction Decoder ALU executes arithmetic operations Source and destination registers reside in RAM Special data movement instructions used to load and store externally Special program generates VHDL description of ROM from output of C compiler Block diagram of Intel 01 processor core Instruction K ROM Decoder ALU Controller 1 RAM To External Memory Bus ENSC 0/: Lecture Set 0

11 UART UART invoked when 01 executes store instruction with UART s enable register as target address Memory-mapped communication between 01 and UART Start state transmits 0 indicating start of byte transmission then transitions to Data state Data state sends bits serially then transitions to Stop state Stop state transmits 1 indicating transmission done then transitions back to idle mode Idle: I 0 Stop: Transmit HIGH invoked I < I Start: Transmit LOW Data: Transmit data(i), then I ENSC 0/: Lecture Set 1 CCDPP Hardware implementation of zero-bias operations Internal buffer, B, memory-mapped to 01 GetRow state reads in one row from CCD to B bytes: pixels blacked-out pixels ComputeBias state computes bias for that row and stores in variable Bias FixBias state iterates over same row subtracting Bias from each element NextRow transitions to GetRow for repeat of process on next row or to Idle state when all rows completed R Idle: R0 C0 NextRow: R C0 C invoked R < C < FixBias: B[R][C]B[R][C]- Bias GetRow: B[R][C]Pxl CC1 ENSC 0/: Lecture Set C < C ComputeBias: Bias(B[R][] B[R][]) / C0 Connecting SoC Components Analysis Memory-mapped All single-purpose processors and RAM are connected to 01 s memory bus Read Processor places address on 1-bit address bus Asserts read control signal for 1 cycle Reads data from -bit data bus 1 cycle later Device (RAM or custom circuit) detects asserted read control signal Checks address Places and holds requested data on data bus for 1 cycle Write Processor places address and data on address and data bus Asserts write control signal for 1 clock cycle Device (RAM or custom circuit) detects asserted write control signal Checks address bus Reads and stores data from data bus VHDL VHDL VHDL VHDL simulator Execution time Synthesis tool gates gates gates Sum gates Power equation Gate level simulator Chip area Power ENSC 0/: Lecture Set ENSC 0/: Lecture Set Analysis Analysis of Implementation Entire SOC tested on VHDL simulator Interprets VHDL descriptions and functionally simulates execution of system Recall program code translated to VHDL description of ROM Tests for correct functionality Measures clock cycles to process one image (performance) Gate-level description obtained through synthesis Synthesis tool like compiler for hardware Simulate gate-level models to obtain data for power analysis Number of times gates switch from 1 to 0 or 0 to 1 Count number of gates for chip area Total execution time for processing one image:.1 seconds Power consumption: 0.0 watt Energy consumption: 0.0 joule (.1 s x 0.0 watt) Total chip area:,000 gates ENSC 0/: Lecture Set ENSC 0/: Lecture Set

12 Analysis of Implementation Implementation : Fixed-Point DCT Total execution time for processing one image:.1 seconds Power consumption: 0.0 watt Energy consumption: 0.0 joule (.1 s x 0.0 watt) Most of the execution time is now spent in the DCT We could design custom hardware like we did for CCDPP More complex, so more design effort Let s see if we can speed up the DCT by modifying the number representation (but still do it in software) Total chip area:,000 gates ENSC 0/: Lecture Set 7 ENSC 0/: Lecture Set DCT Floating Point Cost DCT uses ~0 floating-point operations per pixel transformation 0 ( x ) pixels per image 1 million floating-point operations per image No floating-point support with Intel 01 Compiler must emulate Generates procedures for each floating-point operation mult, add Each procedure uses tens of integer operations Thus, > million integer operations per image More procedures increase code size Fixed-point arithmetic can improve on this Shrink code size ENSC 0/: Lecture Set Fixed-Point Arithmetic Integers used to represent a real number Some bits represent fraction, some bits represent whole number Integer Part So this fractional part is 1/1 0.7 So the number is.7 There are 1 possible values ( codes ) of the factional part. If we quantize the fractional value over these 1 possible codes: 0: encode with /1: encode with /1: encode with ENSC 0/: Lecture Set 70 Fixed-Point Arithmetic Fixed-Point Arithmetic How do you convert a real constant to fixed point: Multiply real value by ^ (# of bits used for fractional part) Round to nearest integer Example: Represent.1 as -bit integer with bits for fraction ^ 1.1 x (^) possible values for fraction, each represents 0.0 (1/1) Last bits (00) x (00) To get a more accurate the representation: Use more bits to represent the fraction Addition: A good approximation is to simply add the fixed-point representations: Example: Suppose we want to add.1 and.71.1 is represented as is represented as 00 Add these two representations to get: 01 This corresponds to.1, which is kind of close to. To get a more accurate the representation Use more bits to represent the fraction ENSC 0/: Lecture Set 71 ENSC 0/: Lecture Set 7 1

13 Fixed-Point Arithmetic Multiply: Multiply the representations Shift right by the number of bits in the fractional part Example: Suppose we want to multiply.1 and.71.1 is represented as is represented as 00 Multiply these two representations to get: Shift right by bits: 0001 This corresponds to.7, which is kind of close to.0 Moral: we can add and multiply easily. This is faster and smaller than floating point ENSC 0/: Lecture Set 7 New CODEC static static const const char char code code COS_TABLE[][] COS_TABLE[][],,,,,,,,,,,,,,,,,,,,,,,, -, -, -, -, -, -, - -,,,,,, -, -, -, -, -, -, 1, 1,,,,,,, 1, 1, -, -, -, -,,,,, -, -, - -,,,,,, -, -,,,,, -, -, -, -,,,,, -, -, -, -,,, -, -,,,,, - -,,,, -, -,,, 1, 1, -, -,,, -, -,,,,, -, -,,, -, -,,, -, -,,, ; ; static static int int FDCT(int FDCT(int base_x, base_x, base_y, base_y, offset_x, offset_x, offset_y, offset_y, short short img) img) r 0; 0; u base_x base_x offset_x; offset_x; v base_y base_y offset_y; offset_y; for for (x0; (x0; x<; x<; x) x) s[x] s[x] 0; 0; for(j0; for(j0; j<; j<; j) j) s[x] s[x] (img[x][j] (img[x][j] COS_TABLE[j][v] COS_TABLE[j][v] ) >> >> ; ; for(x0; for(x0; x<; x<; x) x) r (s[x] (s[x] COS_TABLE[x][u]) COS_TABLE[x][u]) >> >> ; ; return return (short)((((r (short)((((r (((1C(u)) (((1C(u)) >> >> ) ) C() C() >> >> )) )) >> >> ) ) >> >> ); ); ENSC 0/: Lecture Set 7 Analysis of Implementation Analysis of Implementation Total execution time for processing one image: 1. seconds Power consumption: 0.0 watt (same as implementation ) Energy consumption: 0.00 joule (1. s x 0.0 watt) Battery life x longer!! Total chip area: 0,000 gates (,000 fewer gates -- less memory needed for code) ENSC 0/: Lecture Set 7 Total execution time for processing one image: 1. seconds Power consumption: 0.0 watt (same as implementation ) Energy consumption: 0.00 joule (1. s x 0.0 watt) Battery life x longer!! Total chip area: 0,000 gates (,000 fewer gates -- less memory needed for code) ENSC 0/: Lecture Set 7 Implementation : Implement the CODEC in H/W Implementation : Implement the CODEC in H/W EEPROM 01 RAM EEPROM 01 RAM CODEC UART CCDPP CODEC UART CCDPP SOC SOC ENSC 0/: Lecture Set 77 ENSC 0/: Lecture Set 7 1

14 CODEC Design Four memory mapped registers C_DATAI_REG: used to push x block into CODEC C_DATAO_REG: used to pop x block out of CODEC C_CMND_REG: used to command CODEC Writing 1 to this register invokes CODEC C_STAT_REG: indicates CODEC done and ready for next block Polled in software Direct translation of C code to VHDL for actual hardware implementation. Fixed-point version used ENSC 0/: Lecture Set 7 Analysis of Implementation Total execution time for processing one image: 0.0 seconds (well under 1 sec) Power consumption: 0.00 watt Increase over and because the chip has more hardware Energy consumption: joule (0.0 s x 0.00 watt) Battery life 1x longer than previous implementation!! Total chip area: 1,000 gates Significant increase over previous implementations ENSC 0/: Lecture Set 0 Analysis of Implementation Total execution time for processing one image: 0.0 seconds (well under 1 sec) Power consumption: 0.00 watt Increase over and because the chip has more hardware Energy consumption: joule (0.0 s x 0.00 watt) Battery life 1x longer than previous implementation!! Total chip area: 1,000 gates Significant increase over previous implementations ENSC 0/: Lecture Set 1 So, what do you tell your boss? Implementation Implementation Implementation Performance (second) Power (watt) Size (gate),000 0,000 1,000 Energy (joule) Implementation Close in performance Cheaper Less time to build and less gates Implementation Great performance and energy consumption More expensive and may miss time-to-market window If DCT designed ourselves then increased engineering cost and time-to-market If existing DCT purchased then increased IC cost Which is better? ENSC 0/: Lecture Set Highlights of this slide set: We saw an example / case study that illustrates some of the tradeoffs Hardware takes longer to design Hardware will be faster Sometimes you can optimize the software instead Always a tradeoff between performance, cost, and time This was just one example. However, these concepts can be applied to the general problem of designing embedded systems and SoCs. ENSC 0/: Lecture Set 1

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath Objectives Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath In the previous chapters we have studied how to develop a specification from a given application, and

More information

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Logic Devices for Interfacing, The 8085 MPU Lecture 4 Logic Devices for Interfacing, The 8085 MPU Lecture 4 1 Logic Devices for Interfacing Tri-State devices Buffer Bidirectional Buffer Decoder Encoder D Flip Flop :Latch and Clocked 2 Tri-state Logic Outputs

More information

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 29 Minimizing Switched Capacitance-III. (Refer

More information

ECSE-323 Digital System Design. Datapath/Controller Lecture #1

ECSE-323 Digital System Design. Datapath/Controller Lecture #1 1 ECSE-323 Digital System Design Datapath/Controller Lecture #1 2 Synchronous Digital Systems are often designed in a modular hierarchical fashion. The system consists of modular subsystems, each of which

More information

Contents Circuits... 1

Contents Circuits... 1 Contents Circuits... 1 Categories of Circuits... 1 Description of the operations of circuits... 2 Classification of Combinational Logic... 2 1. Adder... 3 2. Decoder:... 3 Memory Address Decoder... 5 Encoder...

More information

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

FPGA Laboratory Assignment 4. Due Date: 06/11/2012 FPGA Laboratory Assignment 4 Due Date: 06/11/2012 Aim The purpose of this lab is to help you understanding the fundamentals of designing and testing memory-based processing systems. In this lab, you will

More information

TV Character Generator

TV Character Generator TV Character Generator TV CHARACTER GENERATOR There are many ways to show the results of a microcontroller process in a visual manner, ranging from very simple and cheap, such as lighting an LED, to much

More information

ALONG with the progressive device scaling, semiconductor

ALONG with the progressive device scaling, semiconductor IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 57, NO. 4, APRIL 2010 285 LUT Optimization for Memory-Based Computation Pramod Kumar Meher, Senior Member, IEEE Abstract Recently, we

More information

CHAPTER1: Digital Logic Circuits

CHAPTER1: Digital Logic Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits 1 Sequential Circuits Introduction Composed of a combinational circuit to which the memory elements are connected to form a feedback

More information

Microprocessor Design

Microprocessor Design Microprocessor Design Principles and Practices With VHDL Enoch O. Hwang Brooks / Cole 2004 To my wife and children Windy, Jonathan and Michelle Contents 1. Designing a Microprocessor... 2 1.1 Overview

More information

Implementation of an MPEG Codec on the Tilera TM 64 Processor

Implementation of an MPEG Codec on the Tilera TM 64 Processor 1 Implementation of an MPEG Codec on the Tilera TM 64 Processor Whitney Flohr Supervisor: Mark Franklin, Ed Richter Department of Electrical and Systems Engineering Washington University in St. Louis Fall

More information

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress Nor Zaidi Haron Ayer Keroh +606-5552086 zaidi@utem.edu.my Masrullizam Mat Ibrahim Ayer Keroh +606-5552081 masrullizam@utem.edu.my

More information

UNIT 1: DIGITAL LOGICAL CIRCUITS What is Digital Computer? OR Explain the block diagram of digital computers.

UNIT 1: DIGITAL LOGICAL CIRCUITS What is Digital Computer? OR Explain the block diagram of digital computers. UNIT 1: DIGITAL LOGICAL CIRCUITS What is Digital Computer? OR Explain the block diagram of digital computers. Digital computer is a digital system that performs various computational tasks. The word DIGITAL

More information

Encoders and Decoders: Details and Design Issues

Encoders and Decoders: Details and Design Issues Encoders and Decoders: Details and Design Issues Edward L. Bosworth, Ph.D. TSYS School of Computer Science Columbus State University Columbus, GA 31907 bosworth_edward@colstate.edu Slide 1 of 25 slides

More information

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics 1) Explain why & how a MOSFET works VLSI Design: 2) Draw Vds-Ids curve for a MOSFET. Now, show how this curve changes (a) with increasing Vgs (b) with increasing transistor width (c) considering Channel

More information

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus Digital logic: ALUs Sequential logic circuits CS207, Fall 2004 October 11, 13, and 15, 2004 1 Read-only memory (ROM) A form of memory Contents fixed when circuit is created n input lines for 2 n addressable

More information

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20 Advanced Devices Using a combination of gates and flip-flops, we can construct more sophisticated logical devices. These devices, while more complex, are still considered fundamental to basic logic design.

More information

Motion Video Compression

Motion Video Compression 7 Motion Video Compression 7.1 Motion video Motion video contains massive amounts of redundant information. This is because each image has redundant information and also because there are very few changes

More information

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7 CM 69 W4 Section Slide Set 6 slide 2/9 Contents Slide Set 6 for CM 69 Winter 24 Lecture Section Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary

More information

Sharif University of Technology. SoC: Introduction

Sharif University of Technology. SoC: Introduction SoC Design Lecture 1: Introduction Shaahin Hessabi Department of Computer Engineering System-on-Chip System: a set of related parts that act as a whole to achieve a given goal. A system is a set of interacting

More information

Laboratory Exercise 4

Laboratory Exercise 4 Laboratory Exercise 4 Polling and Interrupts The purpose of this exercise is to learn how to send and receive data to/from I/O devices. There are two methods used to indicate whether or not data can be

More information

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng

Slide Set 6. for ENCM 369 Winter 2018 Section 01. Steve Norman, PhD, PEng Slide Set 6 for ENCM 369 Winter 2018 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary February 2018 ENCM 369 Winter 2018 Section

More information

ELEN Electronique numérique

ELEN Electronique numérique ELEN0040 - Electronique numérique Patricia ROUSSEAUX Année académique 2014-2015 CHAPITRE 6 Registers and Counters ELEN0040 6-277 Design of a modulo-8 binary counter using JK Flip-flops 3 bits are required

More information

Lossless Compression Algorithms for Direct- Write Lithography Systems

Lossless Compression Algorithms for Direct- Write Lithography Systems Lossless Compression Algorithms for Direct- Write Lithography Systems Hsin-I Liu Video and Image Processing Lab Department of Electrical Engineering and Computer Science University of California at Berkeley

More information

Chapter 4. Logic Design

Chapter 4. Logic Design Chapter 4 Logic Design 4.1 Introduction. In previous Chapter we studied gates and combinational circuits, which made by gates (AND, OR, NOT etc.). That can be represented by circuit diagram, truth table

More information

MODULE 3. Combinational & Sequential logic

MODULE 3. Combinational & Sequential logic MODULE 3 Combinational & Sequential logic Combinational Logic Introduction Logic circuit may be classified into two categories. Combinational logic circuits 2. Sequential logic circuits A combinational

More information

DSP in Communications and Signal Processing

DSP in Communications and Signal Processing Overview DSP in Communications and Signal Processing Dr. Kandeepan Sithamparanathan Wireless Signal Processing Group, National ICT Australia Introduction to digital signal processing Introduction to digital

More information

Understanding Compression Technologies for HD and Megapixel Surveillance

Understanding Compression Technologies for HD and Megapixel Surveillance When the security industry began the transition from using VHS tapes to hard disks for video surveillance storage, the question of how to compress and store video became a top consideration for video surveillance

More information

VU Mobile Powered by S NO Group

VU Mobile Powered by S NO Group Question No: 1 ( Marks: 1 ) - Please choose one A 8-bit serial in / parallel out shift register contains the value 8, clock signal(s) will be required to shift the value completely out of the register.

More information

6.3 Sequential Circuits (plus a few Combinational)

6.3 Sequential Circuits (plus a few Combinational) 6.3 Sequential Circuits (plus a few Combinational) Logic Gates: Fundamental Building Blocks Introduction to Computer Science Robert Sedgewick and Kevin Wayne Copyright 2005 http://www.cs.princeton.edu/introcs

More information

Design and analysis of microcontroller system using AMBA- Lite bus

Design and analysis of microcontroller system using AMBA- Lite bus Design and analysis of microcontroller system using AMBA- Lite bus Wang Hang Suan 1,*, and Asral Bahari Jambek 1 1 School of Microelectronic Engineering, Universiti Malaysia Perlis, Perlis, Malaysia Abstract.

More information

EEE130 Digital Electronics I Lecture #1_2. Dr. Shahrel A. Suandi

EEE130 Digital Electronics I Lecture #1_2. Dr. Shahrel A. Suandi EEE130 Digital Electronics I Lecture #1_2 Dr. Shahrel A. Suandi 1-4 Overview of Basic Logic Functions Digital systems are generally built from combinations of NOT, AND and OR logic elements The combinations

More information

Sequencing and Control

Sequencing and Control Sequencing and Control Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2016 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:

More information

Chapter 3. Boolean Algebra and Digital Logic

Chapter 3. Boolean Algebra and Digital Logic Chapter 3 Boolean Algebra and Digital Logic Chapter 3 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple logic circuits. Understand how

More information

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009 12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009 Project Overview This project was originally titled Fast Fourier Transform Unit, but due to space and time constraints, the

More information

CPS311 Lecture: Sequential Circuits

CPS311 Lecture: Sequential Circuits CPS311 Lecture: Sequential Circuits Last revised August 4, 2015 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce

More information

Modeling Digital Systems with Verilog

Modeling Digital Systems with Verilog Modeling Digital Systems with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 6-1 Composition of Digital Systems Most digital systems can be partitioned into two types

More information

Logic Design II (17.342) Spring Lecture Outline

Logic Design II (17.342) Spring Lecture Outline Logic Design II (17.342) Spring 2012 Lecture Outline Class # 03 February 09, 2012 Dohn Bowden 1 Today s Lecture Registers and Counters Chapter 12 2 Course Admin 3 Administrative Admin for tonight Syllabus

More information

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger. CS 110 Computer Architecture Finite State Machines, Functional Units Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University

More information

Combinational vs Sequential

Combinational vs Sequential Combinational vs Sequential inputs X Combinational Circuits outputs Z A combinational circuit: At any time, outputs depends only on inputs Changing inputs changes outputs No regard for previous inputs

More information

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver EM MICROELECTRONIC - MARIN SA 2, 4 and 8 Mutiplex LCD Driver Description The is a universal low multiplex LCD driver. The version 2 drives two ways multiplex (two blackplanes) LCD, the version 4, four

More information

21.1. Unit 21. Hardware Acceleration

21.1. Unit 21. Hardware Acceleration 21.1 Unit 21 Hardware Acceleration 21.2 Motivation When designing hardware we have nearly unlimited control and parallelism at our disposal We can create structures that may dramatically improve performance

More information

CS 61C: Great Ideas in Computer Architecture

CS 61C: Great Ideas in Computer Architecture CS 6C: Great Ideas in Computer Architecture Combinational and Sequential Logic, Boolean Algebra Instructor: Alan Christopher 7/23/24 Summer 24 -- Lecture #8 Review of Last Lecture OpenMP as simple parallel

More information

UNIT V 8051 Microcontroller based Systems Design

UNIT V 8051 Microcontroller based Systems Design UNIT V 8051 Microcontroller based Systems Design INTERFACING TO ALPHANUMERIC DISPLAYS Many microprocessor-controlled instruments and machines need to display letters of the alphabet and numbers. Light

More information

EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power

EECS150 - Digital Design Lecture 17 - Circuit Timing. Performance, Cost, Power EECS150 - Digital Design Lecture 17 - Circuit Timing March 10, 2011 John Wawrzynek Spring 2011 EECS150 - Lec16-timing Page 1 Performance, Cost, Power How do we measure performance? operations/sec? cycles/sec?

More information

COMP2611: Computer Organization. Introduction to Digital Logic

COMP2611: Computer Organization. Introduction to Digital Logic 1 COMP2611: Computer Organization Sequential Logic Time 2 Till now, we have essentially ignored the issue of time. We assume digital circuits: Perform their computations instantaneously Stateless: once

More information

L12: Reconfigurable Logic Architectures

L12: Reconfigurable Logic Architectures L12: Reconfigurable Logic Architectures Acknowledgements: Materials in this lecture are courtesy of the following sources and are used with permission. Frank Honore Prof. Randy Katz (Unified Microelectronics

More information

Data Storage and Manipulation

Data Storage and Manipulation Data Storage and Manipulation Data Storage Bits and Their Storage: Gates and Flip-Flops, Other Storage Techniques, Hexadecimal notation Main Memory: Memory Organization, Measuring Memory Capacity Mass

More information

More Digital Circuits

More Digital Circuits More Digital Circuits 1 Signals and Waveforms: Showing Time & Grouping 2 Signals and Waveforms: Circuit Delay 2 3 4 5 3 10 0 1 5 13 4 6 3 Sample Debugging Waveform 4 Type of Circuits Synchronous Digital

More information

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY. GEORGE MASON UNIVERSITY Serial FIR Filter A Brief Study in DSP ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 Instructions: Zip all your deliverables into an archive .zip and submit it

More information

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview DATASHEET DC Ultra Concurrent Timing, Area, Power and Test Optimization DC Ultra RTL synthesis solution enables users to meet today s design challenges with concurrent optimization of timing, area, power

More information

Optimization of memory based multiplication for LUT

Optimization of memory based multiplication for LUT Optimization of memory based multiplication for LUT V. Hari Krishna *, N.C Pant ** * Guru Nanak Institute of Technology, E.C.E Dept., Hyderabad, India ** Guru Nanak Institute of Technology, Prof & Head,

More information

Section 6.8 Synthesis of Sequential Logic Page 1 of 8

Section 6.8 Synthesis of Sequential Logic Page 1 of 8 Section 6.8 Synthesis of Sequential Logic Page of 8 6.8 Synthesis of Sequential Logic Steps:. Given a description (usually in words), develop the state diagram. 2. Convert the state diagram to a next-state

More information

International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013

International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013 International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013 Design and Implementation of an Enhanced LUT System in Security Based Computation dama.dhanalakshmi 1, K.Annapurna

More information

Implementation of Memory Based Multiplication Using Micro wind Software

Implementation of Memory Based Multiplication Using Micro wind Software Implementation of Memory Based Multiplication Using Micro wind Software U.Palani 1, M.Sujith 2,P.Pugazhendiran 3 1 IFET College of Engineering, Department of Information Technology, Villupuram 2,3 IFET

More information

Slide Set 9. for ENCM 501 in Winter Steve Norman, PhD, PEng

Slide Set 9. for ENCM 501 in Winter Steve Norman, PhD, PEng Slide Set 9 for ENCM 501 in Winter 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary March 2018 ENCM 501 Winter 2018 Slide Set 9 slide

More information

COE328 Course Outline. Fall 2007

COE328 Course Outline. Fall 2007 COE28 Course Outline Fall 2007 1 Objectives This course covers the basics of digital logic circuits and design. Through the basic understanding of Boolean algebra and number systems it introduces the student

More information

Verification Methodology for a Complex System-on-a-Chip

Verification Methodology for a Complex System-on-a-Chip UDC 621.3.049.771.14.001.63 Verification Methodology for a Complex System-on-a-Chip VAkihiro Higashi VKazuhide Tamaki VTakayuki Sasaki (Manuscript received December 1, 1999) Semiconductor technology has

More information

The reduction in the number of flip-flops in a sequential circuit is referred to as the state-reduction problem.

The reduction in the number of flip-flops in a sequential circuit is referred to as the state-reduction problem. State Reduction The reduction in the number of flip-flops in a sequential circuit is referred to as the state-reduction problem. State-reduction algorithms are concerned with procedures for reducing the

More information

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY DESIGN AND IMPLEMENTATION OF BIST TECHNIQUE IN UART SERIAL COMMUNICATION M.Hari Krishna*, P.Pavan Kumar * Electronics and Communication

More information

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Sequential Logic. Introduction to Computer Yung-Yu Chuang Sequential Logic Introduction to Computer Yung-Yu Chuang with slides by Sedgewick & Wayne (introcs.cs.princeton.edu), Nisan & Schocken (www.nand2tetris.org) and Harris & Harris (DDCA) Review of Combinational

More information

A Low Power Delay Buffer Using Gated Driver Tree

A Low Power Delay Buffer Using Gated Driver Tree IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) ISSN: 2319 4200, ISBN No. : 2319 4197 Volume 1, Issue 4 (Nov. - Dec. 2012), PP 26-30 A Low Power Delay Buffer Using Gated Driver Tree Kokkilagadda

More information

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras Group #4 Prof: Chow, Paul Student 1: Robert An Student 2: Kai Chun Chou Student 3: Mark Sikora April 10 th, 2015 Final

More information

Digital System Design

Digital System Design Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc350 Simon Fraser University Slide Set: 8 Date: February 9, 2009 Timing

More information

Frame Processing Time Deviations in Video Processors

Frame Processing Time Deviations in Video Processors Tensilica White Paper Frame Processing Time Deviations in Video Processors May, 2008 1 Executive Summary Chips are increasingly made with processor designs licensed as semiconductor IP (intellectual property).

More information

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8 CSCB58 - Lab 4 Clocks and Counters Learning Objectives The purpose of this lab is to learn how to create counters and to be able to control when operations occur when the actual clock rate is much faster.

More information

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview Digilent Nexys-3 Cellular RAM Controller Reference Design Overview General Overview This document describes a reference design of the Cellular RAM (or PSRAM Pseudo Static RAM) controller for the Digilent

More information

Page 1) 7 points Page 2) 16 points Page 3) 22 points Page 4) 21 points Page 5) 22 points Page 6) 12 points. TOTAL out of 100

Page 1) 7 points Page 2) 16 points Page 3) 22 points Page 4) 21 points Page 5) 22 points Page 6) 12 points. TOTAL out of 100 EE3701 Dr. Gugel Spring 2014 Exam II ast Name First Open book/open notes, 90-minutes. Calculators are permitted. Write on the top of each page only. Page 1) 7 points Page 2) 16 points Page 3) 22 points

More information

Testing Digital Systems II

Testing Digital Systems II Testing Digital Systems II Lecture 2: Design for Testability (I) structor: M. Tahoori Copyright 2010, M. Tahoori TDS II: Lecture 2 1 History During early years, design and test were separate The final

More information

OMS Based LUT Optimization

OMS Based LUT Optimization International Journal of Advanced Education and Research ISSN: 2455-5746, Impact Factor: RJIF 5.34 www.newresearchjournal.com/education Volume 1; Issue 5; May 2016; Page No. 11-15 OMS Based LUT Optimization

More information

8/30/2010. Chapter 1: Data Storage. Bits and Bit Patterns. Boolean Operations. Gates. The Boolean operations AND, OR, and XOR (exclusive or)

8/30/2010. Chapter 1: Data Storage. Bits and Bit Patterns. Boolean Operations. Gates. The Boolean operations AND, OR, and XOR (exclusive or) Chapter 1: Data Storage Bits and Bit Patterns 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns 1.5 The Binary System 1.6 Storing Integers 1.8 Data

More information

Pivoting Object Tracking System

Pivoting Object Tracking System Pivoting Object Tracking System [CSEE 4840 Project Design - March 2009] Damian Ancukiewicz Applied Physics and Applied Mathematics Department da2260@columbia.edu Jinglin Shen Electrical Engineering Department

More information

Snapshot. Sanjay Jhaveri Mike Huhs Final Project

Snapshot. Sanjay Jhaveri Mike Huhs Final Project Snapshot Sanjay Jhaveri Mike Huhs 6.111 Final Project The goal of this final project is to implement a digital camera using a Xilinx Virtex II FPGA that is built into the 6.111 Labkit. The FPGA will interface

More information

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43 Testability: Lecture 23 Design for Testability (DFT) Shaahin hi Hessabi Department of Computer Engineering Sharif University of Technology Adapted, with modifications, from lecture notes prepared p by

More information

Digital Video Telemetry System

Digital Video Telemetry System Digital Video Telemetry System Item Type text; Proceedings Authors Thom, Gary A.; Snyder, Edwin Publisher International Foundation for Telemetering Journal International Telemetering Conference Proceedings

More information

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur

Module 8 VIDEO CODING STANDARDS. Version 2 ECE IIT, Kharagpur Module 8 VIDEO CODING STANDARDS Lesson 27 H.264 standard Lesson Objectives At the end of this lesson, the students should be able to: 1. State the broad objectives of the H.264 standard. 2. List the improved

More information

Chapter 9 MSI Logic Circuits

Chapter 9 MSI Logic Circuits Chapter 9 MSI Logic Circuits Chapter 9 Objectives Selected areas covered in this chapter: Analyzing/using decoders & encoders in circuits. Advantages and disadvantages of LEDs and LCDs. Observation/analysis

More information

DIGITAL ELECTRONICS MCQs

DIGITAL ELECTRONICS MCQs DIGITAL ELECTRONICS MCQs 1. A 8-bit serial in / parallel out shift register contains the value 8, clock signal(s) will be required to shift the value completely out of the register. A. 1 B. 2 C. 4 D. 8

More information

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Using on-chip Test Pattern Compression for Full Scan SoC Designs Using on-chip Test Pattern Compression for Full Scan SoC Designs Helmut Lang Senior Staff Engineer Jens Pfeiffer CAD Engineer Jeff Maguire Principal Staff Engineer Motorola SPS, System-on-a-Chip Design

More information

Fingerprint Verification System

Fingerprint Verification System Fingerprint Verification System Cheryl Texin Bashira Chowdhury 6.111 Final Project Spring 2006 Abstract This report details the design and implementation of a fingerprint verification system. The system

More information

DESIGN AND IMPLEMENTATION OF A CONTENT AWARE IMAGE PROCESSING MODULE ON FPGA. A Dissertation Presented to The Academic Faculty. Burhan Ahmad Mudassar

DESIGN AND IMPLEMENTATION OF A CONTENT AWARE IMAGE PROCESSING MODULE ON FPGA. A Dissertation Presented to The Academic Faculty. Burhan Ahmad Mudassar DESIGN AND IMPLEMENTATION OF A CONTENT AWARE IMAGE PROCESSING MODULE ON FPGA A Dissertation Presented to The Academic Faculty By Burhan Ahmad Mudassar In Partial Fulfillment Of the Requirements for the

More information

Digital Systems Design

Digital Systems Design ECOM 4311 Digital Systems Design Eng. Monther Abusultan Computer Engineering Dept. Islamic University of Gaza Page 1 ECOM4311 Digital Systems Design Module #2 Agenda 1. History of Digital Design Approach

More information

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015 Optimization of Multi-Channel BCH Error Decoding for Common Cases Russell Dill Master's Thesis Defense April 20, 2015 Bose-Chaudhuri-Hocquenghem (BCH) BCH is an Error Correcting Code (ECC) and is used

More information

ECE 263 Digital Systems, Fall 2015

ECE 263 Digital Systems, Fall 2015 ECE 263 Digital Systems, Fall 2015 REVIEW: FINALS MEMORY ROM, PROM, EPROM, EEPROM, FLASH RAM, DRAM, SRAM Design of a memory cell 1. Draw circuits and write 2 differences and 2 similarities between DRAM

More information

TV Synchronism Generation with PIC Microcontroller

TV Synchronism Generation with PIC Microcontroller TV Synchronism Generation with PIC Microcontroller With the widespread conversion of the TV transmission and coding standards, from the early analog (NTSC, PAL, SECAM) systems to the modern digital formats

More information

Design of Memory Based Implementation Using LUT Multiplier

Design of Memory Based Implementation Using LUT Multiplier Design of Memory Based Implementation Using LUT Multiplier Charan Kumar.k 1, S. Vikrama Narasimha Reddy 2, Neelima Koppala 3 1,2 M.Tech(VLSI) Student, 3 Assistant Professor, ECE Department, Sree Vidyanikethan

More information

L11/12: Reconfigurable Logic Architectures

L11/12: Reconfigurable Logic Architectures L11/12: Reconfigurable Logic Architectures Acknowledgements: Materials in this lecture are courtesy of the following people and used with permission. - Randy H. Katz (University of California, Berkeley,

More information

Enhancing Performance in Multiple Execution Unit Architecture using Tomasulo Algorithm

Enhancing Performance in Multiple Execution Unit Architecture using Tomasulo Algorithm Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 6.017 IJCSMC,

More information

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS) DIGITAL SYSTEM DESIGN UNIT I (2 MARKS) 1. Convert Binary number (111101100) 2 to Octal equivalent. 2. Convert Binary (1101100010011011) 2 to Hexadecimal equivalent. 3. Simplify the following Boolean function

More information

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

The word digital implies information in computers is represented by variables that take a limited number of discrete values. Class Overview Cover hardware operation of digital computers. First, consider the various digital components used in the organization and design. Second, go through the necessary steps to design a basic

More information

Switching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm)

Switching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm) Switching Circuits & Logic Design, Fall 2011 Final Examination (1/13/2012, 3:30pm~5:20pm) Problem 1: (15 points) Consider a new FF with three inputs, S, R, and T. No more than one of these inputs can be

More information

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee

CS/ECE 250: Computer Architecture. Basics of Logic Design: ALU, Storage, Tristate. Benjamin Lee CS/ECE 25: Computer Architecture Basics of Logic esign: ALU, Storage, Tristate Benjamin Lee Slides based on those from Alvin Lebeck, aniel, Andrew Hilton, Amir Roth, Gershon Kedem Homework #3 ue Mar 7,

More information

Digital Logic Design: An Overview & Number Systems

Digital Logic Design: An Overview & Number Systems Digital Logic Design: An Overview & Number Systems Analogue versus Digital Most of the quantities in nature that can be measured are continuous. Examples include Intensity of light during the day: The

More information

Chapter 2. Digital Circuits

Chapter 2. Digital Circuits Chapter 2. Digital Circuits Logic gates Flip-flops FF registers IC registers Data bus Encoders/Decoders Multiplexers Troubleshooting digital circuits Most contents of this chapter were covered in 88-217

More information

Introduction to CMOS VLSI Design (E158) Lab 3: Datapath and Zipper Assembly

Introduction to CMOS VLSI Design (E158) Lab 3: Datapath and Zipper Assembly Harris Introduction to CMOS VLSI Design (E158) Lab 3: Datapath and Zipper Assembly An n-bit datapath consists of n identical horizontal bitslices 1. Data signals travel horizontally along the bitslice.

More information

Register Transfer Level (RTL) Design Cont.

Register Transfer Level (RTL) Design Cont. CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Cont. Tajana Simunic Rosing Where we are now What we are covering today: RTL design examples, RTL critical

More information

Why FPGAs? FPGA Overview. Why FPGAs?

Why FPGAs? FPGA Overview. Why FPGAs? Transistor-level Logic Circuits Positive Level-sensitive EECS150 - Digital Design Lecture 3 - Field Programmable Gate Arrays (FPGAs) January 28, 2003 John Wawrzynek Transistor Level clk clk clk Positive

More information

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15 EECS578 Prof. Bertacco Fall 2015 EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15 1. Overview This project focuses on designing a test plan and a set of test programs for a digital reverberation

More information

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari Sequential Circuits The combinational circuit does not use any memory. Hence the previous state of input does not have any effect on the present state of the circuit. But sequential circuit has memory

More information