FPGARAM,,(,710054):,CPU。RAM。FPGARAM,。,,,,。:RAM;FPGA;;;VerilogHDL:TP39:A1674-6236(2010)02-0072-03Implementationandapplicationofdual-portRAMbasedonFPGAQINHong-gang,LIUJing-ke,WUDi(Xi′anBranchofChinaCoalResearchInstitute,Xi′an710054,China)Abstract:Inordertonotlosedatainhigh-speeddataacquisition,adatabufferissetbetweenthedataacquisitionsystemandCPU.ThispaperdescribesthestorageprincipleandapplicationofdualportRAMindigitalsystem.Thedual-portRAMisconstructedwiththeFPGAtechnology,whichrealizesmassdatasavingandclockmatchinginthehighspeedsignalacquisitionsystem.Thefunctionsimulationresultsprovethecorrectnessofthedesign.Thedesignreducesthecomplexityofcircuitdesign,andenhancesdesignflexibilityandconfigurabilityofresources,reducesthedesigncostandshortensthedevelopmentcycle.Keywords:dual-portRAM;FPGA;dataacquisition;simulation;VerilogHDL,。CPU()。2,,RAM。、FPGA、、、,[1]。1FPGA、。FPGARAM,FPGARAM、,,。1RAMRAM1SRAM、,,。RAM。1、,CPU。,。:;;()。RAMRAM,。CY7C006A[2]Cypress16kb×8RAM,20ns。,,、,/。,、。2RAMFPGA。XilinxSpartan-6FPGA,45nm、9-、,,150000,PCIExpress,,250MHzDSPslice3.125Gb/s。VerilogHDLRAMFPGA816RAM,[3-4]。RAMVerilogHDL:`defineDEL1`defineRAM_WIDTH8:2009-08-06:200908007:(1983—),,,。:。20102Feb.2010182Vol.18No.2ElectronicDesignEngineering7272--,FPGARAM`defineRAM_DEPTH16`defineADDR_SZ4moduleDual(clk,data_in,rd_address,read,data_out,wr_address,write);inputclk;input[`RAM_WIDTH-1:0]data_in;input[`ADDR_SZ-1:0]rd_address;inputread;input[`ADDR_SZ-1:0]wr_address;inputwrite;output[`RAM_WIDTH-1:0]data_out;wireclk;wire[`RAM_WIDTH-1:0]data_in;wire[`ADDR_SZ-1:0]rd_address;wireread;wire[`ADDR_SZ-1:0]wr_address;wirewrite;reg[`RAM_WIDTH-1:0]data_out;reg[`RAM_WIDTH-1:0]mem[`RAM_DEPTH-1:0];always@(posedgeclk)beginif(write)mem[wr_address]=#`DELdata_in;if(read)data_out=#`DELmem[rd_address];endendmodule1RAMVerilogHDLXilinxISE。XilinxMod-elsimXE6.2c,2,。XilinxISE,,FPGA,RAM。FPGA,RAM。,。3FPGARAMRAM[3-7]。,。,DSP。RAM。,RAM、。(、、、),FPGADSP。FPGA,,FPGA、,,。[8-10],。、,,RAM,。1,FPGARAM,A/D,RAM。RAM,,PC。3。,,FPGA,,0,A/D8RAM,ADC0809FPGA,FPGA1,。0.1ms,。FPGA0。0.1ms,FPGA0~7,7,FPGAA/D,0.1ms。PC,PCRAM,。RAM2、,。RAM,FPGACPU,CPU,,,CPU。RAMFPGA,CPURAM,。FP-12RAM37373--GARAM、,,,。4FPGAVerilogHDL,FPGARAM,FPGARAM,,。,,。:[1],.XilinxISE9.xFPGA/CPLD[M].:,2007.[2]Cypress.CY7C006A/CY7C007A/CY7C016A/CY7C017ADatasheet[EB/OL].2009.=1249349381384.[3],,.VerilogHDL[M].:,2006.[4],.FPGA[J].,2004(6):200-201.[5],.RAM[J].,2004(5):22-24.[6].RAM[J].,2001(3):24-26.[7],.RAM[J].,2005,13(4):20-23.[8],.[M].:,2007.[9],.FPGARAM[J].,2007(23):223-225.[10].—[M].3.:,1999.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!AtherosCommunications,Inc.AtherosWLAN(AtherosRadio-on-ChipforMobile/ROCm)AR6133。11nWLAN3.0,、、(SDIO)。—ROCm11nAR6003。AR600311n,AR6133,11n。Wi-Fi3.0+HighSpeed(Bluetooth3.0+HS),。,AR6133AtherosWi-Fi,DirectConnectAPMode。85Mb/s,AR6133。,AR6133。Wi-Fi、、。11n,AtherosDirectConnect。,、。“3.0+”“+”AR6133。AR6003,AR6133,(EfficientPowerAmplifierEPA)、(PMU)、,EEPROM。,Wi-Fi,。AR6133、SDIOWi-Fi,,。AR6133(restofbillofmaterials/RBOM),,(PAN)。AtherosUniversalWirelessCooperation,AR6133,。Atheros/(WLAN/BluetoothCoexis-tenceAgent),AR6133。AR61338.3mm×9.2mm(1.0mm),64QFN。SDIO11n,AR6103WLAN。AR6133AR6103,,。AtherosAR6133AR6103ROCm。WLANAR6133:201002104《》201027474--