• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > Virtex-5FPGA设计Gbps无线通信基站

Virtex-5FPGA设计Gbps无线通信基站

录入:edatop.com     点击:

数据发送前先发送1表示等待数据的到来。等待16个clk16x之后,先发送一个1,再过16个clk16x之后,发送起始位0;以后每过16个clk16x,发送一位数据,直到数据发送完。16个clk16x用计数器设计,数据发送用状态机实现。为了避免时序问题以及保证可测试性,采用单时钟沿同步触发,在15个clk16x到来时,将clk1x置1,在下一个clk16x时钟的上升沿到来后发送一位数据,由于clk1x为高电平持续时间为一个clk16时钟周期,也就是在clk1x的下降沿把一位数据发送出去。即 
always@(posedge clk16x)
…………
if(clk1x==1)
…………

图3给出发送模块的仿真波形。由波形可以看出,当输入的并行数据是70H,串行输出正确,其中state、reset、clk1 x、flag和dout分别是状态机、 复位信号、使异步的时钟同步、数据发送出去的标志和串行数据输出,而div8和ask分别是4位计数器和中断请求信号。

图3 发送模块的仿真波形

3 UART 核的仿真、验证与综合、优化

3.1 UART 核的仿真和验证

UART的功能仿真与验证通过测试平台(testbench)使用SYNOPSYS软件的VCS工具,其流程如图4所示[5]。接收和发送数据的正确性已通过图2和3所示仿真波形验证了。

图4 基于testbench 的仿真流程

3.2 UART 核的综合、优化

3.2.1 综合存在的问题

一般在UART设计中,采用多时钟,电平触发,并且判断数据的起始和停止采用额外的存储器或计数器,这必然给验证和综合优化带来时序上的问题,同时会产生毛刺和亚稳态,使得电路设计不够完善。

3.2.2 毛刺的解决

在通常的UART设计中存在组合逻辑,当输入的信号由高电平变低电平而其它某个信号由低电平变高电平时,由于在信号变化的瞬间,组合逻辑的输出并非同时变化,而是有先后之分,将导致输出出现尖脉冲,即产生毛刺。本文采用时钟沿(上升沿)触发,即将组合逻辑输出端通过加到寄存器后输出,从而避免毛刺的产生。

3.2.2 多时钟与亚稳态的解决

在通常的UART设计中,由于CPU时钟与UART的数据接收、发送时钟是处在不同的时钟域,时钟频率和相位上存在差异,导致时序不能满足建立时间和保持时间的要求,即数据的输出处于不确定状态,从而出现时序违反(slack<0)和亚稳态。本文通过采用同步电路设计,有效地解决时序和亚稳态的问题[6][7]。

3.2.3 UART 核的综合与优化

通过对RTL级进行优化,再仿真验证正确后,可以对UART核进行综合优化。本文采用SYNOPSYS软件的design compile进行综合优化,利用tcl(tool command language)语言编写综合优化的脚本。采用0.35um的工艺,将时钟周期设置为5ns,在满足时序(slack>0)的基础上经过综合优化,生成的时序、功耗、面积等参数如表1所示,优化后的功耗和面积满足了ASIC/SoC的要求。

表1 接收/发送模块综合得出的功耗、面积、时序等参

4 结束语

本文利用SYNOPSYS软件设计IP核,更适合用于ASIC/SoC设计,而采用传统的EDA软件实现的则适合用在FPGA上,不适合用来做掩膜生成ASIC/SoC。本UART核的逻辑设计采用VerilogHDL语言,用状态机和移位寄存器设计使整个设计的时序清晰,同时减少了接收模块停止位的判断,通过对RTL级优化避免了毛刺、亚稳态、多时钟等问题,仿真和验证采用的是SYNOPSYS软件的VCS,通过对时序、功耗、面积的综合考虑,最后通过SYNOPSYS软件的design compile 综合优化完成的IP 核可成功应用到ASIC/SoC 设计上。

本文作者创新点是利用SYNOPSYS软件设计IP核,适合直接应用到ASIC/SoC设计中,并对RTL级做了优化,消除了在UART设计中碰到毛刺、亚稳态、多时钟等问题;通过测试平台(testbench)来仿真和验证,RTL 代码精简,时序、面积和功耗都做了优化,达到了IP核的要求。

来源:中国IT实验室

上一篇:介绍LabVIEW无线传感器网络(WSN)模块先锋
下一篇:Linear 4G无线通信系统的RF解决方案

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图