实验九:实时延迟控制电路
与测试
一、实验题目
实时延迟控制电路设计与测试
二、实验目的
1. 利用CPLD/FPGA设计实时延迟控制电路
2. 设计用于时域脉冲控制的T/R开关及匹配电路
3. 控制电路的时间延迟及抖动测试
三、实验原理
1、FPGA的基本结构
FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。
可编程输入/输出单元(I/O单元):目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器
与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。
基本可编程逻辑单元:FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。学习底层配置单元的LUT和Register比率的一个重要意义在于器件选型和规模估算。由于FPGA内部除了基本可编程逻辑单元外,还有嵌入式的RAM、PLL或者是DLL,专用的Hard IP Core等,这些模块也能等效出一定规模的系统门,所以简单科学的方法是用器件的Register或LUT的数量衡量。
嵌入式块RAM:目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。CAM,即为
地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。除了块RAM,Xilinx和Lattice的FPGA还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构。
丰富的布线资源:布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:
1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;
2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线(这里不懂什么是“第二全局时钟信号”);
3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线;
4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实布线资源的优化与使用和实现结果有直接关系。
内嵌专用硬核:与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。
2、CPLD的基本结构
CPLD主要由可编程I/O单元、基本逻辑单元、布线池和其他辅助功能模块构成。
可编程逻辑单元:作用与FPGA的基本I/O口相同,但是CPLD应用范围局限性较大,I/O的性能和复杂度与FPGA相比有一定的差距,支撑的I/O标准较少,频率也较低。
基本逻辑单元:CPLD中基本逻辑单元是宏单元。所谓宏单元就是由一些与、或阵列加上触发器构成的,其中“与或”阵列完成组合逻辑功能,触发器用以完成时序逻辑。
与CPLD基本逻辑单元相关的另外一个重要概念是乘积项。所谓乘积项就是宏单元中与阵列的输出,其数量标志了CPLD容量。乘积项阵列实际上就是一个“与或”阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑,在“与”阵列后一般还有一个“或”阵列,用以完成最小逻辑表达式中的“或”关系。
布线池、布线矩阵:CPLD中的布线资源比FPGA的要简单的多,布线资源也相对有限,一般采用集中式布线池结构。所谓布线池其本质就是一个开关矩阵,通过打结点可以完成不同宏单元的输入与输出项之间的连接。由于CPLD器件内部互连资源比较缺乏,所以在某些情况下器件布线时会遇到一定的困难。由于CPLD的布线池结构固定,所以CPLD的输入管脚到输出管脚的标准延时固定,被成为Pin to Pin延时,用Tpd表示,Tpd延时反映了CPLD器件可以实现的最高频率,也就清晰地表明了CPLD器件的速度等级。
其他辅助功能模块: 如JTAG编程模块,一些全局时钟、全局使能、全局复位/置位单元等。
表9-1:FPGA与CPLD的比较:
项目
FPGA
CPLD
备注
触发器数量
多
少
FPGA更适合实现时序逻辑,CPLD多用于实现组合逻辑
结构工艺
多为LUT加寄存器结构,实现工艺多为SRAM,也包含Flash、Anti-Fuse等工艺
多为乘积项,工艺多为E
CMOS,也包含E
PROM、Flash、Anti-
Fuse等不公工艺
Pin to Pin延时
不可预测
固定
规模与逻辑复杂度
规模大,逻辑复杂度高
规模小,逻辑复杂度低
FPGA用以实现复杂设计,CPLD用以实现简单设计
成本与价格
成本高,价格高
成本低,价格低
CPLD用于实现低成本设计
编程与配置
外挂BootRom和通过CPU或者DSP等在线编程。多数基本输入RAM型,掉电程序丢失
通过编程器烧写ROM,另外一种是通过ISP模式。一般为ROM型,掉电程序不丢失
FPGA掉电后一般失去原有逻辑配置,而反熔丝工艺的FPGA,如Actel的某些器件族和目前的一些内嵌Flash或E
CMOS的FPGA,
如Lattice的XP器件族,可以实现非易失配置方式
保密性
保密性差
好
一般FPGA不容易实现加密
互联结构,连线资源
分布式,丰富的布线资源
集总式,相对布线资源有限
FPGA布线灵活,但是时序更难规划,一般需要通过时序约束、静态时序约束、时序仿真等手段提高并验证时序性能
适用的设计类型
复杂的时序设计
简单的逻辑设计
3、Quartus Ⅱ 设计方法以及
,VHDL语言
一般来说,完整的FPGA/CPLD设计流程包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、版级仿真与调试等主要步骤,如下图所示:
图9.1、FPGA/CPLD设计流程
(1) 电路设计与输入
电路设计与输入是指通过默写
的描述方式,将工程师电路构思输入给EDA工具。常用的设计输入法有硬件描述语言(HDL)和原理图设计输入法等。原理图设计输入法在早期应用得比较广泛,它根据设计要求,选用器件、绘制原理图、完成输入过程。目前惊醒大型工程设计时,最常用的设计方法是HDL设计输入法,其中影响最为广泛的是HDL语言是VHDL和Verilog HDL。它们的共同特点是利于由顶向下设计,利于模块的划分和复用,可移植性好,通用性好,设计不因芯片的工艺和结构的不同而变化,更利于ASIC的移植。
(2) 功能仿真
功能仿真有时也被称为前仿真,通过仿真能发现设计中的错误,加快设计速度,提高设计的可靠性。
(3)综合优化
综合优化是指将HDL语言、原理图等设计输入翻译成由与、或、非门以及RAM和触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所产生的逻辑连接,输出edf很edn等标准格式的网表文件,供FPGA/CPLD厂家的布局布线器进行实现。
(4)综合后仿真
综合完成后需要检查综合结果是否与原设计一直,叫做综合后仿真。在仿真时,吧综合生成的标准延时文件反标注到仿真模型中去,可估计门延时带来的影响。综合后仿真肃然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结果与部先后的实际情况还有一定的差距,并不十分准确。
(5)实现与布局布线
综合结果的本质是一些有与、或、非门以及RAM和触发器等基本逻辑单元组成的逻辑网表,它与芯片的实际的配置情况还有比较大的差距。此时应该使用FPGA/CPLD厂商提供的软件工具,根据所选型号,将综合输出的逻辑网表适配到具体FPGA/CPLD器件上。
(6)时序仿真与验证
将布局布线的时延信息反标注到设计网表中,所进行的仿真叫时序仿真或布局布线后仿真。布局布线之后生成的仿真时延文件包含的时延信息最全,步进包含门延时,同时也包含布线延时,所以布线后仿真最准确,能较好地反映芯片的实际工作情况。
(7)版级仿真与验证
(8)调试与加载配置
FPGA/CPLD常用EDA开发工具Quartus Ⅱ——自下而上的渐进式编译流程
在自下而上的渐进式编译设计流程中,可以独立设计和优化每个模块,在顶层设计中集成所有已优化的模块,然后验证总体设计。每个模块具有单独的网表,在综合和优化之后可以将它们整合在顶层设计中。在顶层设计中,每个模块都不影响其它模块的性能。一般基于模块的设计流程可以在模块化、分层、渐进式和团队设计流程中使用。可以在基于模块的设计流程中使用EDA设计输入和综合工具,设计和综合各个模块,然后将各模块整合到Quartus II软件的顶层设计中,也可以在EDA设计输入和综合工具中完整地进行设计,综合基于模块的设计。
3. 信号抖动的测量方法,产生机制以及减小抖动的方法
应用在冲击雷达阵列的脉冲信号抖动会导致源信号相位发生变化,导致方向图、接受波形畸变,应用在探测上的脉冲信号抖动会导致距离,以及障碍物特性误判等。一般来说,脉冲抖动是由以下几种抖动源叠加的结果:
(1) 产生脉冲器件的自身噪声
(2) 外界噪声干扰
(3) 电源噪声以及地弹噪声
(4) 触发信号源抖动
信号抖动的测量指标有:Period Jitter (周期抖动),Cycle to Cycle Jitter (周期间抖动), TIE (时间间隔误差)三种
1).Period Jitter
周期性抖动测量主要是针对时钟信号,它测量实时时钟的每一个周期,然后对实际时钟周期进行数据统计,最后根据概率统计,给出该时钟周期大小的分布规律,此测量将显示信号的整体质量。测量Period Jitter必须指定一定的采样周期数,不同的周期数,抖动的PK-PK值是不同的,JEDEC要求的采样数最少为10000个。测量统计过程如下图所示:
图9.2、信号周期抖动示意图
2).Cycle to Cycle Jitter
Cycle to Cycle Jitter 是测量任意两个相邻周期间信号的周期变化量,通周期性抖动一样,测量周期间抖动也必须指定一定的周期数才能确定抖动的锋-锋值,JEDEC中要求最少采样1000个周期。测量统计过程如下图所示:
图9.3 信号周期间抖动示意图
3). TIE
TIE是通过使用参考时钟或时钟恢复提供理想边沿,据此来测量时钟或者数据的每个有效边沿与理想位置的差距。TIE在通信系统中尤为重要,因为它显示了一段时间内抖动的趋势。
在实际测量中,我们经常会遇到RMS Jitter指标,实际上,RMS就是Root Mean Square(均方根),它等于概率分布密度函数的标准方差σ。
9-1
其中,
,对于同时抖动的RMS值一般为pk-pk值的1/7。
抖动的测量可以通过数字存储示波器。
· 采用数字存储示波器的等效采样模式或直接使用采样示波器,通过直方图统计测量定时抖动。等效采样的缺点是无法消除示波器自身的触发抖动对测试结果的影响,并且由于它采用的是多次触发、多次采集、累计显示的工作方式,对于电路设计和调试而言受到较多的限制,无法进行深层的抖动分析。
· 更为流行的方法是采用数字存储示波器的实时捕获模式,单次触发,连续采集大量数据,配合相应的抖动测试软件进行抖动测试。对比于等效采样方法它消除由于示波器自身的触发抖动对测试结果造成的影响,并且能够进行复杂的抖动分析和抖动分解得到每一个抖动分量,帮助设计和测试人员分析抖动产生的原因,甚至通过抖动分解估算系统的误码率。
抖动的抑制
(1)完整的地平面
(2)电源去耦
(3)减小串扰
(4)屏蔽
四、实验样品设计
(1)CPLD或FPGA及可编程延时芯片设计一套高精度时序控制电路。
(2)利用设计的时序控制电路,结合高速T/R开关,设计4套纳秒脉冲控制电路(结合试验八种给出的4种信号源设计相应的控制电路)
五、实验器材
七、注意事项
(1)电源电压不要超过脉冲源的额定工作电压
(2)衰减器不要反接
(3)测试量程不要超过频谱仪和信号分析仪的量程
八、实验总结
(1)提交样品设计
(2)提交具有测试数据及结果分析的试验报告
九、参考文献
[1] Inder Bahl,Prakash Bhartia著,郑新等译.微波固态电路设计(第二版).北京:电子工业出版社,2006:304-307
[2] Donald H.Neamen,赵毅强,姚素英,解晓东(译).半导体物理与器件(第3版).北京:电子工业出版社,2010:223-226,232-244
[3] 刘恩科,朱秉升,罗晋生. 半导体物理学(第7版). 北京:电子工业出版社, 2008:208-209,209-213,230
[4] 汤普森(Thompson,M.T.),张乐锋等译.实用模拟电路设计.北京:人民邮电出版社,2009:54
[5] 喻梦霞,李桂萍. 微波固态电路.成都:电子科技大学出版社,2008:162-164
任意波形发生器
(N8242A)
图9.4 实时延迟控制电路测试示意图
待测控制电路
宽带信号分析仪
(DSO7104B)
待测控制电路
任意波形发生器
(N8242A)
射频信号分析仪
(N9010A)
图9.5 实时延迟控制电路测试示意图
_1387439511.unknown
_1387454833.unknown
_1387454901.unknown
_1387439528.unknown
_1387437322.vsd
�
�
系统设计电路构思�
电路设计与输入(HDL、原理图、波形、状态机)�
功能仿真是否正确�
综合仿真后是否正确�
综合优化�
实现与布局布线�
加载配置
在线调试�
布局布线后仿真
与验证是否正确�
是否为
实现问题�
版级仿真与验证
是否正确�
是否为
综合优化
的问题�
Y
N
Y
Y
Y
Y
Y
N
N
N
N
N