MT29FxxG08xx

所属分类:VHDL/FPGA/Verilog
开发工具:VHDL
文件大小:90KB
下载次数:195
上传日期:2009-10-10 16:58:59
上 传 者shield2012
说明:  MT的NAND FLASH MT29FxxG08xx系列的Verilog仿真模型,包含详细说明,试验证明,非常准确。
(MT of the NAND FLASH MT29FxxG08xx series of Verilog simulation model, contains a detailed description, testing proved very accurate.)

文件列表:
MT29FxxG08xx\nand_defines.vh (3853, 2009-01-14)
MT29FxxG08xx\nand_die_model.v (223696, 2009-04-16)
MT29FxxG08xx\nand_die_model.v.bak (228414, 2009-02-16)
MT29FxxG08xx\nand_model.v (14317, 2009-02-16)
MT29FxxG08xx\nand_parameters.vh (26970, 2009-02-13)
MT29FxxG08xx\subtest.vh (915, 2008-06-19)
MT29FxxG08xx\tb.do (2095, 2008-06-19)
MT29FxxG08xx\tb.v (56503, 2009-02-16)
MT29FxxG08xx (0, 2009-04-16)

Disclaimer of Warranty: ----------------------- This software code and all associated documentation, comments or other information (collectively "Software") is provided "AS IS" without warranty of any kind. MICRON TECHNOLOGY, INC. ("MTI") EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, NONINFRINGEMENT OF THIRD PARTY RIGHTS, AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. MTI DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE. FURTHERMORE, MTI DOES NOT MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE REMAINS WITH YOU. IN NO EVENT SHALL MTI, ITS AFFILIATED COMPANIES OR THEIR SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR SPECIAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF YOUR USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF MTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Because some jurisdictions prohibit the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. Copyright 2008 Micron Technology, Inc. All rights reserved. Getting Started: ---------------- Unzip the included files to a folder. Compile nand_model.v, nand_die_model.v, and tb.v using a verilog simulator. Simulate the top level test bench tb. Or, if you are using the ModelSim simulator, type "do tb.do" at the prompt. File Descriptions: ------------------ nand_model.v -structural wrapper for nand_die_model nand_die_model.v -nand model of a single die nand_defines.vh -file used to generate correct port maps for nand_model instanciation. nand_parameters.vh -file that contains all parameters used by the model readme.txt -this file tb.v -nand model test bench tb.do -compiles and runs the nand_model and test bench Defining the Operating Voltage: ------------------------------- The verilog compiler directive "`define" may be used to choose between multiple operating voltages supported by the nand model. Valid operating voltages include V18, and V33, and are listed in the nand_parameters.vh file. The operating voltage is used to select the timings associated with the nand model. The following are examples of defining the operating voltage. simulator command line --------- ------------ ModelSim vlog +define+V33 nand_die_model.v NC-Verilog ncverilog +v2k +define+V33 nand_die_model.v VCS vcs +v2k +define+V33 nand_die_model.v Defining the Width: -------------------------- The verilog compiler directive "`define" may be used to choose between multiple widths supported by the nand model. Valid widths include x8, and x16, and are listed in the nand_parameters.vh file. The width is used to select the amount of memory and the port sizes of the nand model. The following are examples of defining the width. simulator command line --------- ------------ ModelSim vlog +define+x8 nand_die_model.v NC-Verilog ncverilog +v2k +define+x8 nand_die_model.v VCS vcs +v2k +define+x8 nand_die_model.v Defining the Classification: ------------------------- The verilog compiler directive "`define" may be used to choose between multiple part classifications supported by the nand model. Allowable classifications are listed in the nand_parameters.vh file and begin with the letter "A". The classification is used to set the NUM_DIE, NUM_CE, and NUM_RB parameters in nand_die_model. The following are examples of defining the classification. simulator command line --------- ------------ ModelSim vlog +define+CLASSD nand_die_model.v NC-Verilog ncverilog +v2k +define+CLASSD nand_die_model.v VCS vcs +v2k +define+CLASSD nand_die_model.v All combinations of classification are considered valid by the nand model even though a Micron part may not exist for every combination. Allocating Memory: ------------------ An associative array has been implemented to reduce the amount of static memory allocated by the nand model. The size of each entry in the associative array is determided by the width (x8 or x16). The number of entries in the array is controlled by the NUM_ROW parameter, and is equal to NUM_ROW*NUM_COL. For example, if the NUM_ROW parameter is equal to 10, the associative array will be large enough to store 10*NUM_COL writes to unique addresses. The following are examples of setting the NUM_ROW parameter to 8. simulator command line --------- ------------ ModelSim vsim -GNUM_ROW=8 nand_model NC-Verilog ncverilog +v2k +defparam+nand_die_model.NUM_ROW=8 nand_die_model.v VCS vcs +v2k -pvalue+NUM_ROW=8 nand_die_model.v It is possible to allocate memory for every address supported by the nand model by using the verilog compiler directive "`define FullMem". This procedure will improve simulation performance at the expense of system memory. The following are examples of allocating memory for every address. Simulator command line --------- ------------ ModelSim vlog +define+FullMem nand_die_model.v NC-Verilog ncverilog +v2k +define+FullMem nand_die_model.v VCS vcs +v2k +define+FullMem nand_die_model.v Reduced Reset Timing: --------------------- In order to reduce simulation time due to Power-On-Reset and Soft-Reset, the nand model has a define called "SHORT_RESET" simulator command line --------- ------------ ModelSim vlog +define+SHORT_RESET nand_die_model.v NC-Verilog ncverilog +v2k +define+SHORT_RESET nand_die_model.v VCS vcs +v2k +define+SHORT_RESET nand_die_model.v Sync Mode Nand Interface define for interface selectable models: --------------------- Some Nand parts support both async only interfaces and sync/async interfaces in the same Nand part. The Part Number Chart in the Nand spec is used to select which interface will be used by the part. Because the same Nand part supports both interfaces, the nand model related to that part needs to be able to determine which of the two interfaces are to be used by the nand model in simulation. "NAND_SYNC" is the define that the model uses to make that determination. "NAND_SYNC" creates the needed ports in the Nand Model declaration for the synchronous interface. For async only interfaces, do not "define" "NAND_SYNC". For sync/async interfaces, "define" "NAND_SYNC". Parts/models that do not support both interfaces (have no interface definition or only have one interface definition in the part number chart, i.e synchronous/asynchronous mode (but not having the selection to be async only also), already have the correct settings of "NAND_SYNC", the user should not use this define in this case. This does not switch the nand model from asynchronous mode to synchronous mode. The user will need to switch from async mode to sync mode as normally explained in the spec. simulator command line --------- ------------ ModelSim vlog +define+NAND_SYNC nand_die_model.v NC-Verilog ncverilog +v2k +define+NAND_SYNC nand_die_model.v VCS vcs +v2k +define+NAND_SYNC nand_die_model.v

近期下载者

相关文件


收藏者