微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 通用异步串行接口的VHDL实用化设计

通用异步串行接口的VHDL实用化设计

时间:08-02 来源:互联网 点击:
3.5 同步FIFO的设计

设计中根据收发模块对状态标志要求的不同,分别进行同步FIFO的设计以节约逻辑资源。其中,发送模块的FIFO只需要全空/全满标志,采用地址相等不相等的比较逻辑和地址绕回指示位来产生。具体过程为:地址随着相应的操作递增,写指针由内存的最后位置返回到初始位置时将地址绕回指示位置1,读指针返回时则置0。因此,当读写指针地址相同时,若地址绕回指示位为0,则读写指针经历了相同次数的循环移动, FIFO处于空状态(图4a);若地址绕回指示位为1,则写指针比读指针多循环一次,FIFO处于满状态。

接收模块需要在FIFO中数据量达到一个设定的数值时产生一个中断,由于设定的数值是任意的,这样空/满标记的产生必须使用减法器,消耗的逻辑资源稍大。综合后的逻辑资源使用情况也说明了这点。  

3.6 锁存器的使用

使电路复杂化的常见原因之一是设计中存在许多不必要的锁存器,使得电路复杂,工作速度降低,系统可靠性变差。综合时应该仔细检查是否合理使用了锁存器。由于UART接口的功能特点,设计中共使用了4个锁存器,用来锁存A(2:0)和CSn信号。当UART和CPU总线处在同一个芯片中时,这些锁存器可以用寄存器取代。  

4 综合结果

整个设计以VHDL语言来实现。在SYNOPSYS Design Compiler中使用LSI_10K库,设定系统工作频率为25MHz,其他使用预定的选项,综合后最大路径延时为10.66ns,预期工作频率大于90MHz。资源使用情况如表1所示。  
在XC2V1000-6芯片中,以Synplify为综合工具,则使用了188个寄存器,占用了1%的逻辑资源。最大路径延迟预期9.043ns,预期工作频率110MHz。  

5 仿真与验证

设计中对UART各模块分别撰写了相应的测试程序,验证了各模块的正确性。然后把这些模块装配在一起,在系统级上再进行了接收、发送和中断功能的门级验证。这种模块化分层次的验证过程在调试中有效地缩小了查找错误的范围,提高了调试效率并保证了代码的健壮性。

6 结束语

稳定性和低功耗是嵌入式通信系统的重要设计目标。实现需要的功能有时并不困难,难的是提高系统稳定性和有效降低功耗。时钟的规划和亚稳态的处理与这两个目标有着非常密切的关系,是实用化设计关注的重点之一。通过稳定性、功耗与资源等方面的综合考虑,该设计在所实现的软件无线电硬件平台上得到了成功应用,达到了实用化设计的目标。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top