该帖子部分内容已隐藏
付费阅读
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,相对于其他两个延迟,可以忽略不计。
该帖子部分内容已隐藏
付费阅读
10积分
利用 FPGA 实现大型设计时,可能需要 FPGA 具有以多个时钟运行的多重数据通路,这种
多时钟 FPGA 设计必须特别小心,需要注意最大时钟速率、抖动、最大时钟数、异步时钟
设计和时钟/数据关系。设计过程中最重要的一步是确定要用多少个不同的时钟,以及如何
进行布线,本文将对这些设计策略深入阐述。
FPGA 设计的第一步是决定需要什么样的时钟速率,设计中最快的时钟将确定 FPGA 必须
能处理的时钟速率。最快时钟速率由设计中两个触发器之间一个信号的传输时间 P 来决定,
如果 P 大于时钟周期 T,则当信号在一个触发器上改变后,在下一个逻辑级上将不会改变,
直到两个时钟周期以后才改变,如图 1 所示。
该帖子部分内容已隐藏
付费阅读
3积分
硬件描述语言
是硬件设计人员和电子设计自动化
工具之间的界面 其主要目的是用来编写设计文件 建立电子系统行为级的仿真
模型 即利用计算机的巨大能力对用
或
建模的复杂数字逻辑进行仿真
然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表 根据
网表和某种工艺的器件自动生成具体电路 然后生成该工艺条件下这种具体电路的延时模
型 仿真验证无误后 用于制造 芯片或写入
和 器件中
在
技术领域中把用
语言建立的数字模型称为软核 把用
建模和综合后生成的网表称为固核
对这些模块的重复利用缩短了开发时间
提高了产品开发率 提高了设计效率
随着 平台上的
工具的发展 平台上的
和
仿真综合性
能已相当优越 这就为大规模普及这种新技术铺平了道路 目前国内只有少数重点设计单
位和高校有一些工作站平台上的
工具 而且大多数只是做一些线路图和版图级的仿
真与设计 只有个别单位展开了利用
和
模型 包括可综合和不可综合
的 进行复杂的数字逻辑系统的设计 随着电子系统向集成化 大规模 高速度的方向发
展
语言将成为电子系统硬件设计人员必须掌握的语言
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
3积分
现代计算机与通讯系统电子设备中广泛使用了数字信号处理专用集成电路,它们主要
用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解
压缩等操作。这些处理工作从本质上说都是数学运算。从原则上讲,它们完全可以用计算
机或微处理器来完成。这就是为什么我们常用 C、Pascal 或汇编语言来编写程序,以研究
算法的合理性和有效性的道理。
在数字信号处理的领域内有相当大的一部分工作是可以事后处理的。我们可以利用通
用的计算机系统来处理这类问题。如在石油地质调查中,我们通过钻探和一系列的爆破,
记录下各种地层的回波数据,然后用计算机对这些数据进行处理,去除噪声等无用信息,
最后我们可以得到地层的构造,从而找到埋藏的石油。因为地层不会在几年内有明显的变
化,因此花几十天的时间把地层的构造分析清楚也能满足要求。这种类型的数字信号处理
是非实时的,用通用的计算机就能满足需要。
还有一类数字信号处理必须在规定的时间内完成,如在军用无线通信系统和机载雷达系统
中我们常常需要对检测到的微弱信号增强、加密、编码、压缩,在接收端必须及时地解压
缩、解码和解密并重现清晰的信号。我们很难想象用一个通用的计算机系统来完成这项工
作,因此,我们不得不自行设计非常轻便小巧的高速专用硬件系统来完成该任务。
有的数字信号处理对时间的要求非常苛刻,以至于用高速的通用微处理器芯片也无法在规
定的时间内完成必须的运算。我们必须为这样的运算设计专用的硬线逻辑电路,这可以在
高速 FPGA 器件上实现或制成高速专用集成电路。这是因为通用微处理器芯片是为一般目的
而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存贮器中,然后在微
处理器芯片控制下,按时钟的节拍,逐条取出指令、分析指令,然后执行指令,直至程序
的结束。微处理器芯片中的内部总线和运算部件也是为通用的目的而设计,即使是专为信
号处理而设计的通用微处理器,因为它的通用性,也不可能为某一个特殊的算法来设计一
系列的专用的运算电路,而且其内部总线的宽度也不能随意改变,只有通过改变程序,才
能实现这个特殊的算法。因而其运算速度就受到限制。
本章的目的是想通过对数字信号处理、计算(Computing)、算法和数据结构、编程语言和
程序、体系结构和硬线逻辑等基本概念的介绍,了解算法与硬线逻辑之间的关系从而引入
利用 Verilog HDL 硬件描述语言设计复杂的数字逻辑系统的概念和方法。向读者展示一种
九十年代才真正开始在美国等先进的工业国家逐步推广的数字逻辑系统的设计方法。借助
于这种方法,在电路设计自动化仿真和综合工具的帮助下,只要我们对并行的计算结构有
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
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
中。
该帖子部分内容已隐藏
付费阅读
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积分
一:建立 niosII 系统。
第一小节:建立项目。
建立一个目录,比如 H:\DB2005\project\niosDK\Example\NiosSmall
启动 QuartusII4.2 软件。
选择 File -> New Project Wizard
在 Diectory,Name,Top-Level Entity 中如下填写,在你自己的项目中,你可以类比着填写:
该帖子部分内容已隐藏
付费阅读
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】。这种模式也使用户摆脱了对控制
器的设计、加工、制作等一系列工作,又使计算机避免了对显示器的繁琐控制。
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
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积分
AXI4-流协议作为一个标准接口,用于连接进行数据交换的组件。接口可以用来连接一个单一的主机,主机向接
收数据的单一从机发送数据。协议也可用于连接若干个主机和从机的组件。协议支持共用一组信号线的多个数据流,
允许构建一个通用互联(generic interconnect),可以执行 upsizing、downsizing 以及路由操作。
AXI4-流接口也支持多种不同的流类型。流协议定义了传输和包之间的关系。
该帖子部分内容已隐藏
该帖子部分内容已隐藏
付费阅读
10积分
AMBA AHB-Lite 是面向高性能的可综合设计,提供了一个总线接口来支持
Master 并提供高操作带宽。
AHB-Lite是为高性能,高频率系统设计的,特性包括:
• Burst传输
• 单边操作
• 非三态
• 宽数据位,包括64、128、256、512和1024位
最普通的 AHB-Lite 从器件是内存器件,外部存储器接口和高带宽外围器件。
虽然低带宽外围器件可以连接到 AHB-Lite,但从系统性能考虑,应 当连接
到 APB 总线上,可以通过 APB 桥接实现。
图 1-1 是一个具有一个 Master 的 AHB-Lite 的系统,包括一个 Master 和三
个 Slave。利用内部逻辑生成了一个地址解码器和一个 Slave-to-Master 多路
转换器。
该帖子部分内容已隐藏
付费阅读
10积分
The UHD HDMI 2.0 Video Format Conversion Design Example requires the
following hardware:
• Intel Arria 10 GX FPGA Development Kit, including the DDR4 Hilo
Daughter Card
• Bitec HDMI 2.0 FMC daughter card (revision 11)
• HDMI 2.0 source that produces up to 3840x2160p60 video without
HDCP encryption
• HDMI 2.0 sink that displays up to 3840x2160p60 video
• Intel recommends the use of VESA certified HDMI 2.0 cables.
The design version requires the following software:
• Windows or Linux OS
• The Intel Quartus Prime Pro Design Suite v20.4 that includes:
— Intel Quartus Prime Pro Edition
— Platform Designer
— Nios II EDS
— Intel FPGA IP Library (including the Video and Image
Processing Suite)
The design only works with this version of Intel Quartus Prime.
该帖子部分内容已隐藏
付费阅读
10积分
1 This specification provides a flexible, low-cost, High-Speed serial interface solution for communication
2 interconnection between components inside a mobile device. Traditionally, these interfaces are CMOS
3 parallel busses at low bit rates with slow edges for EMI reasons. The D-PHY solution enables significant
4 extension of the interface bandwidth for more advanced applications. The D-PHY solution can be realized
5 with very low power consumption.
该帖子部分内容已隐藏
付费阅读
10积分
10
Alliance application or protocol level specifications. This includes the physical interface, electrical interface, 11
low-level timing and the PHY-level protocol. The goal has been to define a C-PHY high-speed interface that 12
can coexist on the same pins as the MIPI D-PHY interface. These functional areas taken together are known 13
as C-PHY.
该帖子部分内容已隐藏
付费阅读
10积分
This specification provides a flexible, low-cost, High-Speed serial interface solution for communication 287
interconnection between components inside a mobile device. Traditionally, these interfaces are CMOS 288
parallel busses at low bit rates with slow edges for EMI reasons. The D-PHY solution enables significant 289
extension of the interface bandwidth for more advanced applications. The D-PHY solution can be realized 290
with very low power consumption.
该帖子部分内容已隐藏
付费阅读
5积分
The Display Serial Interface Specification defines protocols between a host processor and peripheral devices 2 that adhere to MIPI Alliance Specifications for mobile device interfaces. The DSI Specification builds on
3 existing specifications by adopting pixel formats and command set defined in [MIPI02], [MIPI03], and
4 [MIPI01].
该帖子内容已隐藏
该帖子内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子部分内容已隐藏
该帖子内容已隐藏