12.07.2015 Views

Simulator Configuration Guide for Synopsys Models

Simulator Configuration Guide for Synopsys Models

Simulator Configuration Guide for Synopsys Models

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Simulator</strong> <strong>Configuration</strong> <strong>Guide</strong>Chapter 6: Using NC-VHDL with <strong>Synopsys</strong> <strong>Models</strong>AttentionYou can omit steps 5 and 6, below, if you already per<strong>for</strong>med those tasks asdescribed in “Using Smart<strong>Models</strong> with NC-VHDL” on page 109.5. Run the ncshell utility to generate a wrapper <strong>for</strong> the model you want to use:% ncshell -import swift -into vhdl model_mx -nocompile -work slm_libThis step produces in the slm_lib work directory a bit-blasted wrapper file(model_mx.vhd) and a component declaration file (model_mx_comp.vhd) <strong>for</strong> thespecified model.6. Compile the bit-blasted wrapper and component file:% ncvhdl -w slm_lib model_mx.vhd% ncvhdl -w slm_lib model_mx_comp.vhd7. If you want to use a bused wrapper <strong>for</strong> the model, do the following:a. Use the following command to produce a bused wrapper file namedmodel_mx_bw.vhd:% $LMC_HOME/bin/vsg -bit2bus vhdl model_mxb. Edit the model_mx_bw.vhd file to add Library and Use statements to the top ofthe file:LIBRARY SLM_LIB;USE SLM_LIB.smartmodels.all;c. Compile the bused wrapper:% ncvhdl -w slm_lib model_mx_bw.vhdAttentionIf you want to use the bused model wrapper, you must add appropriatecomponent declarations to your testbench or edit a component file alreadyincluded in your testbench <strong>for</strong> multiple SWIFT models, specifying ports andgenerics as required.8. Add LIBRARY and USE statements to your testbench:library slm_lib;use slm_lib.smartmodels.all;use slm_lib.mempro_pkg.all;October 6, 2003 <strong>Synopsys</strong>, Inc. 115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!