发信人: siemens() 
整理人: camelsu(2001-01-30 01:30:09), 站内信件
 | 
 
 
---from free-ip.com 
 
 The Free-RAM core is a simple, portable, and parameterized RAM useful  for many applications.  It's key features are:
 
  Portable -- A portable RAM core is essential for writing VHDL code th at can work on many types of FPGA's and ASIC's.  It has been ported to  Xilinx Foundation, Altera Quartus, and ModelTech ModelSIM platforms.   Other platforms will be added.  
  
  Parameterized -- The same entity can be used for any size of RAM.
  
  Automatically uses the most appropriate RAM for the target device (I. E., in a Xilinx Virtex it will automatically switch between LUT based  RAM's and Block Select RAM's).
  
  100% VHDL design makes code management much easier (I.E., version con trol software, archiving, etc).
  
 
 Currently, this core only contains a simple dual port RAM (one read po rt, one write port).  This is the most used type of RAM in FPGA's and  also happens to be the most common denominator among them.  In the fut ure, other types of RAM will be supported, although this type is the m ost portable and the most immediately useful type of RAM.
 
  
 
 Device Dependant Notes
 Xilinx Foundation
 Currently, if a RAM block is less than 2 kbits it will be implemented  with LUT's.  RAM's of 2 kbits and larger will be made using the Block  Select RAM of the Virtex series of FPGA's.  This can be overwritten us ing the block_type flag.
 
 Since the Virtex Block Select RAM only has synchronous read ports, all  async-read port RAM's will be made using LUT's.
 
 This core works with chips other than the Virtex, although care should  be taken when making RAM's of larger than 2 kbits.
 
 There is a bug in the Xilinx Foundation simulator.  The RAM may fail t o simulate properly if using the functional simulation mode.  It appea rs to work properly when using the timing simulator.
 
 Altera Quartus
 This library creates RAM using the embedded system blocks.  
 
 Since Quartus only supports the APEX line of parts, this library has o nly been tested in those.
 
 There is a bug in the Altera Quartus simulator.  It appears that with  some RAM configurations using the functional simulation mode the test  bench will fail.  This doesn't happen when using the timing simulation  mode.
 
 Quartus must be set to use the VHDL-1993 specification.  Do this by se lecting Project/General_Settings from the menu and clicking on the VHD L Input tab.  From there, select VHDL 1993.
 
 Model TECH ModelSIM
 See the Free-IP FAQ regarding special ModelSIM settings.
 
 Other Platforms
 While the Free-RAM core hasn't been tested on other platforms, there a re a couple that it might work fine on.  Specifically:
 
 Altera MAX II+ might work with the Free-RAM core (Quartus version).  
  
 Synplify, from Synplicity, might work with the ModelSIM version of the  RAM core.  
 
  
 
 Tips & Tricks
 Writing portable VHDL code that takes full advantage of the target arc hitecture is difficult and often filled with compromises-- and RAM is  no different.  Here are some tips and tricks that will help you use th e Free-RAM core effectively.
 
  Use synchronous reads, especially on larger (>1kbit) RAM's.  This hel ps with timing issues and makes it possible to use the Xilinx Virtex B lock Select RAM's.
  
  Don't read and write to the same location at the same time.  This may  result in undesired effects.  At the very least the read could give b ad data, but depending on the target device it could result in a bad w rite.
  
  Optimize the RAM size for the expected device, but keep in mind other  devices as well.  The Altera Apex 20K devices has 2kbit RAM blocks, w hile the Xilinx Virtex has 4k bit blocks.  But also remember that Alte ra Apex devices don't have any small RAM blocks (a.la, Xilinx LUT's).
   
  -- -----------EDA IN 21 CENTRY -----------
 无限空间的电子技术资料和自由EDA&工程软件站点
 http://eda.silversand.net
 Personal homesite:   
 thw.163.net  siemens.163.net           
 Business :
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.139.86]
  | 
 
 
 |