Slide Set Overview. Special Topics in Advanced Digital System Design. Embedded System Design. Embedded System Design. What does a digital camera do?
|
|
- Theresa Warren
- 5 years ago
- Views:
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 In the previous chapters we have studied how to develop a specification from a given application, and
More informationLogic 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 informationLow 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 informationECSE-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 informationContents 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 informationFPGA 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 informationTV 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 informationALONG 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 informationCHAPTER1: 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 informationMicroprocessor 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 informationImplementation 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 informationVHDL 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 informationUNIT 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 informationEncoders 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 informationVLSI 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 informationRead-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 informationAdvanced 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 informationMotion 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 informationContents 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 informationSharif 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 informationLaboratory 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 informationSlide 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 informationELEN 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 informationLossless 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 informationChapter 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 informationMODULE 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 informationDSP 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 informationUnderstanding 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 informationVU 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 information6.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 informationDesign 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 informationEEE130 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 informationSequencing 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 informationChapter 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 information12-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 informationCPS311 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 informationModeling 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 informationLogic 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 informationCS 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 informationCombinational 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 informationV6118 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 information21.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 informationCS 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 informationUNIT 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 informationEECS150 - 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 informationCOMP2611: 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 informationL12: 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 informationData 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 informationMore 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 informationSerial 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 informationDC 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 informationOptimization 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 informationSection 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 informationInternational 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 informationImplementation 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 informationSlide 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 informationCOE328 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 informationVerification 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 informationThe 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
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 informationSequential 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 informationA 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 informationECE532 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 informationDigital 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 informationFrame 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 informationCSCB58 - 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 informationLaboratory 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 informationDigilent 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 informationPage 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 informationTesting 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 informationOMS 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 information8/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 informationPivoting 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 informationSnapshot. 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 informationTestability: 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 informationDigital 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 informationModule 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 informationChapter 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 informationDIGITAL 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 informationUsing 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 informationFingerprint 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 informationDESIGN 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 informationDigital 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 informationOptimization 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 informationECE 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 informationTV 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 informationDesign 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 informationL11/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 informationEnhancing 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 informationDIGITAL 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 informationThe 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 informationSwitching 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 informationCS/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 informationDigital 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 informationChapter 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 informationIntroduction 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 informationRegister 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 informationWhy 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 informationEECS 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 informationFlip 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