摘要:为了在高速采集时不丢失数据,在数据采集系统和CPU之间设置一个数据暂存区。介绍双口RAM的存储原理及其在数字系统中的应用。采用FPGA技术构造双口RAM,实现高速信号采集系统中的海量数据存储和时钟匹配。功能仿真验证该设计的正确性,该设计能减小电路设计的复杂性,增强设计的灵活性和资源的可配置性能.降低设计成本,缩短开发周期。
关键词:双口RAM;FPGA;数据采集;仿真;Veillog HDL
随着电子技术的飞速发展,大量的高速数据采集和在线测试对现代工业测控系统和仪器仪表的功能和性能提更高要求。CPU并行工作(双单片机系统)方式得到广泛应用。为了使2个单片机能够快速有效交换信息,充分利用系统资源,采用双口RAM实现存储器共享是目前较为流行的方法。
大容量、高速FPGA器件具有集成度高、体积小、灵活可重配置、实验风险小等优点,在复杂数字系统中得到越来越广泛的应用。数字电路设计采用l片FPGA器件、存储设备和一些电气接口匹配电路的解决方案已成为主流选择方案。用FPGA来实现双口RAM的功能可以很好地解决并行性和速度问题,而且其灵活的可配置特性使得基于FPGA的双口RAM易于进行修改、测试及系统升级,可降低设计成本,缩短开发周期。
1 双口RAM简介
双口RAM是在1个SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对其进行随机性访问的存储器,即共享式多端口存储器。双口RAM最大的特点是存储数据共享。1个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元。因为数据共享。则必须具有访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配:信令交换逻辑(例如中断信号)等。双口RAM可用于提高RAM的吞吐率,适用于实时数据缓存。
CY7C006A是Cypress公司生产的16 kb×8高速双口静态RAM,存取速度小于20 ns。该器件具有真正的双端口,可以同时进行数据存取,两个端口具有独立的控制信号线、地址线和数据线,另外通过主/从选择可以方便地扩存储容量和数据宽度。通过器件的信号量标志器,左、右两端口可以实现器件资源共享。
2 双口RAM在FPGA中的实现
本设计采用自顶而下的设计思想。选用Xilinx公司的Spartan-6 FPGA器件,基于低功耗45 nm、9-金属铜层、双栅极氧化层工艺技术,提供高级功耗管理技术,150 000个逻辑单元,集成式PCI Express模块,高级存储器支持。250 MHz DSPslice和3.125 Gb/s低功耗收发器。通过Verilog HDL语言对双口RAM功能的描述就能在一片FPGA器件内实现8位16字节的双口RAM,并进行读写操作控制。双口RAM读写操作控制Verilog HDL代码如下:
作者:秦鸿刚 刘京科 吴 迪 煤炭科学研究总院 来源:电子设计工程