该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
10积分
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII
Preface to Second Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
Preface to Third Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .XIII
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Overview of Digital Signal Processing (DSP) . . . . . . . . . . . . . . . 1
1.2 FPGA Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Classification by Granularity . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Classification by Technology . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Benchmark for FPLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 DSP Technology Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.1 FPGA and Programmable Signal Processors . . . . . . . . . 12
1.4 Design Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.1 FPGA Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.2 The Altera EP2C35F672C6 . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.3 Case Study: Frequency Synthesizer . . . . . . . . . . . . . . . . . 29
1.4.4 Design with Intellectual Property Cores . . . . . . . . . . . . . 35
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2. Computer Arithmetic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.2 Number Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2.1 Fixed-Point Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2.2 Unconventional Fixed-Point Numbers . . . . . . . . . . . . . . . 57
2.2.3 Floating-Point Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.3 Binary Adders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.3.1 Pipelined Adders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.3.2 Modulo Adders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.4 Binary Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.4.1 Multiplier Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.5 Binary Dividers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.5.1 Linear Convergence Division Algorithms . . . . . . . . . . . . 93
2.5.2 Fast Divider Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.5.3 Array Divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.6 Floating-Point Arithmetic Implementation . . . . . . . . . . . . . . . . . 104
2.6.1 Fixed-point to Floating-Point Format Conversion . . . . . 105
2.6.2 Floating-Point to Fixed-Point Format Conversion. . . . . 106
2.6.3 Floating-Point Multiplication . . . . . . . . . . . . . . . . . . . . . . 107
2.6.4 Floating-Point Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.6.5 Floating-Point Division . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
2.6.6 Floating-Point Reciprocal . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.6.7 Floating-Point Synthesis Results . . . . . . . . . . . . . . . . . . . 114
2.7 Multiply-Accumulator (MAC) and Sum of Product (SOP) . . 114
2.7.1 Distributed Arithmetic Fundamentals . . . . . . . . . . . . . . . 115
2.7.2 Signed DA Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
2.7.3 Modified DA Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
2.8 Computation of Special Functions Using CORDIC . . . . . . . . . . 120
2.8.1 CORDIC Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2.9 Computation of Special Functions using MAC Calls . . . . . . . . . 130
2.9.1 Chebyshev Approximations . . . . . . . . . . . . . . . . . . . . . . . . 131
2.9.2 Trigonometric Function Approximation . . . . . . . . . . . . . 132
2.9.3 Exponential and Logarithmic Function Approximation 141
2.9.4 Square Root Function Approximation . . . . . . . . . . . . . . . 148
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3. Finite Impulse Response (FIR) Digital Filters . . . . . . . . . . . . 165
3.1 Digital Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.2 FIR Theory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3.2.1 FIR Filter with Transposed Structure . . . . . . . . . . . . . . . 167
3.2.2 Symmetry in FIR Filters . . . . . . . . . . . . . . . . . . . . . . . . . . 170
3.2.3 Linear-phase FIR Filters . . . . . . . . . . . . . . . . . . . . . . . . . . 171
3.3 Designing FIR Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3.3.1 Direct Window Design Method. . . . . . . . . . . . . . . . . . . . . 173
3.3.2 Equiripple Design Method . . . . . . . . . . . . . . . . . . . . . . . . . 175
3.4 Constant Coefficient FIR Design . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.4.1 Direct FIR Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.4.2 FIR Filter with Transposed Structure . . . . . . . . . . . . . . . 182
3.4.3 FIR Filters Using Distributed Arithmetic . . . . . . . . . . . . 189
3.4.4 IP Core FIR Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . 204
3.4.5 Comparison of DA- and RAG-Based FIR Filters . . . . . 207
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
4. Infinite Impulse Response (IIR) Digital Filters . . . . . . . . . . . 215
4.1 IIR Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
4.2 IIR Coefficient Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
4.2.1 Summary of Important IIR Design Attributes . . . . . . . . 223
4.3 IIR Filter Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
4.3.1 Finite Wordlength Effects . . . . . . . . . . . . . . . . . . . . . . . . . 228
4.3.2 Optimization of the Filter Gain Factor . . . . . . . . . . . . . . 229
4.4 Fast IIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
4.4.1 Time-domain Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . 230
4.4.2 Clustered and Scattered Look-Ahead Pipelining . . . . . . 233
4.4.3 IIR Decimator Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
4.4.4 Parallel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
4.4.5 IIR Design Using RNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
5. Multirate Signal Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5.1 Decimation and Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5.1.1 Noble Identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5.1.2 Sampling Rate Conversion by Rational Factor . . . . . . . . 248
5.2 Polyphase Decomposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
5.2.1 Recursive IIR Decimator . . . . . . . . . . . . . . . . . . . . . . . . . . 254
5.2.2 Fast-running FIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
5.3 Hogenauer CIC Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
5.3.1 Single-Stage CIC Case Study . . . . . . . . . . . . . . . . . . . . . . 257
5.3.2 Multistage CIC Filter Theory . . . . . . . . . . . . . . . . . . . . . . 259
5.3.3 Amplitude and Aliasing Distortion . . . . . . . . . . . . . . . . . 264
5.3.4 Hogenauer Pruning Theory . . . . . . . . . . . . . . . . . . . . . . . . 266
5.3.5 CIC RNS Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
5.4 Multistage Decimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
5.4.1 Multistage Decimator Design Using Goodman–Carey
Half-band Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
5.5 Frequency-Sampling Filters as Bandpass Decimators . . . . . . . . 277
5.6 Design of Arbitrary Sampling Rate Converters . . . . . . . . . . . . . 280
5.6.1 Fractional Delay Rate Change . . . . . . . . . . . . . . . . . . . . . 284
5.6.2 Polynomial Fractional Delay Design . . . . . . . . . . . . . . . . 290
5.6.3 B-Spline-Based Fractional Rate Changer . . . . . . . . . . . . 296
5.6.4 MOMS Fractional Rate Changer . . . . . . . . . . . . . . . . . . . 301
5.7 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
5.7.1 Uniform DFT Filter Bank . . . . . . . . . . . . . . . . . . . . . . . . . 309
5.7.2 Two-channel Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . 313
5.8 Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
5.8.1 The Discrete Wavelet Transformation . . . . . . . . . . . . . . . 332
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
6. Fourier Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
6.1 The Discrete Fourier Transform Algorithms . . . . . . . . . . . . . . . . 344
6.1.1 Fourier Transform Approximations Using the DFT . . . 344
6.1.2 Properties of the DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
6.1.3 The Goertzel Algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . 349
6.1.4 The Bluestein Chirp-z Transform. . . . . . . . . . . . . . . . . . . 350
6.1.5 The Rader Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
6.1.6 The Winograd DFT Algorithm. . . . . . . . . . . . . . . . . . . . . 359
6.2 The Fast Fourier Transform (FFT) Algorithms . . . . . . . . . . . . . 361
6.2.1 The Cooley–Tukey FFT Algorithm . . . . . . . . . . . . . . . . . 363
6.2.2 The Good–Thomas FFT Algorithm. . . . . . . . . . . . . . . . . 373
6.2.3 The Winograd FFT Algorithm . . . . . . . . . . . . . . . . . . . . . 375
6.2.4 Comparison of DFT and FFT Algorithms . . . . . . . . . . . 379
6.2.5 IP Core FFT Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
6.3 Fourier-Related Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
6.3.1 Computing the DCT Using the DFT. . . . . . . . . . . . . . . . 387
6.3.2 Fast Direct DCT Implementation . . . . . . . . . . . . . . . . . . 388
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
7. Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
7.1 Rectangular and Number Theoretic Transforms (NTTs) . . . . . 401
7.1.1 Arithmetic Modulo 2b ± 1 . . . . . . . . . . . . . . . . . . . . . . . . . 403
7.1.2 Efficient Convolutions Using NTTs . . . . . . . . . . . . . . . . . 405
7.1.3 Fast Convolution Using NTTs . . . . . . . . . . . . . . . . . . . . . 405
7.1.4 Multidimensional Index Maps . . . . . . . . . . . . . . . . . . . . . . 409
7.1.5 Computing the DFT Matrix with NTTs . . . . . . . . . . . . . 411
7.1.6 Index Maps for NTTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
7.1.7 Using Rectangular Transforms to Compute the DFT . . 416
7.2 Error Control and Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . 418
7.2.1 Basic Concepts from Coding Theory . . . . . . . . . . . . . . . . 419
7.2.2 Block Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
7.2.3 Convolutional Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
7.2.4 Cryptography Algorithms for FPGAs . . . . . . . . . . . . . . . 436
7.3 Modulation and Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
7.3.1 Basic Modulation Concepts . . . . . . . . . . . . . . . . . . . . . . . . 453
7.3.2 Incoherent Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . 457
7.3.3 Coherent Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
8. Adaptive Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
8.1 Application of Adaptive Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
8.1.1 Interference Cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . 478
8.1.2 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
8.1.3 Inverse Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
8.1.4 Identification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
8.2 Optimum Estimation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 481
8.2.1 The Optimum Wiener Estimation . . . . . . . . . . . . . . . . . . 482
8.3 The Widrow–Hoff Least Mean Square Algorithm . . . . . . . . . . . 486
8.3.1 Learning Curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
8.3.2 Normalized LMS (NLMS) . . . . . . . . . . . . . . . . . . . . . . . . . 496
8.4 Transform Domain LMS Algorithms . . . . . . . . . . . . . . . . . . . . . . 498
8.4.1 Fast-Convolution Techniques . . . . . . . . . . . . . . . . . . . . . . . 498
8.4.2 Using Orthogonal Transforms . . . . . . . . . . . . . . . . . . . . . . 500
8.5 Implementation of the LMS Algorithm . . . . . . . . . . . . . . . . . . . . 503
8.5.1 Quantization Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
8.5.2 FPGA Design of the LMS Algorithm . . . . . . . . . . . . . . . 504
8.5.3 Pipelined LMS Filters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
8.5.4 Transposed Form LMS Filter . . . . . . . . . . . . . . . . . . . . . . 510
8.5.5 Design of DLMS Algorithms . . . . . . . . . . . . . . . . . . . . . . . 511
8.5.6 LMS Designs using SIGNUM Function . . . . . . . . . . . . . . 515
8.6 Recursive Least Square Algorithms . . . . . . . . . . . . . . . . . . . . . . . 518
8.6.1 RLS with Finite Memory . . . . . . . . . . . . . . . . . . . . . . . . . . 521
8.6.2 Fast RLS Kalman Implementation . . . . . . . . . . . . . . . . . . 524
8.6.3 The Fast a Posteriori Kalman RLS Algorithm. . . . . . . . 529
8.7 Comparison of LMS and RLS Parameters . . . . . . . . . . . . . . . . . 530
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
9. Microprocessor Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
9.1 History of Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
9.1.1 Brief History of General-Purpose Microprocessors . . . . 538
9.1.2 Brief History of RISC Microprocessors . . . . . . . . . . . . . . 540
9.1.3 Brief History of PDSPs . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
9.2 Instruction Set Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
9.2.1 Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
9.2.2 Data Flow: Zero-,One-, Two- or Three-Address Design 552
9.2.3 Register File and Memory Architecture . . . . . . . . . . . . . 558
9.2.4 Operation Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
9.2.5 Next Operation Location . . . . . . . . . . . . . . . . . . . . . . . . . . 565
9.3 Software Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
9.3.1 Lexical Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
9.3.2 Parser Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
9.4 FPGA Microprocessor Cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
9.4.1 Hardcore Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . 589
9.4.2 Softcore Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . 594
9.5 Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
9.5.1 T-RISC Stack Microprocessors . . . . . . . . . . . . . . . . . . . . . 605
9.5.2 LISA Wavelet Processor Design . . . . . . . . . . . . . . . . . . . . 610
9.5.3 Nios FFT Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
A. Verilog Source Code 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
B. HDL" onclick="tagshow(event)" class="t_tag">VHDL and Verilog Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
B.1 List of Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
B.2 Library of Parameterized Modules (LPM) . . . . . . . . . . . . . . . . . 733
B.2.1 The Parameterized Flip-Flop Megafunction (lpm ff) . . 733
B.2.2 The Adder/Subtractor Megafunction . . . . . . . . . . . . . . . 737
B.2.3 The Parameterized Multiplier Megafunction
(lpm mult) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
B.2.4 The Parameterized ROM Megafunction (lpm rom) . . . 746
B.2.5 The Parameterized Divider Megafunction
(lpm divide) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
B.2.6 The Parameterized RAM Megafunction (lpm ram dq) 751
C. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
D. CD-ROM File: “1readme.ps” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
10积分
LCD(Liquid Crystal Display。即液晶显示屏)的驱动有多种方法,通常采用两种方法:基于专用集成电路
的驱动和基于通用微处理器的驱动。专用控制器以最简单的方式受控于计算机,接收并反馈计算机的各种
信息,经过自己独立的信息处理实现对显示缓冲区的管理,并向驱动器提供所需要的各种信号、脉冲,操纵驱
动器实现模块的显示功能。这种控制器具有自己一套专用的指令,用户必须熟悉这种控制器的使用方法,才
能进行操作。文中研究了一种基于FPGA的液晶显示驱动方法,与专用集成电路相比,FPGA的设计更灵
活。与通用微处理器相比,FPGA的运行速度更快。基于FPGA液晶显示驱动器的像素时钟为25.175 Ml-Iz,
而普通的单片机难以满足要求。设计的液晶显示控制器选用ALTERA公司的CYCLONE系列FPGA芯片
作为驱动电路的核心部件。FP(遗(FieId Programmable Gate A1TOW)即现场可编程门阵列器件。是一种超大
规模集成电路,具有丰富的片内EAB(Embedded memory AITOW Blocks),以及在电路可重配置能力(In Cir.
cuit Reconfigurable,ICR),仅需要少量外围器件就能实现本设计的功能。所设计的逻辑程序或电路原理图文
件经编译、适配后生成配置数据,将该数据写入存储器内,通过配置电路在系统上电后将配置数据下载到 融芯片中,FPGA芯片即可执行所设计的逻辑功能。因此,FPGA芯片非常适合于进行快速原型设计。
设计者可完全控制产品开发过程中由逻辑设计到最终产品的全过程【l】。这种模式也使用户摆脱了对控制
器的设计、加工、制作等一系列工作,又使计算机避免了对显示器的繁琐控制。
该帖子部分内容已隐藏
付费阅读
3积分
一:建立 niosII 系统。
第一小节:建立项目。
建立一个目录,比如 H:\DB2005\project\niosDK\Example\NiosSmall
启动 QuartusII4.2 软件。
选择 File -> New Project Wizard
在 Diectory,Name,Top-Level Entity 中如下填写,在你自己的项目中,你可以类比着填写:
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
10积分
The purpose of this book is to provide a practical approach to managing security in
FPGA designs for researchers and practitioners in the electronic design automation
(EDA) and FPGA communities, including corporations, industrial and government
research labs, and academics. This book combines theoretical underpinnings with
a practical design approach and worked examples for combating real world threats.
To address the spectrum of lifecycle and operational threats against FPGA systems,
a holistic view of FPGA security is presented, from formal top level specification
to low level policy enforcement mechanisms, which integrates recent advances in
the fields of computer security theory, languages, compilers, and hardware. The
net effect is a diverse set of static and runtime techniques that, working in cooperation, facilitate the composition of robust, dependable, and trustworthy systems using
commodity components.
We wish to acknowledge the many people who helped us ensure the success of
our work on reconfigurable hardware security. In particular, we wish to thank Andrei
Paun and Jason Smith of Louisiana Tech University for providing us with a Linuxcompatible version of Grail+. We also wish to thank those who gave us comments
on drafts of this book, including Marco Platzner of the University of Paderborn, and
Ali Irturk and Jason Oberg of the University of California, San Diego. This research
was funded in part by National Science Foundation Grant CNS-0524771 and NSF
Career Grant CCF-0448654.
该帖子部分内容已隐藏
付费阅读
3积分
SOPC 必将成为未来 IC 发展的趋势,实时操作系统 uClinux 在软核 NiosⅡ上
的成功移植对于嵌入式产品的开发有重要的意义。
本文首先介绍了 NiosⅡ和 uClinux 然后论述了 uClinux 和 DE2 开发板的一些重要
特性以及如何利用 QuartusⅡ、SOPC Builder 等软件工具来构建一个以 NiosⅡ处理器
为核心的硬件平台。
这个硬件平台为 uClinux 操作系统提供了 4M 的 flash,8M 的 sdram 和 DM9000
以太网控制器等外围设备。在已经构建成功的硬件平台上编写的几个中断测试程序,
用于验证刚建立的硬件和熟悉如何在 NiosⅡIDE 中编写程序。
接着分析嵌入式操作系统 uClinux 的内核结构、内存管理、多进程处理、针对实
时性的解决方案和开发环境,对 uClinux 有一个深刻的认识,会下一步研究开发很有
帮助。
在从理论上叙述了内核、内核配置、文件系统三者之间的关系和各自的作用之后,
就详细介绍如何通过 NiosⅡIDE 和 NiosⅡSDK Shell 将 uClinux 操作系统下载到 flash
中。
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
3积分
现代计算机与通讯系统电子设备中广泛使用了数字信号处理专用集成电路,它们主要
用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解
压缩等操作。这些处理工作从本质上说都是数学运算。从原则上讲,它们完全可以用计算
机或微处理器来完成。这就是为什么我们常用 C、Pascal 或汇编语言来编写程序,以研究
算法的合理性和有效性的道理。
在数字信号处理的领域内有相当大的一部分工作是可以事后处理的。我们可以利用通
用的计算机系统来处理这类问题。如在石油地质调查中,我们通过钻探和一系列的爆破,
记录下各种地层的回波数据,然后用计算机对这些数据进行处理,去除噪声等无用信息,
最后我们可以得到地层的构造,从而找到埋藏的石油。因为地层不会在几年内有明显的变
化,因此花几十天的时间把地层的构造分析清楚也能满足要求。这种类型的数字信号处理
是非实时的,用通用的计算机就能满足需要。
还有一类数字信号处理必须在规定的时间内完成,如在军用无线通信系统和机载雷达系统
中我们常常需要对检测到的微弱信号增强、加密、编码、压缩,在接收端必须及时地解压
缩、解码和解密并重现清晰的信号。我们很难想象用一个通用的计算机系统来完成这项工
作,因此,我们不得不自行设计非常轻便小巧的高速专用硬件系统来完成该任务。
有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用微处理器芯片也无法在规
定的时间内完成必须的运算。我们必须为这样的运算设计专用的硬线逻辑电路,这可以在
高速 FPGA 器件上实现或制成高速专用集成电路。这是因为通用微处理器芯片是为一般目的
而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存贮器中,然后在微
处理器芯片控制下,按时钟的节拍,逐条取出指令、分析指令,然后执行指令,直至程序
的结束。微处理器芯片中的内部总线和运算部件也是为通用的目的而设计,即使是专为信
号处理而设计的通用微处理器,因为它的通用性,也不可能为某一个特殊的算法来设计一
系列的专用的运算电路,而且其内部总线的宽度也不能随意改变,只有通过改变程序,才
能实现这个特殊的算法。因而其运算速度就受到限制。
本章的目的是想通过对数字信号处理、计算(Computing)、算法和数据结构、编程语言和
程序、体系结构和硬线逻辑等基本概念的介绍,了解算法与硬线逻辑之间的关系从而引入
利用 Verilog HDL 硬件描述语言设计复杂的数字逻辑系统的概念和方法。向读者展示一种
九十年代才真正开始在美国等先进的工业国家逐步推广的数字逻辑系统的设计方法。借助
于这种方法,在电路设计自动化仿真和综合工具的帮助下,只要我们对并行的计算结构有
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
3积分
硬件描述语言
是硬件设计人员和电子设计自动化
工具之间的界面 其主要目的是用来编写设计文件 建立电子系统行为级的仿真
模型 即利用计算机的巨大能力对用
或
建模的复杂数字逻辑进行仿真
然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表 根据
网表和某种工艺的器件自动生成具体电路 然后生成该工艺条件下这种具体电路的延时模
型 仿真验证无误后 用于制造 芯片或写入
和 器件中
在
技术领域中把用
语言建立的数字模型称为软核 把用
建模和综合后生成的网表称为固核
对这些模块的重复利用缩短了开发时间
提高了产品开发率 提高了设计效率
随着 平台上的
工具的发展 平台上的
和
仿真综合性
能已相当优越 这就为大规模普及这种新技术铺平了道路 目前国内只有少数重点设计单
位和高校有一些工作站平台上的
工具 而且大多数只是做一些线路图和版图级的仿
真与设计 只有个别单位展开了利用
和
模型 包括可综合和不可综合
的 进行复杂的数字逻辑系统的设计 随着电子系统向集成化 大规模 高速度的方向发
展
语言将成为电子系统硬件设计人员必须掌握的语言
该帖子部分内容已隐藏
付费阅读
10积分
利用 FPGA 实现大型设计时,可能需要 FPGA 具有以多个时钟运行的多重数据通路,这种
多时钟 FPGA 设计必须特别小心,需要注意最大时钟速率、抖动、最大时钟数、异步时钟
设计和时钟/数据关系。设计过程中最重要的一步是确定要用多少个不同的时钟,以及如何
进行布线,本文将对这些设计策略深入阐述。
FPGA 设计的第一步是决定需要什么样的时钟速率,设计中最快的时钟将确定 FPGA 必须
能处理的时钟速率。最快时钟速率由设计中两个触发器之间一个信号的传输时间 P 来决定,
如果 P 大于时钟周期 T,则当信号在一个触发器上改变后,在下一个逻辑级上将不会改变,
直到两个时钟周期以后才改变,如图 1 所示。
该帖子部分内容已隐藏
付费阅读
3积分
1. 何为 Tco
在 FPGA 中,Tco 有两种:
(1) 触发器 Tco
(2) 管脚输出 Tco
触发器 Tco 由 FPGA 的器件速度等级,工艺决定。一般在几百 ps 左右。管脚输出 Tco 是指从输出触
发器信号从管脚输出的延迟。本文指讨论管脚 Tco。
2. Tco 的作用
在 FPGA 和外部芯片由同步通信时,Tco 是保证系统能够工作与设定频率的重要因素。假设当前 A 芯
片输出信号到 B 芯片。为了能够使 A 芯片的数据达到 B 芯片,并且满足 B 芯片的 setup/hold 时间要求。必
须保证 ,
A 芯片的 Tco + B 芯片的 Tsu < T
3. Tco 的组成
Tco 的延迟有三部分组成:
输出触发器的触发器 Tco
输出触发器输出管脚到 IOE 的走线延迟
IOE 内部延迟
在这 3 个延迟中,触发器内部 Tco 非常小,只有几百个 ps,相对于其他两个延迟,可以忽略不计。
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
3积分
在数字电路的设计中,时序设计是一个系统性能的主要标志,在高层次设计方法中,
对时序控制的抽象度也相应提高,因此在设计中较难把握,但在理解 RTL 电路时序模型的
基础上,采用合理的设计方法在设计复杂数字系统是行之有效的,通过许多设计实例证明采
用这种方式可以使电路的后仿真通过率大大提高,并且系统的工作频率可以达到一个较高水
平。
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
3积分
NiosII 的开发环境提供了对符合 CFI 标准的 Flash 的支持,使用几个简单的函数,即
可以操作 Flash。本文介绍了 nios 中 flash 的使用。
关键词:EDA,Nios II,CFI 标准,Flash
在嵌入式系统中,Flash 是最常用组件之一。许多使用过 flash 的朋友都了解,Flash 的特点
是“读来容易写来难”。通常,可以直接读出 Flash 的内容;但如果要写入数据,就要发送一
长串命令,比如像:555 ,AA,2AA,55,555,A0 ,PA,PD 就表示对 PA 地址写入数据
PD,实际情况还要复杂一点,因为通常还要包含许多查询操作。
哎呀,这真是好繁琐呀,有没有省力的方法呢?现在好了,NiosII 的开发环境提供了对符合
CFI 标准的 Flash 的支持,使用几个简单的函数,就可以操作 Flash,真是方便了许多。
在这里,我粗略得介绍一下 nios 中 flash 的使用;更加详细的帮助信息请您参考 Altera 公司
提供的文档。如果本文能对您有一点点帮助,我都会感到非常高兴。
该帖子部分内容已隐藏
付费阅读
3积分
本部门所承担的FPGA设计任务主要是两方面的作用:系统的原型实现和ASIC的原型验证。编写本流程的目的是:
在于规范整个设计流程,实现开发的合理性、一致性、高效性。
形成风格良好和完整的文档。
实现在FPGA不同厂家之间以及从FPGA到ASIC的顺利移植。
便于新员工快速掌握本部门FPGA的设计流程。
由于目前所用到的FPGA器件以Altera的为主,所以下面的例子也以Altera为例,工具组合为 modelsim + LeonardoSpectrum/FPGACompilerII + Quartus,但原则和方法对于其他厂家和工具也是基本适用的。
该帖子部分内容已隐藏
付费阅读
3积分
Nios嵌入式处理器是用户可配置的通用RISC嵌入式处理器,它是一个非常灵活和强大的处理器。Nios处理器的易用和灵活已经使它成为世界上最流行的嵌入式处理器。
嵌入式设计者利用SOPC Builder系统开发工具能够很容易地创建自己的处理器系统。SOPC Builder可用于集成一个或多个可配置的带有许多标准外围设备的Nios CPU,并利用自动形成的Avalon交换结构总线将这些系统连接在一起。
可配置Nios CPU是Nios处理器系统的核心,它能够被灵活配置而适用于各种各样的应用。例如一个16位Nios CPU,在片内ROM中运行一个小程序,可以制作成一个实际的序列发生器或控制器,并且能够代替固定编码的状态机。又如一个32位Nios CPU,与外围设备、硬件加速单位和自定义指令一起,构成一个功能强大的32位嵌入式处理器系统。
Nios嵌入式处理器的独特性(例如自定义指令和并行的多控制器Avalon交换结构总线)使它不同于市场上其他的处理器软核。这些特性允许Nios用户通过用简单的而非传统的方法加速和优化自己的设计。
该帖子部分内容已隐藏
付费阅读
1积分
摘要:本文论述了使用FPGA器件,利用SOPC嵌入式开发技术,复用多种软CPU IP核,使用片内总线代替机群内的计算机网络,移植现有的软件开发方法,在片上构建包含WEB 服务器、业务逻辑应用服务器、数据库服务器的B/S系统的可行性及实现方法,并给出一个具体实现方案。
引言
B/S系统一直是基于大中小型服务器、台式机等通用计算机而设计的。为具体单个的B/S系统从芯片开始量身订做一整套计算机软硬件系统,使其安全、可靠、高效地运行,长期以来被认为是一件不现实的事情。
近年来, FPGA器件和SOPC嵌入式开发技术的迅速发展为多处理器片上系统的实现提供了灵活的解决方案。利用可配置处理器软核复用的多处理器片上系统,借以实现B/S系统软硬件一体化,已经成为一个值得研究的课题。
本文探讨使用FPGA器件,利用SOPC技术,复用多种软CPU IP核,移植现有的编程模式,在片上构建一个多处理器B/S系统的可行性及实现方法。这种系统不仅效率、处理事务的吞吐率与现有的以通用机为主的B/S系统相当,且其安全性、可靠性更好,成本更为低廉。
该帖子部分内容已隐藏
付费阅读
3积分
设计一个LCD控制器,该控制器基于Altera的SOPC系统,通过SOPC中的Avalon总线接口与Nios II处理器和SDRAM控制器通信,使之能显示640*480分辨率,显示颜色深度达到16bit,输出接口兼容TFT LCD。
该帖子部分内容已隐藏
付费阅读
3积分
该指南将会使你熟悉niosII IDE和MicroC/OS-II开发流程。niosII IDE提供设计者一个充足的niosII开发平台。niosII IDE包含MicroC/OS-II实时操作系统,为设计者提供快速地搭建基于niosII处理器的MicroC/OS-II应用程序的能力。该指南提供了搭建一个基于MicroC/OS-II实时操作系统的简单程序的步骤说明。
基于niosII处理器的MicroC/OS-II操作系统的详细叙述请参阅the Nios II
Software Developer’s Handbook(niosII软件开发手册)的“MicroC/OS-II Real-Time Operating System”(MicroC/OS-II实时操作系统)章节。
该帖子部分内容已隐藏
付费阅读
3积分
可编程软核处理器最大的特点是灵活,灵活到我们可以方便的增加指令,这在其他SOC系统中做不到的,增加用户指令可以把我们系统中用软件处理时耗费时间多的关键算法用硬逻辑电路来实现,大大提高系统的效率,更突出的一点是:我们通过下面的逐步操作会认识到,这是一个听起来高深,其实比较容易实现的功能(我们站在EDA工具这个巨人肩上,风光无限啊:),通过这一文档的介绍可以增强我们掌握NIOS II所有的技术手段的信心,这也是我把NIOS II 用户指令放在最前面的用意。


