ENGLISH

Design Recipes for FPGAs using Verilog and VHDL [2nd ed.]

Book information

Publisher
Elsevier
Year
2016
ISBN
978-0-08-097129-2
Language
english
Format
PDF
Filesize
8 MB (8213154 bytes)
Pages
352\352
Time added
2018-11-23 18:21:43

Description

Preface......Page 3 --- Overview......Page 5 Verilog vs. VHDL......Page 6 Why FPGAs?......Page 7 Summary......Page 8 FPGA Evolution......Page 9 Field Programmable Gate Arrays......Page 10 Design Constraints using FPGAs......Page 14 Development Kits and Boards......Page 15 Summary......Page 16 Introduction......Page 17 The Entity Definition......Page 18 Generics......Page 19 Basic Definition of An Architecture......Page 20 Process: Basic Functional Unit in VHDL......Page 21 Constants......Page 22 Boolean Operators......Page 23 Concatenation......Page 24 If-Then-Else......Page 25 For......Page 26 Functions......Page 27 Packages......Page 28 Components......Page 29 Basic Types......Page 30 Integer Subtypes: Positive......Page 31 Summary......Page 32 Modules......Page 34 Connections......Page 35 Wires and Registers......Page 36 Defining the Module Behavior......Page 37 Parameters......Page 38 Decision Making......Page 39 Summary......Page 40 Simulators......Page 41 Test Bench Goals......Page 42 Simple Test Bench: Instantiating Components......Page 43 Adding Stimuli......Page 44 Introduction......Page 46 Std_logic Libraries......Page 47 std_logic Type Definition......Page 48 Design Flow for Synthesis......Page 49 RTL Design Flow......Page 50 Recursive Cut......Page 51 Design Pitfalls......Page 52 Floating Point Numbers and Operations......Page 53 Summary......Page 54 Concurrent edges......Page 55 Some Interesting Cases Where Synthesis May Fail......Page 57 Controller......Page 58 Data Path......Page 61 Summary......Page 62 --- Intro to FPGA Applications......Page 63 Introduction......Page 64 Data Rates......Page 65 The Bayer Pattern......Page 66 Memory Requirements......Page 67 Specifying the Interfaces......Page 68 Defining the Top Level Design......Page 69 Overall System Decomposition......Page 70 Memory Interface......Page 71 The Display Interface: VGA......Page 72 The PC Interface......Page 73 Summary......Page 74 Embedded Processor Architecture......Page 75 Basic Instructions......Page 77 Fetch Execute Cycle......Page 78 Embedded Processor Register Allocation......Page 79 A Basic Instruction Set......Page 80 Structural or Behavioral?......Page 81 Structural Elements of the Microprocessor......Page 82 Processor Functions Package......Page 83 The Program Counter......Page 84 The Instruction Register......Page 85 The Arithmetic and Logic Unit......Page 87 The Memory......Page 88 Microcontroller Controller......Page 90 The Program Counter......Page 93 The Instruction Register......Page 96 Memory Data Register......Page 98 Memory Address Register......Page 100 The Arithmetic and Logic Unit......Page 103 Microcontroller Controller......Page 106 Soft Core Processors on an FPGA......Page 108 Summary......Page 109 --- Designer's Toolbox......Page 110 Introduction......Page 111 Converting S Domain to Z Domain......Page 112 Introduction......Page 113 Gain Block......Page 114 Sum and Difference......Page 115 Division Model......Page 116 Unit Delay Model......Page 117 Basic Low Pass Filter Model......Page 118 Gain Block......Page 121 Sum and Difference......Page 123 Unit Delay Model......Page 125 Infinite Impulse Response Filters......Page 127 Summary......Page 128 Feistel Lattice Structures......Page 129 Introduction......Page 131 DES VHDL Implementation......Page 134 DES Verilog Implementation......Page 139 Advanced Encryption Standard......Page 143 Implementing AES in VHDL......Page 147 Summary......Page 159 Introduction......Page 160 Read Only Memory......Page 161 Random Access Memory......Page 163 Synchronous RAM......Page 170 Flash Memory......Page 175 Summary......Page 177 PS/2 Mouse Commands......Page 178 PS/2 Operation Modes......Page 179 Basic PS/2 Mouse Handler VHDL......Page 180 Modified PS/2 Mouse Handler VHDL......Page 181 Basic PS/2 Mouse Handler in Verilog......Page 182 Summary......Page 183 PS/2 Keyboard Basics......Page 184 Basic PS/2 Keyboard Handler in VHDL......Page 185 Modified PS/2 Keyboard Handler in VHDL......Page 186 Basic PS/2 Keyboard Handler in Verilog......Page 187 Summary......Page 188 Basic Pixel Timing......Page 189 VHDL Top Level Entity for VGA Handling......Page 190 Horizontal Sync......Page 191 Vertical Sync......Page 192 Horizontal and Vertical Blanking Pulses......Page 193 Calculating the Correct Pixel Data......Page 194 Verilog Top Level Module for VGA Handling......Page 195 Horizontal Sync......Page 196 Vertical Sync......Page 197 Horizontal and Vertical Blanking Pulses......Page 198 Summary......Page 199 Manchester Encoding and Decoding......Page 200 Implementing the Manchester Encoding Scheme using VHDL......Page 201 Implementing the Manchester Encoding Scheme using Verilog......Page 203 NRZ (Non-Return-to-Zero) Coding and Decoding......Page 205 NRZI Coding and Decoding in VHDL......Page 206 NRZI Coding and Decoding in Verilog......Page 207 RS-232 Baud Rate Generator......Page 209 RS-232 Receiver......Page 212 Universal Serial Bus......Page 216 Summary......Page 219 --- Optimizing Designs......Page 220 Techniques for Logic Optimization......Page 221 Improving Performance......Page 223 Critical Path Analysis......Page 224 Summary......Page 225 Implementing the Behavioral Model using VHDL......Page 226 Implementing the Behavioral Model using Verilog......Page 229 Summary......Page 231 Basic Modeling Approach for VHDL-AMS......Page 232 Introduction to VHDL-AMS......Page 233 VHDL-AMS Analog Pins: TERMINALS......Page 234 VHDL-AMS Analog Variables: Quantities......Page 235 A VHDL-AMS Example: A DC Voltage Source......Page 236 A VHDL-AMS Example: Resistor......Page 237 Differential Equations in VHDL-AMS......Page 238 Mixed-Signal Modeling with VHDL-AMS......Page 240 A Basic Switch Model......Page 242 Basic VHDL-AMS Comparator Model......Page 244 Multiple Domain Modeling......Page 245 Introduction to Verilog-AMS......Page 246 Mixed Domain Modeling in Verilog-AMS......Page 247 Verilog-AMS Analog Equations......Page 248 Resistor......Page 249 Differential Equations in Verilog-AMS......Page 250 Mixed Signal Modeling with Verilog-AMS......Page 251 Multiple Domain Modeling using Verilog-AMS......Page 252 Summary......Page 253 The Data Encryption Standard......Page 254 Overall Structure......Page 255 Data Transformations......Page 258 Key Transformations......Page 260 Initial Synthesis......Page 261 Optimizing the Datapath......Page 262 Optimizing the Key Transformations......Page 263 Final Optimization......Page 264 Introduction......Page 265 Minimum Area Iterative......Page 266 Minimum Latency Pipelined......Page 268 Comparing the Approaches......Page 269 Summary......Page 270 Fundamental Techniques......Page 271 Latches......Page 272 Flip-Flops......Page 274 Registers......Page 278 Summary......Page 281 Logic Functions in VHDL......Page 282 1-bit Adder......Page 284 Structural n-Bit Addition......Page 286 Logic Functions in Verilog......Page 287 Configurable n-Bit Addition......Page 288 Two's Complement......Page 289 Summary......Page 291 Implementing Finite State Machines in VHDL......Page 292 Implementing Finite State Machines in Verilog......Page 295 Summary......Page 296 Introduction......Page 297 Basic Fixed Point Types in VHDL......Page 299 Fixed Point to STD_LOGIC_VECTOR Functions......Page 300 Fixed Point to Real Conversion......Page 301 Testing the VHDL Fixed Point Functions......Page 303 Fixed Point Types in Verilog......Page 304 Summary......Page 305 Basic Binary Counter using VHDL......Page 307 Simple Binary Counter using Verilog......Page 310 Synthesized Simple Binary Counter......Page 311 Shift Register......Page 313 The Johnson Counter......Page 317 BCD Counter......Page 319 Summary......Page 321 Decoders......Page 323 Multiplexers......Page 326 Summary......Page 329 Basic Binary Multiplication......Page 330 VHDL Unsigned Multiplier......Page 331 Synthesis of the Multiplication Function......Page 333 Simple Multiplication using VHDL......Page 334 Simple Multiplication using Verilog......Page 336 Summary......Page 338 VHDL LCD Module Decoder......Page 339 Verilog LCD Module Decoder......Page 342 Summary......Page 344 Biblio......Page 345 Index......Page 348

Similar books