Libero SoC ਸਿਮੂਲੇਸ਼ਨ
ਲਾਇਬ੍ਰੇਰੀ ਸੈੱਟਅੱਪ ਨਿਰਦੇਸ਼
ਜਾਣ-ਪਛਾਣ
ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਉਦੇਸ਼ ਇੰਪੁੱਟ ਦੇ ਤੌਰ 'ਤੇ Libero SoC ਪ੍ਰੋਜੈਕਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨ ਵਾਤਾਵਰਣ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦਾ ਵਰਣਨ ਕਰਨਾ ਹੈ। ਇਹ ਦਸਤਾਵੇਜ਼ Libero SoC v11.9 ਅਤੇ ਨਵੇਂ ਸਾਫਟਵੇਅਰ ਰੀਲੀਜ਼ਾਂ ਦੇ ਨਾਲ ਵਰਤਣ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਪੂਰਵ-ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵੇਰੀਲੌਗ ਲਈ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। VHDL ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਮਿਕਸਡ-ਮੋਡ ਸਿਮੂਲੇਸ਼ਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਵਾਲੇ ਲਾਇਸੈਂਸ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਸੰਕਲਿਤ ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹੇਠਾਂ ਦਿੱਤੇ ਟੂਲਸ ਲਈ ਉਪਲਬਧ ਹਨ:
- Aldec ਐਕਟਿਵ-HDL
- Aldec Riviera-PRO
- ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਅਤੇ ਐਕਸੇਲੀਅਮ
- ਸੀਮੇਂਸ ਕੁਏਸਟਾਸਿਮ
- Synopsys VCS
ਇੱਕ ਵੱਖਰੇ ਸਿਮੂਲੇਟਰ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ, ਸੰਪਰਕ ਕਰੋ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨੀਕੀ ਸਹਾਇਤਾ.
Libero SoC ਏਕੀਕਰਣ
Libero SoC ਇੱਕ run.do ਬਣਾ ਕੇ ModelSim ME ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ file. ਇਹ file ਮਾਡਲਸਿਮ ME/ModelSim Pro ME ਦੁਆਰਾ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਸੈਟ ਅਪ ਕਰਨ ਅਤੇ ਚਲਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਹੋਰ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਸੀਂ ModelSim ME/ModelSim Pro ME run.do ਬਣਾ ਸਕਦੇ ਹੋ ਅਤੇ Tcl ਸਕ੍ਰਿਪਟ ਨੂੰ ਸੋਧ ਸਕਦੇ ਹੋ। file ਉਹਨਾਂ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਜੋ ਤੁਹਾਡੇ ਸਿਮੂਲੇਟਰ ਦੇ ਅਨੁਕੂਲ ਹਨ।
1.1 Libero SoC Tcl File ਪੀੜ੍ਹੀ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
Libero SoC ਵਿੱਚ ਡਿਜ਼ਾਈਨ ਬਣਾਉਣ ਅਤੇ ਤਿਆਰ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਾਰੇ ਡਿਜ਼ਾਈਨ ਪੜਾਵਾਂ (ਪ੍ਰੀਸਿੰਥ, ਪੋਸਟਸਿੰਥ, ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ) ਦੇ ਤਹਿਤ ਇੱਕ ModelSim ME/ModelSim Pro ME ਸਿਮੂਲੇਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ। ਇਹ ਕਦਮ run.do ਤਿਆਰ ਕਰਦਾ ਹੈ file ਹਰੇਕ ਡਿਜ਼ਾਈਨ ਪੜਾਅ ਲਈ ModelSim ME/ModelSim Pro ME ਲਈ।
ਮਹੱਤਵਪੂਰਨ: ਹਰੇਕ ਸਿਮੂਲੇਸ਼ਨ ਰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਸਵੈ-ਤਿਆਰ ਕੀਤੇ run.do ਦਾ ਨਾਮ ਬਦਲੋ file Libero SoC ਨੂੰ ਓਵਰਰਾਈਟ ਕਰਨ ਤੋਂ ਰੋਕਣ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅਧੀਨ file. ਸਾਬਕਾ ਲਈampਲੈ, ਦਿ files ਦਾ ਨਾਮ ਬਦਲ ਕੇ presynth_run.do, postsynth_run.do ਅਤੇ postlayout_run.do ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਐਕਟਿਵ-ਐਚਡੀਐਲ ਅਤੇ ਰਿਵੇਰਾ-ਪ੍ਰੋ ਲਈ ਐਲਡੇਕ ਸੈੱਟਅੱਪ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਭੱਜੋ file ModelSim ME/ModelSim Pro ME ਦੁਆਰਾ ਵਰਤੀ ਜਾਂਦੀ Aldec ਸਿਮੂਲੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਸ਼ੋਧਿਤ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ।
2.1 ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਆਪਣੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਆਪਣੇ ਲਾਇਸੈਂਸ ਲਈ ਸੈੱਟ ਕਰੋ file ਟਿਕਾਣਾ:
LM_LICENSE_FILE: ਲਾਇਸੈਂਸ ਸਰਵਰ ਲਈ ਇੱਕ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
2.2 ਕੰਪਾਇਲਡ ਲਾਇਬ੍ਰੇਰੀ ਡਾਊਨਲੋਡ ਕਰੋ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕ੍ਰੋਚਿੱਪ ਤੋਂ ਐਲਡੇਕ ਐਕਟਿਵ-ਐਚਡੀਐਲ ਅਤੇ ਐਲਡੇਕ ਰਿਵੇਰਾ-ਪ੍ਰੋ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰੋ webਸਾਈਟ.
2.3 Aldec ਸਿਮੂਲੇਸ਼ਨ ਲਈ run.do ਨੂੰ ਬਦਲਣਾ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਭੱਜੋ fileਐਕਟਿਵ-ਐਚਡੀਐਲ ਅਤੇ ਰਿਵੇਰਾ-ਪ੍ਰੋ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਇੱਕ ਸਿੰਗਲ ਬਦਲਾਅ ਨਾਲ ਐਕਟਿਵ-HDL ਅਤੇ ਰਿਵੇਰਾ-ਪ੍ਰੋ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਹੇਠ ਦਿੱਤੀ ਸਾਰਣੀ ModelSim run.do ਵਿੱਚ ਸੋਧਣ ਲਈ Aldec-ਬਰਾਬਰ ਕਮਾਂਡਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦੀ ਹੈ। file.
ਸਾਰਣੀ 2-1. Aldec ਬਰਾਬਰ ਕਮਾਂਡਾਂ
ਮਾਡਲਸਿਮ | ਕਿਰਿਆਸ਼ੀਲ-HDL |
vlog | ਅਲਗ |
vcom | acom |
vlib | ਅਲਿਬ |
vsim | ਅਸੀਮ |
vmap | amap |
ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈampਐਲਡੇਕ ਸਿਮੂਲੇਟਰਾਂ ਨਾਲ ਸੰਬੰਧਿਤ le run.do.
- ਮੌਜੂਦਾ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਦਾ ਸਥਾਨ ਸੈੱਟ ਕਰੋ।
dsn ਸੈੱਟ ਕਰੋ - ਇੱਕ ਕਾਰਜਸ਼ੀਲ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਨਾਮ ਸੈਟ ਕਰੋ, ਇਸਦੇ ਸਥਾਨ ਦਾ ਨਕਸ਼ਾ ਬਣਾਓ, ਅਤੇ ਫਿਰ ਮਾਈਕ੍ਰੋਚਿੱਪ FPGA ਪਰਿਵਾਰ ਦੀ ਸਥਿਤੀ ਦਾ ਨਕਸ਼ਾ ਬਣਾਓ
ਪ੍ਰੀ-ਕੰਪਾਈਲਡ ਲਾਇਬ੍ਰੇਰੀਆਂ (ਉਦਾਹਰਨ ਲਈample, SmartFusion2) ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਆਪਣਾ ਡਿਜ਼ਾਈਨ ਚਲਾ ਰਹੇ ਹੋ।
ਅਲਿਬ ਪ੍ਰੀਸਿੰਥ
amap presynth presynth
amap SmartFusion2 - ਸਾਰੇ ਲੋੜੀਂਦੇ HDL ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ files ਨੂੰ ਲੋੜੀਂਦੀ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਨਾਲ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
alog -work presynth temp.v (ਵੇਰੀਲੌਗ ਲਈ)
alog-work presynth testbench.v
acom -work presynth temp.vhd (Vhdl ਲਈ)
acom -work presynth testbench.vhd - ਡਿਜ਼ਾਈਨ ਦੀ ਨਕਲ ਕਰੋ.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us ਚਲਾਓ
2.4 ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦੇ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਇਹ ਭਾਗ ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦਿਆਂ ਅਤੇ ਸੀਮਾਵਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ।
- Riviera-PRO ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਪਲੇਟਫਾਰਮ ਵਿਸ਼ੇਸ਼ ਹਨ (ਜਿਵੇਂ ਕਿ 64-ਬਿੱਟ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ 32-ਬਿੱਟ ਪਲੇਟਫਾਰਮ 'ਤੇ ਨਹੀਂ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਇਸਦੇ ਉਲਟ)।
- SERDES/MDDR/FDDR ਵਾਲੇ ਡਿਜ਼ਾਈਨਾਂ ਲਈ, ਆਪਣੇ run.do ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰੋ files ਉਹਨਾਂ ਦੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਂਦੇ ਹੋਏ:
- ਐਕਟਿਵ-HDL: ਅਸੀਮ -o2
- ਰਿਵੇਰਾ-ਪ੍ਰੋ: ਅਸੀਮ -ਓ2 (ਪ੍ਰੀਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ) ਅਤੇ ਅਸੀਮ -ਓ5 (ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ)
Active-HDL ਅਤੇ Riviera-Pro ਲਈ Aldec ਸੈੱਟਅੱਪ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ SARs ਹਨ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਸੰਪਰਕ ਕਰੋ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨੀਕੀ ਸਹਾਇਤਾ. - SAR 49908 - ਐਕਟਿਵ-HDL: ਮੈਥ ਬਲਾਕ ਸਿਮੂਲੇਸ਼ਨ ਲਈ VHDL ਗਲਤੀ
- SAR 50627 - Riviera-PRO 2013.02: SERDES ਡਿਜ਼ਾਈਨ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਗਲਤੀਆਂ
- SAR 50461 - Riviera-PRO: ਸਿਮੂਲੇਸ਼ਨਾਂ ਵਿੱਚ asim -O2/-O5 ਵਿਕਲਪ
ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਸੈੱਟਅੱਪ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਤੁਹਾਨੂੰ ਇੱਕ ਸਕ੍ਰਿਪਟ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ file ਨੂੰ ਚਲਾਉਣ ਲਈ ModelSim ME/ModelSim Pro ME run.do ਦੇ ਸਮਾਨ ਹੈ
ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਸਿਮੂਲੇਟਰ। ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਅਤੇ ਸਕ੍ਰਿਪਟ ਬਣਾਓ file NCSim ਲਈ ਜਾਂ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰੋ file
ModelSim ME/ModelSim Pro ME run.do ਨੂੰ ਬਦਲਣ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ fileਸੰਰਚਨਾ ਵਿੱਚ s files
NCSim ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਦੀ ਲੋੜ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: ਲਗ ਨੇ Incisive Enterprise ਦੇ ਨਵੇਂ ਸੰਸਕਰਣਾਂ ਨੂੰ ਜਾਰੀ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ
ਸਿਮੂਲੇਟਰ ਅਤੇ Xcelium ਸਿਮੂਲੇਟਰ ਦਾ ਸਮਰਥਨ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦਿੱਤਾ।
3.1 ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
Cadence Incisive ਸਿਮੂਲੇਟਰ ਨੂੰ ਚਲਾਉਣ ਲਈ, ਹੇਠ ਦਿੱਤੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ:
- LM_LICENSE_FILE: ਲਾਇਸੰਸ ਲਈ ਇੱਕ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ file.
- cds_root: ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਸਥਿਤੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- PATH: cds_root ਦੁਆਰਾ ਇਸ਼ਾਰਾ ਕੀਤੀ ਟੂਲ ਡਾਇਰੈਕਟਰੀ ਦੇ ਹੇਠਾਂ ਬਿਨ ਟਿਕਾਣੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ,
$cds_root/tools/bin/64bit (ਇੱਕ 64-bit ਮਸ਼ੀਨ ਲਈ ਅਤੇ $cds_root/tools/bin ਇੱਕ 32-ਬਿੱਟ ਮਸ਼ੀਨ ਲਈ)।
64-ਬਿੱਟ ਅਤੇ 32-ਬਿੱਟ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਵਿਚਕਾਰ ਸਵਿੱਚ ਕਰਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਿਮੂਲੇਸ਼ਨ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕਰਨ ਦੇ ਤਿੰਨ ਤਰੀਕੇ ਹਨ:
ਕੇਸ 1: PATH ਵੇਰੀਏਬਲ
ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਓ:
64 ਬਿੱਟ ਮਸ਼ੀਨਾਂ ਲਈ ਮਾਰਗ = (install_dir/tools/bin/64bit $path) ਸੈੱਟ ਕਰੋ ਅਤੇ
ਸੈੱਟ ਪਾਥ = (install_dir/tools/bin $path) 32bit ਮਸ਼ੀਨਾਂ ਲਈ
ਕੇਸ 2: -64bit ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਕਮਾਂਡ-ਲਾਈਨ ਵਿੱਚ 64 ਬਿੱਟ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ -64 ਬਿੱਟ ਵਿਕਲਪ ਨਿਰਧਾਰਤ ਕਰੋ।
ਕੇਸ 3: INCA_64BIT ਜਾਂ CDS_AUTO_64BIT ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰਨਾ
INCA_64BIT ਵੇਰੀਏਬਲ ਨੂੰ ਬੂਲੀਅਨ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਵੇਰੀਏਬਲ ਨੂੰ ਕਿਸੇ ਵੀ ਮੁੱਲ ਜਾਂ ਨਲ ਸਤਰ ਲਈ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ।
setenv INCA_64BIT
ਮਹੱਤਵਪੂਰਨ: - The INCA_64BIT ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਹੋਰ ਕੈਡੈਂਸ ਟੂਲਸ, ਜਿਵੇਂ ਕਿ IC ਟੂਲਸ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਨਸੀਸਿਵ ਟੂਲਸ ਲਈ, INCA_64BIT ਵੇਰੀਏਬਲ CDS_AUTO_64BIT ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਲਈ ਸੈਟਿੰਗ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ। ਜੇਕਰ INCA_64BIT ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਸਾਰੇ ਇਨਸੀਸਿਵ ਟੂਲ 64-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚੱਲਦੇ ਹਨ। setenv CDS_AUTO_64BIT ਸ਼ਾਮਲ ਹੈ: INCA
ਮਹੱਤਵਪੂਰਨ: - The ਸਤਰ INCA ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਸਾਰੇ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ 32-ਬਿੱਟ ਮੋਡ ਜਾਂ 64-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚਲਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਇੱਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਵੇਰੀਏਬਲ ਨੂੰ ਸੈੱਟ ਨਾ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ:
setenv CDS_AUTO_64BIT ਸ਼ਾਮਲ ਹੈ:ncelab
ਹੋਰ ਕੈਡੈਂਸ ਟੂਲ, ਜਿਵੇਂ ਕਿ IC ਟੂਲ, ਵੀ 64-ਬਿੱਟ ਜਾਂ 32-ਬਿੱਟ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਦੀ ਚੋਣ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ CDS_AUTO_64BIT ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਤੁਸੀਂ CDS_AUTO_64BIT ਵੇਰੀਏਬਲ ਨੂੰ ਸਾਰੇ ਮੋਡਾਂ ਵਿੱਚ ਇਨਸੀਸਿਵ ਟੂਲਸ ਅਤੇ IC ਟੂਲਸ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕਿਵੇਂ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ।
ਸਾਰਣੀ 3-1. CDS_AUTO_64BIT ਵੇਰੀਏਬਲ
CDS_AUTO_64BIT ਵੇਰੀਏਬਲ | incisive ਟੂਲ | ਆਈਸੀ ਟੂਲ |
setenv CDS_AUTO_64BIT ਸਭ | 64 ਬਿੱਟ | 64 ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਕੋਈ ਨਹੀਂ | 32 ਬਿੱਟ | 32 ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਬਾਹਰ:ic_ਬਾਈਨਰੀ | 64 ਬਿੱਟ | 32 ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਬਾਹਰ: INCA | 32 ਬਿੱਟ | 64 ਬਿੱਟ |
ਮਹੱਤਵਪੂਰਨ: ਸਾਰੇ ਇਨਸੀਸਿਵ ਟੂਲ ਜਾਂ ਤਾਂ 32-ਬਿੱਟ ਮੋਡ ਜਾਂ 64-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚਲਾਉਣੇ ਚਾਹੀਦੇ ਹਨ, ਇੱਕ ਖਾਸ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਬਾਹਰ ਕੱਢਣ ਲਈ EXCLUDE ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
ਜੇਕਰ ਤੁਸੀਂ CDS_AUTO_64BIT ਵੇਰੀਏਬਲ ਨੂੰ Incisive ਟੂਲ (setenv CDS_AUTO_64BIT EXCLUDE:INCA) ਨੂੰ ਬਾਹਰ ਕਰਨ ਲਈ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਾਰੇ ਇਨਸੀਸਿਵ ਟੂਲ 32-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚੱਲਦੇ ਹਨ। ਹਾਲਾਂਕਿ, -64bit ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ।
ਹੇਠ ਦਿੱਤੀ ਸੰਰਚਨਾ fileਤੁਹਾਡੇ ਡੇਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲਸ ਅਤੇ ਉਪਯੋਗਤਾਵਾਂ ਦੇ ਸੰਚਾਲਨ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਦਾ ਹੈ:
- ਲਾਇਬ੍ਰੇਰੀ ਮੈਪਿੰਗ file (cds.lib)-ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਦੀ ਸਥਿਤੀ ਲਈ ਇੱਕ ਲਾਜ਼ੀਕਲ ਨਾਮ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
- ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਭੌਤਿਕ ਡਾਇਰੈਕਟਰੀ ਨਾਮਾਂ ਨਾਲ ਜੋੜਦਾ ਹੈ।
- ਵੇਰੀਏਬਲ file (hdl.var) - ਉਹਨਾਂ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲਸ ਅਤੇ ਉਪਯੋਗਤਾਵਾਂ ਦੇ ਵਿਹਾਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ।
3.2 ਕੰਪਾਇਲਡ ਲਾਇਬ੍ਰੇਰੀ ਡਾਊਨਲੋਡ ਕਰੋ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕ੍ਰੋਸੇਮੀ ਤੋਂ ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ webਸਾਈਟ.
3.3 NCSim ਸਕ੍ਰਿਪਟ ਬਣਾਉਣਾ File (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
run.do ਦੀ ਇੱਕ ਕਾਪੀ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ files, NCSim ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਇਹਨਾਂ ਕਦਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰੋ:
- ਇੱਕ cds.lib ਬਣਾਓ file ਜੋ ਉਹਨਾਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਪਹੁੰਚਯੋਗ ਹਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਸਥਿਤੀ। ਦ file ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ ਜੋ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਲਾਜ਼ੀਕਲ ਨਾਵਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਭੌਤਿਕ ਡਾਇਰੈਕਟਰੀ ਮਾਰਗਾਂ ਨਾਲ ਮੈਪ ਕਰਦਾ ਹੈ। ਸਾਬਕਾ ਲਈample, ਜੇਕਰ ਤੁਸੀਂ presynth ਸਿਮੂਲੇਸ਼ਨ ਚਲਾ ਰਹੇ ਹੋ, cds.lib file ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਗਿਆ ਹੈ।
ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।/ਪ੍ਰੀਸਿੰਥ
COREAHBLITE_LIB ./COREAHBLITE_LIB ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਸਮਾਰਟਫਿਊਜ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ2 - ਇੱਕ hdl.var ਬਣਾਓ file, ਇੱਕ ਵਿਕਲਪਿਕ ਸੰਰਚਨਾ file ਜਿਸ ਵਿੱਚ ਸੰਰਚਨਾ ਵੇਰੀਏਬਲ ਹੁੰਦੇ ਹਨ, ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਡਿਜ਼ਾਈਨ ਵਾਤਾਵਰਣ ਕਿਵੇਂ ਸੰਰਚਿਤ ਹੈ। ਹੇਠ ਦਿੱਤੇ ਵੇਰੀਏਬਲ files ਸ਼ਾਮਲ ਹਨ:
- ਵੇਰੀਏਬਲ ਜੋ ਵਰਕ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਜਿੱਥੇ ਕੰਪਾਈਲਰ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਵਸਤੂਆਂ ਅਤੇ ਹੋਰ ਪ੍ਰਾਪਤ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈ।
- ਵੇਰੀਲੌਗ ਲਈ, ਵੇਰੀਏਬਲ (LIB_MAP, VIEW_MAP, WORK) ਜੋ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ views ਖੋਜ ਕਰਨ ਲਈ ਜਦੋਂ ਵਿਸਤ੍ਰਿਤ ਉਦਾਹਰਨਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
- ਵੇਰੀਏਬਲ ਜੋ ਤੁਹਾਨੂੰ ਕੰਪਾਈਲਰ, ਵਿਸਤ੍ਰਿਤ, ਅਤੇ ਸਿਮੂਲੇਟਰ ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪਾਂ ਅਤੇ ਆਰਗੂਮੈਂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।
ਪ੍ਰਿਸਿੰਥ ਸਿਮੂਲੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਾਬਕਾampਉੱਪਰ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਕਹੋ ਕਿ ਸਾਡੇ ਕੋਲ ਤਿੰਨ RTL ਹਨ files: a.v, b.v, ਅਤੇ testbench.v, ਜਿਸ ਨੂੰ ਕ੍ਰਮਵਾਰ presynth, COREAHBLITE_LIB, ਅਤੇ presynth ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਿੱਚ ਕੰਪਾਇਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। hdl.var file ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਵਰਕ ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
PROJECT_DIR <ਦੀ ਸਥਿਤੀ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ files>
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, + => presynth ) - ਡਿਜ਼ਾਈਨ ਕੰਪਾਇਲ ਕਰੋ filencvlog ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹੈ।
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ ਕਰੋ। ਵਿਸਤ੍ਰਿਤ ਡਿਜ਼ਾਇਨ ਵਿੱਚ ਸ਼ੁਰੂਆਤੀ ਅਤੇ ਸੰਰਚਨਾ ਜਾਣਕਾਰੀ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਡਿਜ਼ਾਈਨ ਲੜੀ ਦਾ ਨਿਰਮਾਣ ਕਰਦਾ ਹੈ, ਸਿਗਨਲ ਕਨੈਕਟੀਵਿਟੀ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਸਾਰੀਆਂ ਵਸਤੂਆਂ ਲਈ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲਾਂ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। ਵਿਸਤ੍ਰਿਤ ਡਿਜ਼ਾਈਨ ਲੜੀ ਨੂੰ ਇੱਕ ਸਿਮੂਲੇਸ਼ਨ ਸਨੈਪਸ਼ਾਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਕਿ ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਦੀ ਪ੍ਰਤੀਨਿਧਤਾ ਹੈ ਜੋ ਸਿਮੂਲੇਟਰ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਵਰਤਦਾ ਹੈ।
ncelab –ਸੁਨੇਹਾ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
ਐਕਸੈਸ +rwc -status worklib.:ਮੋਡਿਊਲ
ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ ਦੌਰਾਨ ਵਿਸਥਾਰ
ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਪਹਿਲਾਂ ਐਸ.ਡੀ.ਐਫ file ncsdfc ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਸਤਾਰ ਤੋਂ ਪਹਿਲਾਂ ਕੰਪਾਇਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ncsdfcfilename>.sdf –ਆਊਟਪੁੱਟ <filename>.sdf.X
ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ ਕੰਪਾਇਲ ਕੀਤੇ SDF ਆਉਟਪੁੱਟ ਨੂੰ –autosdf ਵਿਕਲਪ ਦੇ ਨਾਲ ਵਰਤੋ ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ncelab -autosdf -ਸੁਨੇਹਾ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
15 -ਐਕਸੈੱਸ +rwc -status worklib.:ਮੋਡਿਊਲ –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ਹੇਠ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
COMPILED_SDF_FILE = " file>" - ncsim ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਟ ਕਰੋ। ਵਿਸਤਾਰ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਿਮੂਲੇਸ਼ਨ ਸਨੈਪਸ਼ਾਟ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਸਿਮੂਲੇਸ਼ਨ ਲਈ ncsim ਦੁਆਰਾ ਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਬੈਚ ਮੋਡ ਜਾਂ GUI ਮੋਡ ਵਿੱਚ ਚਲਾ ਸਕਦੇ ਹੋ।
ncsim –ਸੰਦੇਸ਼ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
ਐਰਰਮੈਕਸ 15 - ਸਟੇਟਸ ਵਰਕਲੀਬ। : ਮੋਡੀਊਲ
ਮਹੱਤਵਪੂਰਨ: ਕੰਪਾਇਲ ਕਰਨ, ਵਿਸਤ੍ਰਿਤ ਕਰਨ ਅਤੇ ਸਿਮੂਲੇਟਿੰਗ ਦੇ ਉਪਰੋਕਤ ਤਿੰਨੇ ਕਦਮਾਂ ਨੂੰ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ file ਅਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਤਿੰਨ ਪੜਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ, ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ncverilog ਜਾਂ irun ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਇੱਕ ਪੜਾਅ ਵਿੱਚ ਸਿਮੂਲੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ਸਾਰੇ RTL
fileਡਿਜ਼ਾਇਨ ਵਿੱਚ ਵਰਤਿਆ ਗਿਆ ਹੈ>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ>
3.3.1 ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦੇ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਟੈਸਟਬੈਂਚ ਦਾ ਹੱਲ
ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਤਿਆਰ ਟੈਸਟਬੈਂਚ ਵਿੱਚ ਘੜੀ ਦੀ ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਸਟੇਟਮੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਜਾਂ Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਡਿਫੌਲਟ ਟੈਸਟਬੈਂਚ NCSim ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਹੈ।
ਹਮੇਸ਼ਾ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਸੋਧੋ:
ਹਮੇਸ਼ਾ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
ਮਹੱਤਵਪੂਰਨ: ਕੰਪਾਈਲਡ NCSim ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਪਲੇਟਫਾਰਮ ਵਿਸ਼ੇਸ਼ ਹਨ (ਜਿਵੇਂ ਕਿ 64 ਬਿੱਟ ਲਾਇਬ੍ਰੇਰੀਆਂ 32 ਬਿੱਟ ਪਲੇਟਫਾਰਮ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹਨ ਅਤੇ ਇਸਦੇ ਉਲਟ)।
MSS ਅਤੇ SERDES ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪੋਸਟ-ਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ MSS ਬਲਾਕ ਵਾਲੇ ਡਿਜ਼ਾਈਨਾਂ ਦੇ ਪੋਸਟ-ਸਿੰਥ ਸਿਮੂਲੇਸ਼ਨ ਜਾਂ SERDES ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡਿਜ਼ਾਈਨਾਂ ਦੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਵੇਲੇ, BFM ਸਿਮੂਲੇਸ਼ਨ ਕੰਮ ਨਹੀਂ ਕਰਦੇ ਜੇਕਰ -libmap ਵਿਕਲਪ ਹੈ
ਵਿਸਤਾਰ ਦੌਰਾਨ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ, MSS ਨੂੰ ਵਰਕ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਅਤੇ ਵਰਕਲਿਬ ਪੋਸਟਸਿੰਥ/ਪੋਸਟ-ਲੇਆਉਟ ਹੋਣ ਕਾਰਨ) ਜਿੱਥੇ ਇਹ ਕੇਵਲ ਇੱਕ ਸਥਿਰ ਫੰਕਸ਼ਨ ਹੈ।
MSS ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ncelab ਕਮਾਂਡ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ
SmartFusion2 ਪ੍ਰੀਕੰਪਾਈਲਡ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਬਲਾਕ ਕਰੋ।
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
ਅਤੇ lib.map file ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:
config cfg1;
ਡਿਜ਼ਾਈਨ ;
ਡਿਫਾਲਟ ਲਿਬਲਿਸਟ ਸਮਾਰਟਫਿਊਜ਼ਨ 2 ;
endconfig
ਇਹ ਵਰਕ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ SmartFusion2 ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸੈੱਲ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਪੋਸਟਸਿੰਥ/ ਪੋਸਟ-ਲੇਆਉਟ।
–libmap ਵਿਕਲਪ ਨੂੰ ਹਰ ਸਿਮੂਲੇਸ਼ਨ (ਪ੍ਰੀਸਿੰਥ, ਪੋਸਟਸਿੰਥ, ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ) ਲਈ ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਸਿਮੂਲੇਸ਼ਨ ਮੁੱਦਿਆਂ ਤੋਂ ਬਚਦਾ ਹੈ ਜੋ ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ ਉਦਾਹਰਨਾਂ ਦੇ ਹੱਲ ਦੇ ਕਾਰਨ ਹੁੰਦੇ ਹਨ।
ncelab: *F,INTERR: ਅੰਦਰੂਨੀ ਅਪਵਾਦ
ਇਹ ncelab ਟੂਲ ਅਪਵਾਦ –libmap ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪੋਸਟ-ਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨਾਂ ਦੌਰਾਨ SmartFusion 2 ਅਤੇ IGLOO 2 ਵਿੱਚ FDDR ਵਾਲੇ ਡਿਜ਼ਾਈਨਾਂ ਲਈ ਇੱਕ ਚੇਤਾਵਨੀ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: ਇਸ ਮੁੱਦੇ ਦੀ ਸੂਚਨਾ ਕੈਡੈਂਸ ਸਹਾਇਤਾ ਟੀਮ (SAR 52113) ਨੂੰ ਦਿੱਤੀ ਗਈ ਹੈ।
3.4 ਐੱਸample Tcl ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ Files (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਹੇਠ ਲਿਖਿਆ ਹੋਇਆਂ files ਸੰਰਚਨਾ ਹਨ fileਡਿਜ਼ਾਈਨ ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਸਥਾਪਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ file NCSim ਕਮਾਂਡਾਂ ਚਲਾਉਣ ਲਈ।
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।/ਪ੍ਰੀਸਿੰਥ
Hdl.var
ਵਰਕ ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
PROJECT_DIR/scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => ਪ੍ਰੀਸਿੰਥ )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => ਪ੍ਰੀਸਿੰਥ )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagਈ.ਵੀ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagਈ.ਵੀ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -ਸੰਦੇਸ਼ -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
3.5 ਆਟੋਮੇਸ਼ਨ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਹੇਠ ਲਿਖੀ ਸਕ੍ਰਿਪਟ file ModelSim run.do ਨੂੰ ਬਦਲਦਾ ਹੈ files ਸੰਰਚਨਾ ਵਿੱਚ fileNCSim ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।
ਸਕ੍ਰਿਪਟ File ਵਰਤੋਂ
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do ਮਾਈਕ੍ਰੋਸੇਮੀ_ਫੈਮਲੀ
ਕੈਡੈਂਸ_ਪ੍ਰੀਕੰਪਾਈਲਡ_ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ_ਟਿਕਾਣਾ
Cadence_parser.pl
#!/usr/bin/perl -w
######################################## ####################################
##############
#ਵਰਤੋਂ: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
ਮਾਈਕ੍ਰੋਸੇਮੀ_ਫੈਮਲੀ ਪ੍ਰੀਕੰਪਾਈਲਡ_ਲਾਇਬ੍ਰੇਰੀਆਂ_ਸਥਾਨ#
######################################## ####################################
##############
POSIX ਦੀ ਵਰਤੋਂ ਕਰੋ;
ਸਖ਼ਤ ਵਰਤੋ;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
ਸਬ questa_parser {
ਮੇਰਾ $ModelSim_run_do = $_[0];
ਮੇਰਾ $actel_family = $_[1];
ਮੇਰਾ $lib_location = $_[2];
ਮੇਰਾ $ਸਟੇਟ;
ਜੇਕਰ ( -e “$ModelSim_run_do” )
{
ਖੁੱਲਾ (INFILE,"$ModelSim_run_do");
ਮੇਰਾ @ModelSim_run_do = <INFILE>;
ਮੇਰੀ $ਲਾਈਨ;
ਜੇਕਰ ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_PRESYNTH/presynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(ਪੋਸਟਲੇਆਉਟ)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$state = $1;
} ਹੋਰ
{
ਨੂੰ "ਗਲਤ ਇੰਪੁੱਟ ਦਿੱਤੇ ਗਏ ਹਨ" ਨੂੰ ਛਾਪੋ file\n”;
ਪ੍ਰਿੰਟ ਕਰੋ “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"ਲਾਇਬ੍ਰੇਰੀਆਂ_ਸਥਾਨ\"\n";
}
foreach $line (@ModelSim_run_do)
{
# ਜਨਰਲ ਓਪਰੇਸ਼ਨ
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
ਜੇਕਰ ($line =~ m/vmap\s+.*($actel_family)/)
{
ਪ੍ਰਿੰਟ ਆਊਟFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
} ਹੋਰ
{
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
}
}
ਬੰਦ (INFILE);
ਬੰਦ (ਬਾਹਰFILE);
} ਹੋਰ {
ਪ੍ਰਿੰਟ ਕਰੋ “$ModelSim_run_do ਮੌਜੂਦ ਨਹੀਂ ਹੈ। ਸਿਮੂਲੇਸ਼ਨ ਦੁਬਾਰਾ ਚਲਾਓ \n”;
}
}
Cadence Xcelium ਸੈੱਟਅੱਪ (ਮਾਈਕ੍ਰੋਚਿੱਪ ਲੌਗਇਨ)
ਤੁਹਾਨੂੰ ਇੱਕ ਸਕ੍ਰਿਪਟ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ file Cadence Xcelium ਸਿਮੂਲੇਟਰ ਨੂੰ ਚਲਾਉਣ ਲਈ ModelSim ME/ModelSim Pro ME run.do ਦੇ ਸਮਾਨ। ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਅਤੇ ਸਕ੍ਰਿਪਟ ਬਣਾਓ file Xcelium ਲਈ ਜਾਂ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰੋ file ModelSim ME/ModelSim Pro ME run.do ਨੂੰ ਬਦਲਣ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ fileਸੰਰਚਨਾ ਵਿੱਚ s fileXcelium ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਲਈ s ਦੀ ਲੋੜ ਹੈ।
4.1 ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
Cadence Xcelium ਨੂੰ ਚਲਾਉਣ ਲਈ, ਹੇਠ ਦਿੱਤੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਸੰਰਚਿਤ ਕਰੋ:
- LM_LICENSE_FILE: ਲਾਇਸੰਸ ਲਈ ਇੱਕ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ file.
- cds_root: ਕੈਡੈਂਸ ਇਨਸੀਸਿਵ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਸਥਿਤੀ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- PATH: cds_root (i.e.
$cds_root/tools/bin/64bit (64 ਬਿੱਟ ਮਸ਼ੀਨ ਲਈ ਅਤੇ $cds_root/tools/bin 32 ਬਿੱਟ ਲਈ
ਮਸ਼ੀਨ)।
64-ਬਿੱਟ ਅਤੇ 32-ਬਿੱਟ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮਾਂ ਵਿਚਕਾਰ ਸਵਿੱਚ ਕਰਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਿਮੂਲੇਸ਼ਨ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕਰਨ ਦੇ ਤਿੰਨ ਤਰੀਕੇ ਹਨ:
ਕੇਸ 1: PATH ਵੇਰੀਏਬਲ
64 ਬਿੱਟ ਮਸ਼ੀਨਾਂ ਲਈ ਮਾਰਗ = (install_dir/tools/bin/64bit $path) ਸੈੱਟ ਕਰੋ ਅਤੇ
ਸੈੱਟ ਪਾਥ = (install_dir/tools/bin $path) 32bit ਮਸ਼ੀਨਾਂ ਲਈ
ਕੇਸ 2: -64bit ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਕਮਾਂਡ-ਲਾਈਨ ਵਿੱਚ 64-ਬਿੱਟ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ -64 ਬਿੱਟ ਵਿਕਲਪ ਨਿਰਧਾਰਤ ਕਰੋ।
ਕੇਸ 3: INCA_64BIT ਜਾਂ CDS_AUTO_64BIT ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰਨਾ
INCA_64BIT ਵੇਰੀਏਬਲ ਨੂੰ ਬੂਲੀਅਨ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਵੇਰੀਏਬਲ ਨੂੰ ਕਿਸੇ ਵੀ ਮੁੱਲ ਜਾਂ ਨਲ 'ਤੇ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ
ਸਤਰ
setenv INCA_64BIT
ਮਹੱਤਵਪੂਰਨ: - The INCA_64BIT ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ ਹੋਰ ਕੈਡੈਂਸ ਟੂਲਸ, ਜਿਵੇਂ ਕਿ IC ਟੂਲਸ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਇਨਸੀਸਿਵ ਟੂਲਸ ਲਈ, INCA_64BIT ਵੇਰੀਏਬਲ CDS_AUTO_64BIT ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਲਈ ਸੈਟਿੰਗ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ। ਜੇਕਰ INCA_64BIT ਇਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ et ਹੈ, ਤਾਂ ਸਾਰੇ Incisive ਟੂਲ 64-bit ਮੋਡ ਵਿੱਚ ਚੱਲਦੇ ਹਨ।
setenv CDS_AUTO_64BIT ਸ਼ਾਮਲ ਹੈ: INCA
ਮਹੱਤਵਪੂਰਨ: - The ਸਤਰ INCA ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਸਾਰੇ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ 2-ਬਿੱਟ ਮੋਡ ਜਾਂ 64-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚਲਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਇੱਕ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਵੇਰੀਏਬਲ ਨੂੰ ਸੈੱਟ ਨਾ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ:
setenv CDS_AUTO_64BIT ਸ਼ਾਮਲ ਹੈ:ncelab
ਹੋਰ ਕੈਡੈਂਸ ਟੂਲ, ਜਿਵੇਂ ਕਿ IC ਟੂਲ, ਵੀ 64-ਬਿੱਟ ਜਾਂ 32-ਬਿੱਟ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਦੀ ਚੋਣ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ CDS_AUTO_64BIT ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਤੁਸੀਂ CDS_AUTO_64BIT ਵੇਰੀਏਬਲ ਨੂੰ ਸਾਰੇ ਮੋਡਾਂ ਵਿੱਚ ਇਨਸੀਸਿਵ ਟੂਲਸ ਅਤੇ IC ਟੂਲਸ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕਿਵੇਂ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ।
ਸਾਰਣੀ 4-1. CDS_AUTO_64BIT ਵੇਰੀਏਬਲ
CDS_AUTO_64BIT ਵੇਰੀਏਬਲ | incisive ਟੂਲ | ਆਈਸੀ ਟੂਲ |
setenv CDS_AUTO_64BIT ਸਭ | 64-ਬਿੱਟ | 64-ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਕੋਈ ਨਹੀਂ | 32-ਬਿੱਟ | 32-ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਬਾਹਰ ਕੱਢੋ:ic_binary |
64-ਬਿੱਟ | 32-ਬਿੱਟ |
setenv CDS_AUTO_64BIT ਬਾਹਰ: INCA | 32-ਬਿੱਟ | 64-ਬਿੱਟ |
ਮਹੱਤਵਪੂਰਨ: ਸਾਰੇ ਇਨਸੀਸਿਵ ਟੂਲ ਜਾਂ ਤਾਂ 32-ਬਿੱਟ ਮੋਡ ਜਾਂ 64-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚੱਲਣੇ ਚਾਹੀਦੇ ਹਨ, ਇੱਕ ਖਾਸ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਨੂੰ ਬਾਹਰ ਕੱਢਣ ਲਈ EXCLUDE ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ:
setenv CDS_AUTO_64BIT ਬਾਹਰ ਕੱਢੋ:ncelab
ਜੇਕਰ ਤੁਸੀਂ CDS_AUTO_64BIT ਵੇਰੀਏਬਲ ਨੂੰ ਇਨਸੀਸਿਵ ਟੂਲਸ ਨੂੰ ਬਾਹਰ ਕੱਢਣ ਲਈ ਸੈੱਟ ਕਰਦੇ ਹੋ (setenv
CDS_AUTO_64BIT ਐਕਸਕਲੂਡ: INCA), ਸਾਰੇ ਇਨਸੀਸਿਵ ਟੂਲ 32-ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਚੱਲਦੇ ਹਨ। ਹਾਲਾਂਕਿ, ਦ
-64bit ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਦਾ ਹੈ।
ਹੇਠ ਦਿੱਤੀ ਸੰਰਚਨਾ fileਤੁਹਾਡੇ ਡੇਟਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲਸ ਅਤੇ ਉਪਯੋਗਤਾਵਾਂ ਦੇ ਸੰਚਾਲਨ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਦਾ ਹੈ:
- ਲਾਇਬ੍ਰੇਰੀ ਮੈਪਿੰਗ file (cds.lib) ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਦੀ ਸਥਿਤੀ ਲਈ ਇੱਕ ਲਾਜ਼ੀਕਲ ਨਾਮ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
- ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਭੌਤਿਕ ਡਾਇਰੈਕਟਰੀ ਨਾਮਾਂ ਨਾਲ ਜੋੜਦਾ ਹੈ।
- ਵੇਰੀਏਬਲ file (hdl.var) ਉਹਨਾਂ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲਸ ਅਤੇ ਉਪਯੋਗਤਾਵਾਂ ਦੇ ਵਿਵਹਾਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ।
4.2 ਕੰਪਾਇਲਡ ਲਾਇਬ੍ਰੇਰੀ ਡਾਊਨਲੋਡ ਕਰੋ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕ੍ਰੋਸੇਮੀ ਤੋਂ ਕੈਡੈਂਸ ਐਕਸੇਲੀਅਮ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ webਸਾਈਟ.
4.3 Xcelium ਸਕ੍ਰਿਪਟ ਬਣਾਉਣਾ file (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
run.do ਦੀ ਇੱਕ ਕਾਪੀ ਬਣਾਉਣ ਤੋਂ ਬਾਅਦ files, Xcelium ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਨੂੰ ਪੂਰਾ ਕਰੋ file.
- ਇੱਕ cds.lib ਬਣਾਓ file ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਪਹੁੰਚਯੋਗ ਹਨ ਅਤੇ ਉਹ ਕਿੱਥੇ ਸਥਿਤ ਹਨ।
ਦ file ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ ਜੋ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਲਾਜ਼ੀਕਲ ਨਾਵਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਭੌਤਿਕ ਡਾਇਰੈਕਟਰੀ ਮਾਰਗਾਂ ਨਾਲ ਮੈਪ ਕਰਦਾ ਹੈ। ਸਾਬਕਾ ਲਈample, ਜੇਕਰ ਤੁਸੀਂ presynth ਸਿਮੂਲੇਸ਼ਨ ਚਲਾ ਰਹੇ ਹੋ, cds.lib file ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।/ਪ੍ਰੀਸਿੰਥ
COREAHBLITE_LIB ./COREAHBLITE_LIB ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਸਮਾਰਟਫਿਊਜ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ2 - ਇੱਕ hdl.var ਬਣਾਓ file ਜੋ ਕਿ ਇੱਕ ਵਿਕਲਪਿਕ ਸੰਰਚਨਾ ਹੈ file ਜਿਸ ਵਿੱਚ ਸੰਰਚਨਾ ਵੇਰੀਏਬਲ ਹੁੰਦੇ ਹਨ, ਜੋ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਡਿਜ਼ਾਈਨ ਵਾਤਾਵਰਣ ਕਿਵੇਂ ਸੰਰਚਿਤ ਹੈ। ਇਹਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਵੇਰੀਏਬਲ ਜੋ ਵਰਕ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਜਿੱਥੇ ਕੰਪਾਈਲਰ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਵਸਤੂਆਂ ਅਤੇ ਹੋਰ ਪ੍ਰਾਪਤ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈ।
- ਵੇਰੀਲੌਗ ਲਈ, ਵੇਰੀਏਬਲ (LIB_MAP, VIEW_MAP, WORK) ਜੋ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ views ਖੋਜ ਕਰਨ ਲਈ ਜਦੋਂ ਵਿਸਤ੍ਰਿਤ ਉਦਾਹਰਨਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
- ਵੇਰੀਏਬਲ ਜੋ ਤੁਹਾਨੂੰ ਕੰਪਾਈਲਰ, ਵਿਸਤ੍ਰਿਤ, ਅਤੇ ਸਿਮੂਲੇਟਰ ਕਮਾਂਡ-ਲਾਈਨ ਵਿਕਲਪਾਂ ਅਤੇ ਆਰਗੂਮੈਂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ।
ਪ੍ਰਿਸਿੰਥ ਸਿਮੂਲੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਾਬਕਾampਉੱਪਰ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਕਹੋ ਕਿ ਸਾਡੇ ਕੋਲ 3 RTL ਹੈ files a.v, b.v, ਅਤੇ testbench.v, ਜਿਸ ਨੂੰ ਕ੍ਰਮਵਾਰ presynth, COREAHBLITE_LIB, ਅਤੇ presynth ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਿੱਚ ਕੰਪਾਇਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। hdl.var file ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਵਰਕ ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
PROJECT_DIR <ਦੀ ਸਥਿਤੀ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ files>
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/a.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, + => presynth ) - ਡਿਜ਼ਾਈਨ ਕੰਪਾਇਲ ਕਰੋ filencvlog ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰ ਰਿਹਾ ਹੈ।
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ ਕਰੋ। ਵਿਸਤ੍ਰਿਤ ਡਿਜ਼ਾਇਨ ਵਿੱਚ ਸ਼ੁਰੂਆਤੀ ਅਤੇ ਸੰਰਚਨਾ ਜਾਣਕਾਰੀ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਡਿਜ਼ਾਈਨ ਲੜੀ ਦਾ ਨਿਰਮਾਣ ਕਰਦਾ ਹੈ, ਸਿਗਨਲ ਕਨੈਕਟੀਵਿਟੀ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਸਾਰੀਆਂ ਵਸਤੂਆਂ ਲਈ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲਾਂ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ। ਵਿਸਤ੍ਰਿਤ ਡਿਜ਼ਾਈਨ ਲੜੀ ਨੂੰ ਇੱਕ ਸਿਮੂਲੇਸ਼ਨ ਸਨੈਪਸ਼ਾਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜੋ ਕਿ ਤੁਹਾਡੇ ਡਿਜ਼ਾਈਨ ਦੀ ਪ੍ਰਤੀਨਿਧਤਾ ਹੈ ਜੋ ਸਿਮੂਲੇਟਰ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਵਰਤਦਾ ਹੈ।
Xcelium –ਸੁਨੇਹਾ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log -errormax 15 -
ਐਕਸੈਸ +rwc -status worklib.:ਮੋਡਿਊਲ
ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ ਦੌਰਾਨ ਵਿਸਥਾਰ
ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਪਹਿਲਾਂ ਐਸ.ਡੀ.ਐਫ file ncsdfc ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਸਤਾਰ ਤੋਂ ਪਹਿਲਾਂ ਕੰਪਾਇਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਐਕਸੇਲੀਅਮfilename>.sdf –ਆਊਟਪੁੱਟ <filename>.sdf.X
ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ ਕੰਪਾਇਲ ਕੀਤੇ SDF ਆਉਟਪੁੱਟ ਨੂੰ –autosdf ਵਿਕਲਪ ਦੇ ਨਾਲ ਵਰਤੋ ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
xmelab -autosdf -ਸੁਨੇਹਾ -cdslib ./cds.lib -hdlvar ./hdl.var -logfile ncelab.log -errormax
15 -ਐਕਸੈੱਸ +rwc -status worklib.:ਮੋਡਿਊਲ –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file ਹੇਠ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।
COMPILED_SDF_FILE = " file>" - Xcelium ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਟ ਕਰੋ। ਵਿਸਤਾਰ ਤੋਂ ਬਾਅਦ ਇੱਕ ਸਿਮੂਲੇਸ਼ਨ ਸਨੈਪਸ਼ਾਟ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਜੋ ਕਿ ਸਿਮੂਲੇਸ਼ਨ ਲਈ Xcelium ਦੁਆਰਾ ਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ ਬੈਚ ਮੋਡ ਜਾਂ GUI ਮੋਡ ਵਿੱਚ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
xmsim –ਸੁਨੇਹਾ –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
ਐਰਰਮੈਕਸ 15 - ਸਟੇਟਸ ਵਰਕਲੀਬ। : ਮੋਡੀਊਲ
Cadence Xcelium ਸੈੱਟਅੱਪ
ਮਹੱਤਵਪੂਰਨ: - ਸਾਰੇ ਕੰਪਾਇਲ, ਵਿਸਤ੍ਰਿਤ ਅਤੇ ਸਿਮੂਲੇਟਿੰਗ ਦੇ ਉਪਰੋਕਤ ਤਿੰਨ ਕਦਮਾਂ ਨੂੰ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ file ਅਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਤਿੰਨ ਪੜਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ, ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ncverilog ਜਾਂ xrun ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਇੱਕ ਪੜਾਅ ਵਿੱਚ ਸਿਮੂਲੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ਸਾਰੇ RTL
fileਡਿਜ਼ਾਇਨ ਵਿੱਚ ਵਰਤਿਆ ਗਿਆ ਹੈ>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <ਸਾਰੇ RTL files
ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ>
4.3.1 ਜਾਣੇ-ਪਛਾਣੇ ਮੁੱਦੇ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਟੈਸਟਬੈਂਚ ਦਾ ਹੱਲ
ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਟੈਸਟਬੈਂਚ ਵਿੱਚ ਘੜੀ ਦੀ ਬਾਰੰਬਾਰਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਬਿਆਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਾਂ Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਡਿਫੌਲਟ ਟੈਸਟਬੈਂਚ Xcelium ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਹੈ।
ਹਮੇਸ਼ਾ @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਚਲਾਉਣ ਲਈ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਸੋਧੋ:
ਹਮੇਸ਼ਾ #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
ਮਹੱਤਵਪੂਰਨ: Xcelium ਲਈ ਕੰਪਾਇਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਪਲੇਟਫਾਰਮ ਵਿਸ਼ੇਸ਼ ਹਨ (ਭਾਵ 64 ਬਿੱਟ ਲਾਇਬ੍ਰੇਰੀਆਂ 32 ਬਿੱਟ ਪਲੇਟਫਾਰਮ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹਨ ਅਤੇ ਇਸਦੇ ਉਲਟ)।
MSS ਅਤੇ SERDES ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਪੋਸਟਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ
MSS ਬਲਾਕ ਵਾਲੇ ਡਿਜ਼ਾਈਨਾਂ ਦੇ ਪੋਸਟ-ਸਿੰਥ ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਵੇਲੇ, ਜਾਂ SERDES ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡਿਜ਼ਾਈਨਾਂ ਦੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਵੇਲੇ, BFM ਸਿਮੂਲੇਸ਼ਨ ਕੰਮ ਨਹੀਂ ਕਰਦੇ ਹਨ ਜੇਕਰ –libmap ਵਿਕਲਪ ਨੂੰ ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ, MSS ਨੂੰ ਵਰਕ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਡਿਫਾਲਟ ਬਾਈਡਿੰਗ ਅਤੇ ਵਰਕਲਿਬ ਪੋਸਟਸਿੰਥ/ਪੋਸਟ-ਲੇਆਉਟ ਹੋਣ ਕਾਰਨ) ਜਿੱਥੇ ਇਹ ਕੇਵਲ ਇੱਕ ਸਥਿਰ ਫੰਕਸ਼ਨ ਹੈ।
SmartFusion2 ਪ੍ਰੀਕੰਪਾਈਲਡ ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ MSS ਬਲਾਕ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ncelab ਕਮਾਂਡ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਲਿਖਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
ਅਤੇ lib.map file ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ:
config cfg1;
ਡਿਜ਼ਾਈਨ ;
ਡਿਫਾਲਟ ਲਿਬਲਿਸਟ ਸਮਾਰਟਫਿਊਜ਼ਨ 2 ;
endconfig
ਇਸ ਨੂੰ ਕੰਮ ਦੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ SmartFusion2 ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸੈੱਲ ਨੂੰ ਹੱਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਪੋਸਟਸਿੰਥ/ਪੋਸਟ-ਲੇਆਉਟ।
–libmap ਵਿਕਲਪ ਨੂੰ ਹਰ ਸਿਮੂਲੇਸ਼ਨ (ਪ੍ਰੀਸਿੰਥ, ਪੋਸਟਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ) ਲਈ ਵਿਸਤਾਰ ਦੇ ਦੌਰਾਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਸਿਮੂਲੇਸ਼ਨ ਮੁੱਦਿਆਂ ਤੋਂ ਬਚਦਾ ਹੈ ਜੋ ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ ਉਦਾਹਰਨਾਂ ਦੇ ਹੱਲ ਦੇ ਕਾਰਨ ਹੁੰਦੇ ਹਨ।
xmelab: *F,INTERR: ਅੰਦਰੂਨੀ ਅਪਵਾਦ
ਇਹ ncelab ਟੂਲ ਅਪਵਾਦ SmartFusion2 ਅਤੇ IGLOO2 ਵਿੱਚ FDDR ਵਾਲੇ ਡਿਜ਼ਾਈਨਾਂ ਲਈ ਇੱਕ ਚੇਤਾਵਨੀ ਹੈ
ਪੋਸਟਸਿੰਥ ਅਤੇ ਪੋਸਟ-ਲੇਆਉਟ ਸਿਮੂਲੇਸ਼ਨ ਦੌਰਾਨ –libmap ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ।
ਮਹੱਤਵਪੂਰਨ: ਇਸ ਮੁੱਦੇ ਦੀ ਸੂਚਨਾ ਕੈਡੈਂਸ ਸਹਾਇਤਾ ਟੀਮ (SAR 52113) ਨੂੰ ਦਿੱਤੀ ਗਈ ਹੈ।
4.4 ਐੱਸample Tcl ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ files (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਹੇਠ ਲਿਖਿਆ ਹੋਇਆਂ files ਸੰਰਚਨਾ ਹਨ fileਡਿਜ਼ਾਈਨ ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਸਥਾਪਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ file Xcelium ਕਮਾਂਡਾਂ ਚਲਾਉਣ ਲਈ।
Cds.lib
ਸਮਾਰਟਫਿਊਜ਼ਨ2/scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2 ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
COREAHBLITE_LIB ./COREAHBLITE_LIB ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।/ਪ੍ਰੀਸਿੰਥ
Hdl.var
ਵਰਕ ਪ੍ਰੀਸਿੰਥ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
PROJECT_DIR/scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => ਪ੍ਰੀਸਿੰਥ )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => ਪ੍ਰੀਸਿੰਥ )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
LIB_MAP ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagਈ.ਵੀ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagਈ.ਵੀ
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -ਸੰਦੇਸ਼ -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
4.5 ਆਟੋਮੇਸ਼ਨ (ਮਾਈਕ੍ਰੋਚਿੱਪ ਲੌਗਇਨ)
ਹੇਠ ਲਿਖੀ ਸਕ੍ਰਿਪਟ file ModelSim run.do ਨੂੰ ਬਦਲਦਾ ਹੈ files ਸੰਰਚਨਾ ਵਿੱਚ fileXcelium ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਉਣ ਲਈ s ਦੀ ਲੋੜ ਹੈ।
ਸਕ੍ਰਿਪਟ File ਵਰਤੋਂ
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do ਮਾਈਕ੍ਰੋਸੇਮੀ_ਫੈਮਲੀ
ਕੈਡੈਂਸ_ਪ੍ਰੀਕੰਪਾਈਲਡ_ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ_ਟਿਕਾਣਾ
Cadence_parser.pl
#!/usr/bin/perl -w
######################################## ####################################
##############
#ਵਰਤੋਂ: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
ਮਾਈਕ੍ਰੋਸੇਮੀ_ਫੈਮਲੀ ਪ੍ਰੀਕੰਪਾਈਲਡ_ਲਾਇਬ੍ਰੇਰੀਆਂ_ਸਥਾਨ#
######################################## ####################################
##############
POSIX ਦੀ ਵਰਤੋਂ ਕਰੋ;
ਸਖ਼ਤ ਵਰਤੋ;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
ਸਬ questa_parser {
ਮੇਰਾ $ModelSim_run_do = $_[0];
ਮੇਰਾ $actel_family = $_[1];
ਮੇਰਾ $lib_location = $_[2];
ਮੇਰਾ $ਸਟੇਟ;
ਜੇਕਰ ( -e “$ModelSim_run_do” )
{
ਖੁੱਲਾ (INFILE,"$ModelSim_run_do");
ਮੇਰਾ @ModelSim_run_do = <INFILE>;
ਮੇਰੀ $ਲਾਈਨ;
ਜੇਕਰ ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_PRESYNTH/presynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_POSTSYNTH/postsynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(ਪੋਸਟਲੇਆਉਟ)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
ਖੁੱਲਾ (ਬਾਹਰFILE,">QUESTA_POSTLAYOUT/postlayout_questa.do");
$state = $1;
} ਹੋਰ
{
ਨੂੰ "ਗਲਤ ਇੰਪੁੱਟ ਦਿੱਤੇ ਗਏ ਹਨ" ਨੂੰ ਛਾਪੋ file\n”;
ਪ੍ਰਿੰਟ ਕਰੋ “#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\"ਲਾਇਬ੍ਰੇਰੀਆਂ_ਸਥਾਨ\"\n";
}
foreach $line (@ModelSim_run_do)
{
# ਜਨਰਲ ਓਪਰੇਸ਼ਨ
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
ਜੇਕਰ ($line =~ m/vmap\s+.*($actel_family)/)
{
ਪ੍ਰਿੰਟ ਆਊਟFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
} ਹੋਰ
{
ਪ੍ਰਿੰਟ ਆਊਟFILE “$line \n”;
}
}
ਬੰਦ (INFILE);
ਬੰਦ (ਬਾਹਰFILE);
} ਹੋਰ {
ਪ੍ਰਿੰਟ ਕਰੋ “$ModelSim_run_do ਮੌਜੂਦ ਨਹੀਂ ਹੈ। ਸਿਮੂਲੇਸ਼ਨ ਦੁਬਾਰਾ ਚਲਾਓ \n”;
}
}
ਸੀਮੇਂਸ ਕੁਏਸਟਾਸਿਮ ਸੈੱਟਅੱਪ/ਮਾਡਲਸਿਮ ਸੈੱਟਅੱਪ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਭੱਜੋ files, ਮਾਡਲਸਿਮ ਮਾਈਕ੍ਰੋਸੇਮੀ ਐਡੀਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ, QuestaSim/ModelSim SE/DE/PE ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਇੱਕ ਇੱਕਲੇ ਬਦਲਾਅ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ModelSim ME/ModelSim Pro ME run.do ਵਿੱਚ file, ਪਹਿਲਾਂ ਤੋਂ ਕੰਪਾਈਲ ਕੀਤੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸੋਧਣ ਦੀ ਲੋੜ ਹੈ।
ਮਹੱਤਵਪੂਰਨ:
ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ, ਮਾਡਲਸਿਮ ਪ੍ਰੋ ME ਤੋਂ ਇਲਾਵਾ ਸਿਮੂਲੇਸ਼ਨ ਟੂਲ ਸਿਮੂਲੇਸ਼ਨ ਦੌਰਾਨ ਡਿਜ਼ਾਈਨ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਕਰਦਾ ਹੈ ਜੋ ਸਿਮੂਲੇਸ਼ਨ ਕਲਾਤਮਕ ਚੀਜ਼ਾਂ ਜਿਵੇਂ ਕਿ ਡਿਜ਼ਾਈਨ ਆਬਜੈਕਟ ਅਤੇ ਇਨਪੁਟ ਉਤੇਜਨਾ ਵਿੱਚ ਦਿੱਖ ਨੂੰ ਪ੍ਰਭਾਵਤ ਕਰ ਸਕਦਾ ਹੈ।
ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਵਰਬੋਜ਼, ਸਵੈ-ਚੈਕਿੰਗ ਟੈਸਟਬੈਂਚਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਗੁੰਝਲਦਾਰ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਰਨਟਾਈਮ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦਗਾਰ ਹੁੰਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਡਿਫੌਲਟ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਸਾਰੇ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਉਚਿਤ ਨਹੀਂ ਹੋ ਸਕਦੇ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ ਜਿੱਥੇ ਤੁਸੀਂ ਵੇਵ ਵਿੰਡੋ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨ ਨਤੀਜਿਆਂ ਦੀ ਗ੍ਰਾਫਿਕਲੀ ਜਾਂਚ ਕਰਨ ਦੀ ਉਮੀਦ ਕਰਦੇ ਹੋ।
ਇਸ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਦੇ ਕਾਰਨ ਹੋਣ ਵਾਲੀਆਂ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਦਿੱਖ ਨੂੰ ਬਹਾਲ ਕਰਨ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਦੌਰਾਨ ਢੁਕਵੀਆਂ ਕਮਾਂਡਾਂ ਅਤੇ ਸੰਬੰਧਿਤ ਆਰਗੂਮੈਂਟ ਸ਼ਾਮਲ ਕਰਨੇ ਚਾਹੀਦੇ ਹਨ। ਟੂਲ-ਵਿਸ਼ੇਸ਼ ਕਮਾਂਡਾਂ ਲਈ, ਵਰਤੋਂ ਵਿੱਚ ਆਉਣ ਵਾਲੇ ਸਿਮੂਲੇਟਰ ਦੇ ਦਸਤਾਵੇਜ਼ ਵੇਖੋ।
5.1 ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਹੇਠਾਂ ਲੋੜੀਂਦੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਹਨ।
- LM_LICENSE_FILE: ਲਾਇਸੈਂਸ ਦਾ ਮਾਰਗ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ file.
- MODEL_TECH: QuestaSim ਸਥਾਪਨਾ ਦੇ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਟਿਕਾਣੇ ਦੇ ਮਾਰਗ ਦੀ ਪਛਾਣ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
- PATH: MODEL_TECH ਦੁਆਰਾ ਪੁਆਇੰਟ ਕੀਤੇ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਟਿਕਾਣੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
5.2 ਮੈਂਟਰ ਕੁਏਸਟਾਸਿਮ ਲਈ run.do ਨੂੰ ਬਦਲਣਾ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਭੱਜੋ fileਮਾਡਲਸਿਮ ਮਾਈਕ੍ਰੋਸੇਮੀ ਐਡੀਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ s ਨੂੰ QuestaSim/ModelSim_SE ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸਿਮੂਲੇਸ਼ਨਾਂ ਲਈ ਇੱਕ ਸਿੰਗਲ ਬਦਲਾਅ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: - ਸਾਰੇ QuestaSim ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਟ ਕੀਤੇ ਗਏ ਡਿਜ਼ਾਈਨਾਂ ਵਿੱਚ -novopt ਸ਼ਾਮਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
run.do ਸਕ੍ਰਿਪਟ ਵਿੱਚ vsim ਕਮਾਂਡ ਦੇ ਨਾਲ ਵਿਕਲਪ files.
5.3 ਕੰਪਾਇਲ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕਰੋਸੇਮੀ ਤੋਂ ਮੈਂਟਰ ਗ੍ਰਾਫਿਕਸ ਕੁਏਸਟਾਸਿਮ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ webਸਾਈਟ.
Synopsys VCS ਸੈੱਟਅੱਪ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕ੍ਰੋਸੇਮੀ ਦੁਆਰਾ ਸਿਫ਼ਾਰਸ਼ ਕੀਤਾ ਗਿਆ ਪ੍ਰਵਾਹ VCS ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਅਤੇ ਕੰਪਾਇਲ ਪ੍ਰਵਾਹ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਇੱਕ ਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਹੈ file ਜੋ run.do ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ files Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਸੈੱਟਅੱਪ ਤਿਆਰ ਕਰਦਾ ਹੈ fileVCS ਸਿਮੂਲੇਸ਼ਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ file run.do ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ file ਹੇਠ ਲਿਖੇ ਨੂੰ ਕਰਨ ਲਈ.
- ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਮੈਪਿੰਗ ਬਣਾਓ file, ਜੋ ਕਿ synopsys_sim.setup ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾਂਦਾ ਹੈ file ਉਸੇ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਥਿਤ ਹੈ ਜਿੱਥੇ VCS ਸਿਮੂਲੇਸ਼ਨ ਚੱਲ ਰਿਹਾ ਹੈ।
- ਇੱਕ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਬਣਾਓ file VCS ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ ਅਤੇ ਕੰਪਾਇਲ ਕਰਨ ਲਈ।
6.1 ਵਾਤਾਵਰਨ ਵੇਰੀਏਬਲ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਆਪਣੇ ਸੈੱਟਅੱਪ ਦੇ ਆਧਾਰ 'ਤੇ VCS ਲਈ ਢੁਕਵੇਂ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰੋ। VCS ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਅਨੁਸਾਰ ਲੋੜੀਂਦੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਹਨ:
- LM_LICENSE_FILE: ਲਾਇਸੈਂਸ ਸਰਵਰ ਲਈ ਇੱਕ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- VCS_HOME: VCS ਸਥਾਪਨਾ ਦੇ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਟਿਕਾਣੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
- PATH: VCS_HOME ਡਾਇਰੈਕਟਰੀ ਦੇ ਹੇਠਾਂ ਬਿਨ ਡਾਇਰੈਕਟਰੀ ਲਈ ਇੱਕ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
6.2 ਕੰਪਾਇਲਡ ਲਾਇਬ੍ਰੇਰੀ ਡਾਊਨਲੋਡ ਕਰੋ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਮਾਈਕ੍ਰੋਸੇਮੀਜ਼ ਤੋਂ ਸਿਨੋਪਸੀਸ ਵੀਸੀਐਸ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ webਸਾਈਟ.
6.3 VCS ਸਿਮੂਲੇਸ਼ਨ ਸਕ੍ਰਿਪਟ File (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
VCS ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਡਿਜ਼ਾਈਨ ਤਿਆਰ ਕਰਨ ਤੋਂ ਬਾਅਦ ਅਤੇ ਵੱਖ-ਵੱਖ run.do fileLibero SoC ਤੋਂ, ਤੁਹਾਨੂੰ ਇਹ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
- ਲਾਇਬ੍ਰੇਰੀ ਮੈਪਿੰਗ ਬਣਾਓ file synopsys_sim.setup; ਇਹ file ਡਿਜ਼ਾਈਨ ਦੁਆਰਾ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਾਰੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਸਥਿਤੀ ਲਈ ਪੁਆਇੰਟਰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: - The file ਨਾਮ ਬਦਲਣਾ ਨਹੀਂ ਚਾਹੀਦਾ ਅਤੇ ਇਹ ਉਸੇ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਥਿਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਜਿੱਥੇ ਸਿਮੂਲੇਸ਼ਨ ਚੱਲ ਰਿਹਾ ਹੈ। ਇੱਥੇ ਇੱਕ ਸਾਬਕਾ ਹੈampਅਜਿਹੇ ਲਈ le file presynthesis ਸਿਮੂਲੇਸ਼ਨ ਲਈ.
ਕੰਮ > EFAULT
SmartFusion2 :
presynth: ./presynth
ਡਿਫੌਲਟ: ./ਕੰਮ - ਵੱਖ-ਵੱਖ ਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ ਕਰੋ files, ਟੈਸਟਬੈਂਚ ਸਮੇਤ, VCS ਵਿੱਚ vlogan ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ। ਇਹ ਕਮਾਂਡਾਂ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ file. ਹੇਠ ਇੱਕ ਸਾਬਕਾ ਹੈamprtl.v ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਇੱਕ ਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਕਮਾਂਡਾਂ ਦਾ le ਇਸ ਦੇ ਟੈਸਟਬੈਂਚ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ
testbench.v
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ VCS ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਿਜ਼ਾਈਨ ਨੂੰ ਕੰਪਾਇਲ ਕਰੋ।
vcs –sim_res=1fs presynth.testbench
ਨੋਟ: ਦ ਸਹੀ ਫੰਕਸ਼ਨਲ ਸਿਮੂਲੇਸ਼ਨ ਲਈ ਸਿਮੂਲੇਸ਼ਨ ਦਾ ਸਮਾਂ ਰੈਜ਼ੋਲੂਸ਼ਨ 1fs 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। - ਇੱਕ ਵਾਰ ਡਿਜ਼ਾਈਨ ਕੰਪਾਇਲ ਹੋ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਿਮੂਲੇਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ।
./simv - ਬੈਕ-ਐਨੋਟੇਟਿਡ ਸਿਮੂਲੇਸ਼ਨ ਲਈ, VCS ਕਮਾਂਡ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡਬਲਾਕ ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
vcs postlayout.testbench –sim_res=1fs –sdf ਅਧਿਕਤਮ:।<DUT ਉਦਾਹਰਨ
ਨਾਮ>: file path> -gui -l postlayout.log
6.4 ਸੀਮਾਵਾਂ/ਅਪਵਾਦ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
Synopsys VCS ਸੈੱਟਅੱਪ ਦੀਆਂ ਸੀਮਾਵਾਂ/ਅਪਵਾਦ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ।
- VCS ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ ਸਿਰਫ਼ Libero SoC ਦੇ ਵੇਰੀਲੌਗ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। VCS ਸਿਮੂਲੇਟਰ ਦੀਆਂ ਸਖ਼ਤ VHDL ਭਾਸ਼ਾ ਲੋੜਾਂ ਹਨ ਜੋ Libero SoC ਸਵੈ-ਤਿਆਰ VHDL ਦੁਆਰਾ ਪੂਰੀਆਂ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ। files.
- ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਚਾਹੋ ਸਿਮੂਲੇਸ਼ਨ ਨੂੰ ਰੋਕਣ ਲਈ ਵੇਰੀਲੌਗ ਟੈਸਟਬੈਂਚ ਵਿੱਚ ਤੁਹਾਡੇ ਕੋਲ $finish ਸਟੇਟਮੈਂਟ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: ਕਦੋਂ ਸਿਮੂਲੇਸ਼ਨਾਂ ਨੂੰ GUI ਮੋਡ ਵਿੱਚ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ, GUI ਵਿੱਚ ਚੱਲਣ ਦਾ ਸਮਾਂ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
6.5 ਐੱਸample Tcl ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ Files (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਹੇਠ ਦਿੱਤੀ ਪਰਲ synopsys_sim.setup ਦੀ ਪੀੜ੍ਹੀ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਦੀ ਹੈ file ਨਾਲ ਹੀ ਅਨੁਸਾਰੀ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ fileਡਿਜ਼ਾਈਨ ਨੂੰ ਵਿਸਤ੍ਰਿਤ, ਕੰਪਾਇਲ ਅਤੇ ਨਕਲ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।
ਜੇਕਰ ਡਿਜ਼ਾਈਨ MSS ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਤਾਂ test.vec ਦੀ ਨਕਲ ਕਰੋ file VCS ਸਿਮੂਲੇਸ਼ਨ ਫੋਲਡਰ ਵਿੱਚ Libero SoC ਪ੍ਰੋਜੈਕਟ ਦੇ ਸਿਮੂਲੇਸ਼ਨ ਫੋਲਡਰ ਵਿੱਚ ਸਥਿਤ ਹੈ। ਹੇਠ ਲਿਖੇ ਭਾਗਾਂ ਵਿੱਚ ਐੱਸample run.do files Libero SoC ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਨੁਸਾਰੀ ਲਾਇਬ੍ਰੇਰੀ ਮੈਪਿੰਗ ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਸਮੇਤ fileVCS ਸਿਮੂਲੇਸ਼ਨ ਲਈ ਲੋੜੀਂਦਾ ਹੈ।
੬.੫.੧ ਪੂਰ੍ਵ-ਸੰਸ਼ਲੇਸ਼ਣ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
Presynth_run.do
ਚੁੱਪਚਾਪ ACTELLIBNAME SmartFusion2 ਸੈੱਟ ਕਰੋ
ਚੁੱਪਚਾਪ PROJECT_DIR “/sqa/users/me/VCS_Tests/Test_DFF” ਸੈੱਟ ਕਰੋ
ਜੇਕਰ {[file ਮੌਜੂਦ ਹੈ presynth/_info]} {
ਈਕੋ "ਜਾਣਕਾਰੀ: ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਪ੍ਰੀਸਿੰਥ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
} ਹੋਰ {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/component/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
ਵੇਵ ਸ਼ਾਮਲ ਕਰੋ /SD1_TB1/*
log -r /* ਸ਼ਾਮਲ ਕਰੋ
1000ns ਚਲਾਓ
presynth_main.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” ਸੈੱਟ ਕਰੋ
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth “${PROJECT_DIR}/component/
work/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -ਕੰਮ
presynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ਕੰਮ > ਡਿਫੌਲਟ
SmartFusion2 : /VCS/SmartFusion2
presynth: ./presynth
ਡਿਫੌਲਟ: ./ਕੰਮ
6.5.2 ਸੰਸਲੇਸ਼ਣ ਤੋਂ ਬਾਅਦ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
postsynth_run.do
ਚੁੱਪਚਾਪ ACTELLIBNAME SmartFusion2 ਸੈੱਟ ਕਰੋ
ਚੁੱਪਚਾਪ PROJECT_DIR “/sqa/users/Me/VCS_Tests/Test_DFF” ਸੈੱਟ ਕਰੋ
ਜੇਕਰ {[file ਮੌਜੂਦ ਹੈ postsynth/_info]} {
ਈਕੋ "ਜਾਣਕਾਰੀ: ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਪੋਸਟਸਿੰਥ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"
} ਹੋਰ {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postsynth “${PROJECT_DIR}/synthesis/SD1.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -work postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
ਵੇਵ ਸ਼ਾਮਲ ਕਰੋ /SD1_TB1/*
log -r /* ਸ਼ਾਮਲ ਕਰੋ
1000ns ਚਲਾਓ
ਲੌਗ SD1_TB1/*
ਨਿਕਾਸ
Postsynth_main.csh
#!/bin/csh -f
PROJECT_DIR = “/sqa/users/Me/VCS_Tests/Test_DFF” ਸੈੱਟ ਕਰੋ
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth “${PROJECT_DIR}/synthesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -ਕੰਮ
postsynth “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
ਕੰਮ > ਡਿਫੌਲਟ
SmartFusion2 : /VCS/SmartFusion2
postsynth: ./postsynth
ਡਿਫੌਲਟ: ./ਕੰਮ
6.5.3 ਪੋਸਟ-ਲੇਆਉਟ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
postlayout_run.do
ਚੁੱਪਚਾਪ ACTELLIBNAME SmartFusion2 ਸੈੱਟ ਕਰੋ
ਚੁੱਪਚਾਪ PROJECT_DIR “E:/ModelSim_Work/Test_DFF” ਸੈੱਟ ਕਰੋ
ਜੇਕਰ {[file ਮੌਜੂਦ ਹੈ ../designer/SD1/simulation/postlayout/_info]} {
echo “INFO: ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ../designer/SD1/simulation/postlayout ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ”
} ਹੋਰ {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2”
vlog -work postlayout “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/stimulus” -ਵਰਕ ਪੋਸਟ-ਲੇਆਉਟ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
vsim -L SmartFusion2 -L ਪੋਸਟਲੇਆਉਟ -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf ਪੋਸਟਲੇਆਉਟ।SD1_TB1
ਵੇਵ ਸ਼ਾਮਲ ਕਰੋ /SD1_TB1/*
log -r /* ਸ਼ਾਮਲ ਕਰੋ
1000ns ਚਲਾਓ
Postlayout_main.csh
#!/bin/csh -f
PROJECT_DIR = “/VCS_Tests/Test_DFF” ਸੈੱਟ ਕਰੋ
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work ਪੋਸਟਲੇਆਉਟ “${PROJECT_DIR}/
designer/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k “+incdir+${PROJECT_DIR}/stimulus” -ਕੰਮ
ਪੋਸਟ-ਲੇਆਉਟ “${PROJECT_DIR}/stimulus/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
ਕੰਮ > ਡਿਫੌਲਟ
SmartFusion2 : /VCS/SmartFusion2
ਪੋਸਟ-ਲੇਆਉਟ: ./ਪੋਸਟਲੇਆਉਟ
ਡਿਫੌਲਟ: ./workVCS
6.6 ਆਟੋਮੇਸ਼ਨ (ਕੋਈ ਸਵਾਲ ਪੁੱਛੋ)
ਪ੍ਰਵਾਹ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੀ ਪਰਲ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਵੈਚਲਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ file ModelSim run.do ਨੂੰ ਬਦਲਣ ਲਈ files VCS ਅਨੁਕੂਲ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਹੈ files, Libero SoC ਸਿਮੂਲੇਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅੰਦਰ ਸਹੀ ਡਾਇਰੈਕਟਰੀਆਂ ਬਣਾਓ, ਅਤੇ ਫਿਰ ਸਿਮੂਲੇਸ਼ਨ ਚਲਾਓ।
ਸਕ੍ਰਿਪਟ ਚਲਾਓ file ਹੇਠ ਦਿੱਤੇ ਸੰਟੈਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
######################################## #########################
#
# ਉਪਯੋਗਤਾ: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
######################################## #########################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {ਪ੍ਰਿੰਟ “mkdir ਅਸਫਲ:\n”;}
if(system(“mkdir VCS_Postsynth”)) {ਪ੍ਰਿੰਟ “mkdir ਅਸਫਲ:\n”;}
if(system(“mkdir VCS_Postlayout”)) {ਪ੍ਰਿੰਟ “mkdir ਅਸਫਲ:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
chdir (“../”);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,"postsynth");
chdir (“../”);
chdir(VCS_ਪੋਸਟਲੇਆਉਟ);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,"postlayout");
chdir (“../”);
ਸਬ ਪਾਰਸ_ਡੂ {
my $vlog = “/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k” ;
ਮੇਰਾ %LIB = ();
ਮੇਰਾ $file = $__[0];
my $state = $_[1];
ਖੁੱਲਾ (INFILE,"$file”) || ਮਰੋ “ਖੋਲ੍ਹ ਨਹੀਂ ਸਕਦਾ File ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ:$!";
ਜੇਕਰ ( $state eq “presynth” )
{
ਓਪਨ(OUT1,">presynth_main.csh") || die “ਕਮਾਂਡ ਨਹੀਂ ਬਣਾ ਸਕਦਾ File ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ:$!";
}
elsif ( $state eq "postsynth" )
{
ਖੋਲ੍ਹੋ(OUT1,">postsynth_main.csh") || die “ਕਮਾਂਡ ਨਹੀਂ ਬਣਾ ਸਕਦਾ File ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ:$!";
}
elsif ($state eq "ਪੋਸਟਲੇਆਉਟ")
{
ਖੋਲ੍ਹੋ(OUT1,">postlayout_main.csh") || die “ਕਮਾਂਡ ਨਹੀਂ ਬਣਾ ਸਕਦਾ File ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ:$!";
}
ਹੋਰ
{
"ਸਿਮੂਲੇਸ਼ਨ ਸਟੇਟ ਗੁੰਮ ਹੈ \n" ਛਾਪੋ;
}
ਓਪਨ(OUT2,">synopsys_sim.setup") || die “ਕਮਾਂਡ ਨਹੀਂ ਬਣਾ ਸਕਦਾ File ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ:$!";
# .csh file
ਪ੍ਰਿੰਟ OUT1 “#!/bin/csh -f\n\n\n”;
#ਸਥਾਪਨਾ ਕਰਨਾ FILE
ਪ੍ਰਿੰਟ ਆਊਟ2 “ਵਰਕ > ਡਿਫੌਲਟ\n”;
ਪ੍ਰਿੰਟ OUT2 “SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n” ;
ਜਦਕਿ ($ਲਾਈਨ = <INFILE>)
{
Synopsys VCS ਸੈੱਟਅੱਪ
ਜੇਕਰ ($line =~ m/ਚੁੱਪ-ਚੁਪੀਤੇ ਸੈੱਟ ਕਰੋ PROJECT_DIR\s+\"(.*?)\"/)
{
ਪ੍ਰਿੰਟ OUT1 “ਸੈੱਟ PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
ਜੇਕਰ ($ਲਾਈਨ =~ m/\s+(\w*?)\_LIB/)
{
#ਪ੍ਰਿੰਟ “\$1 =$1 \n”;
$temp = "$1″."_LIB";
#ਪ੍ਰਿੰਟ "ਟੈਂਪ = $temp \n" ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
ਪ੍ਰਿੰਟ ਆਊਟ1 “$line\n”;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1;
$tb =~ s/ //g;
chomp($tb);
#ਪ੍ਰਿੰਟ "ਟੀਬੀ ਨਾਮ: $tb \n";
ਜੇਕਰ ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$ਲਾਈਨ = $1;
#ਪ੍ਰਿੰਟ "ਲਾਈਨ : $ਲਾਈਨ \n" ;
ਜੇਕਰ ($ਲਾਈਨ =~ m/max/)
{
$ਲਾਈਨ =~ s/ਅਧਿਕਤਮ \/// ;
$line =~ s/=/:/;
ਪ੍ਰਿੰਟ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ਅਧਿਕਤਮ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
ਪ੍ਰਿੰਟ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ਘੱਟੋ-ਘੱਟ:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
ਪ੍ਰਿੰਟ OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
ਟਾਈਪ ਕਰੋ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ਮਾਡਲਸਿਮ SDF ਫਾਰਮੈਟ
#$sdf = “-sdf ਅਧਿਕਤਮ:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf”; -ਵੀ.ਸੀ.ਐਸ
SDF ਫਾਰਮੈਟ
}
}
}
ਪ੍ਰਿੰਟ
ਆਊਟ1 “\n\n”
;
if
($state eq “presynth”
)
{
ਪ੍ਰਿੰਟ
OUT2 “presynth
: ./presynth\n”
;
ਪ੍ਰਿੰਟ
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n”
;
}
elsif
($state eq “postsynth”
)
{
ਪ੍ਰਿੰਟ
OUT2 “ਪੋਸਟਸਿੰਥ
: ./postsynth\n”
;
ਪ੍ਰਿੰਟ
OUT1 “/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n”
;
}
elsif
($state eq "ਪੋਸਟਲੇਆਉਟ"
)
{
ਪ੍ਰਿੰਟ OUT2 “ਪੋਸਟਲੇਆਉਟ: ./ਪੋਸਟਲੇਆਉਟ\n”;
}
ਹੋਰ
{
"ਸਿਮੂਲੇਸ਼ਨ ਸਟੇਟ ਗੁੰਮ ਹੈ \n" ਛਾਪੋ;
}
foreach $i ( ਕੁੰਜੀਆਂ % LIB)
{
#ਪ੍ਰਿੰਟ "ਕੁੰਜੀ: $i ਮੁੱਲ: $LIB{$i} \n" ;
ਪ੍ਰਿੰਟ ਆਊਟ2 “$i : ./$i\n” ;
}
ਪ੍ਰਿੰਟ ਆਊਟ1 “\n\n”;
ਪ੍ਰਿੰਟ OUT1 “./simv -l run.log\n” ;
ਪ੍ਰਿੰਟ ਆਊਟ2 “ਡਿਫੌਲਟ: ./work\n”;
ਵਿੱਚ ਬੰਦ ਕਰੋFILE;
OUT1 ਬੰਦ ਕਰੋ;
OUT2 ਬੰਦ ਕਰੋ;
}
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ (ਮਾਈਕ੍ਰੋਚਿੱਪ ਲੌਗਇਨ
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ ਉਹਨਾਂ ਤਬਦੀਲੀਆਂ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ ਜੋ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲਾਗੂ ਕੀਤੇ ਗਏ ਸਨ। ਤਬਦੀਲੀਆਂ
ਸਭ ਤੋਂ ਮੌਜੂਦਾ ਪ੍ਰਕਾਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋਏ, ਸੰਸ਼ੋਧਨ ਦੁਆਰਾ ਸੂਚੀਬੱਧ ਕੀਤੇ ਗਏ ਹਨ।
ਸੰਸ਼ੋਧਨ | ਮਿਤੀ | ਵਰਣਨ |
A | 12/2023 | ਇਸ ਸੰਸ਼ੋਧਨ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਬਦਲਾਅ ਕੀਤੇ ਗਏ ਹਨ: • ਦਸਤਾਵੇਜ਼ ਨੂੰ ਮਾਈਕ੍ਰੋਚਿੱਪ ਟੈਂਪਲੇਟ ਵਿੱਚ ਬਦਲਿਆ ਗਿਆ। ਸ਼ੁਰੂਆਤੀ ਸੰਸ਼ੋਧਨ। • ਅੱਪਡੇਟ ਕੀਤਾ ਸੈਕਸ਼ਨ 5. ਇੱਕ ਨਵਾਂ ਨੋਟ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸੀਮੇਂਸ ਕੁਏਸਟਾਸਿਮ ਸੈੱਟਅੱਪ/ਮੋਡਲਸਿਮ ਸੈੱਟਅੱਪ ਜੋ ਸਿਮੂਲੇਸ਼ਨ ਅਤੇ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਦੌਰਾਨ ਦਿਖਣਯੋਗਤਾ 'ਤੇ ਪ੍ਰਭਾਵ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। |
ਮਾਈਕ੍ਰੋਚਿਪ FPGA ਸਹਿਯੋਗ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਐੱਫਪੀਜੀਏ ਉਤਪਾਦ ਸਮੂਹ ਆਪਣੇ ਉਤਪਾਦਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਸਹਾਇਤਾ ਸੇਵਾਵਾਂ ਦੇ ਨਾਲ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਗਾਹਕ ਸੇਵਾ, ਗਾਹਕ ਤਕਨੀਕੀ ਸਹਾਇਤਾ ਕੇਂਦਰ, ਏ. webਸਾਈਟ, ਅਤੇ ਵਿਸ਼ਵਵਿਆਪੀ ਵਿਕਰੀ ਦਫਤਰ।
ਗਾਹਕਾਂ ਨੂੰ ਸਮਰਥਨ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮਾਈਕ੍ਰੋਚਿੱਪ ਔਨਲਾਈਨ ਸਰੋਤਾਂ 'ਤੇ ਜਾਣ ਦਾ ਸੁਝਾਅ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਬਹੁਤ ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਉਨ੍ਹਾਂ ਦੇ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਪਹਿਲਾਂ ਹੀ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਰਾਹੀਂ ਤਕਨੀਕੀ ਸਹਾਇਤਾ ਕੇਂਦਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ web'ਤੇ ਸਾਈਟ www.microchip.com/support. FPGA ਡਿਵਾਈਸ ਪਾਰਟ ਨੰਬਰ ਦਾ ਜ਼ਿਕਰ ਕਰੋ, ਉਚਿਤ ਕੇਸ ਸ਼੍ਰੇਣੀ ਚੁਣੋ, ਅਤੇ ਡਿਜ਼ਾਈਨ ਅੱਪਲੋਡ ਕਰੋ files ਤਕਨੀਕੀ ਸਹਾਇਤਾ ਕੇਸ ਬਣਾਉਣ ਵੇਲੇ.
ਗੈਰ-ਤਕਨੀਕੀ ਉਤਪਾਦ ਸਹਾਇਤਾ ਲਈ ਗਾਹਕ ਸੇਵਾ ਨਾਲ ਸੰਪਰਕ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਉਤਪਾਦ ਦੀ ਕੀਮਤ, ਉਤਪਾਦ ਅੱਪਗਰੇਡ, ਅੱਪਡੇਟ ਜਾਣਕਾਰੀ, ਆਰਡਰ ਸਥਿਤੀ, ਅਤੇ ਅਧਿਕਾਰ।
- ਉੱਤਰੀ ਅਮਰੀਕਾ ਤੋਂ, 800.262.1060 'ਤੇ ਕਾਲ ਕਰੋ
- ਬਾਕੀ ਦੁਨੀਆ ਤੋਂ, 650.318.4460 'ਤੇ ਕਾਲ ਕਰੋ
- ਫੈਕਸ, ਦੁਨੀਆ ਵਿੱਚ ਕਿਤੇ ਵੀ, 650.318.8044
ਮਾਈਕ੍ਰੋਚਿੱਪ ਜਾਣਕਾਰੀ
ਮਾਈਕ੍ਰੋਚਿੱਪ Webਸਾਈਟ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਸਾਡੇ ਦੁਆਰਾ ਔਨਲਾਈਨ ਸਹਾਇਤਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ web'ਤੇ ਸਾਈਟ www.microchip.com/. ਇਹ webਸਾਈਟ ਨੂੰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ files ਅਤੇ ਗਾਹਕਾਂ ਲਈ ਆਸਾਨੀ ਨਾਲ ਉਪਲਬਧ ਜਾਣਕਾਰੀ। ਉਪਲਬਧ ਸਮੱਗਰੀ ਵਿੱਚੋਂ ਕੁਝ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਉਤਪਾਦ ਸਹਾਇਤਾ - ਡਾਟਾ ਸ਼ੀਟਾਂ ਅਤੇ ਇਰੱਟਾ, ਐਪਲੀਕੇਸ਼ਨ ਨੋਟਸ ਅਤੇ ਐੱਸample ਪ੍ਰੋਗਰਾਮ, ਡਿਜ਼ਾਈਨ ਸਰੋਤ, ਉਪਭੋਗਤਾ ਦੇ ਮਾਰਗਦਰਸ਼ਕ ਅਤੇ ਹਾਰਡਵੇਅਰ ਸਹਾਇਤਾ ਦਸਤਾਵੇਜ਼, ਨਵੀਨਤਮ ਸੌਫਟਵੇਅਰ ਰੀਲੀਜ਼ ਅਤੇ ਆਰਕਾਈਵ ਕੀਤੇ ਸਾਫਟਵੇਅਰ
- ਆਮ ਤਕਨੀਕੀ ਸਹਾਇਤਾ - ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ (FAQ), ਤਕਨੀਕੀ ਸਹਾਇਤਾ ਬੇਨਤੀਆਂ, ਔਨਲਾਈਨ ਚਰਚਾ ਸਮੂਹ, ਮਾਈਕ੍ਰੋਚਿੱਪ ਡਿਜ਼ਾਈਨ ਪਾਰਟਨਰ ਪ੍ਰੋਗਰਾਮ ਮੈਂਬਰ ਸੂਚੀ
- ਮਾਈਕ੍ਰੋਚਿੱਪ ਦਾ ਕਾਰੋਬਾਰ - ਉਤਪਾਦ ਚੋਣਕਾਰ ਅਤੇ ਆਰਡਰਿੰਗ ਗਾਈਡਾਂ, ਨਵੀਨਤਮ ਮਾਈਕ੍ਰੋਚਿੱਪ ਪ੍ਰੈਸ ਰਿਲੀਜ਼ਾਂ, ਸੈਮੀਨਾਰਾਂ ਅਤੇ ਸਮਾਗਮਾਂ ਦੀ ਸੂਚੀ, ਮਾਈਕ੍ਰੋਚਿੱਪ ਵਿਕਰੀ ਦਫਤਰਾਂ ਦੀ ਸੂਚੀ, ਵਿਤਰਕ ਅਤੇ ਫੈਕਟਰੀ ਪ੍ਰਤੀਨਿਧ
ਉਤਪਾਦ ਤਬਦੀਲੀ ਸੂਚਨਾ ਸੇਵਾ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਦੀ ਉਤਪਾਦ ਤਬਦੀਲੀ ਸੂਚਨਾ ਸੇਵਾ ਗਾਹਕਾਂ ਨੂੰ ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦਾਂ 'ਤੇ ਮੌਜੂਦਾ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ। ਜਦੋਂ ਵੀ ਕਿਸੇ ਖਾਸ ਉਤਪਾਦ ਪਰਿਵਾਰ ਜਾਂ ਦਿਲਚਸਪੀ ਦੇ ਵਿਕਾਸ ਸੰਦ ਨਾਲ ਸਬੰਧਤ ਬਦਲਾਅ, ਅੱਪਡੇਟ, ਸੰਸ਼ੋਧਨ ਜਾਂ ਇਰੱਟਾ ਹੋਣ ਤਾਂ ਗਾਹਕਾਂ ਨੂੰ ਈਮੇਲ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਹੋਵੇਗੀ।
ਰਜਿਸਟਰ ਕਰਨ ਲਈ, 'ਤੇ ਜਾਓ www.microchip.com/pcn ਅਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।
ਗਾਹਕ ਸਹਾਇਤਾ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦਾਂ ਦੇ ਉਪਭੋਗਤਾ ਕਈ ਚੈਨਲਾਂ ਰਾਹੀਂ ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ:
- ਵਿਤਰਕ ਜਾਂ ਪ੍ਰਤੀਨਿਧੀ
- ਸਥਾਨਕ ਵਿਕਰੀ ਦਫ਼ਤਰ
- ਏਮਬੈਡਡ ਹੱਲ ਇੰਜੀਨੀਅਰ (ਈਐਸਈ)
- ਤਕਨੀਕੀ ਸਮਰਥਨ
ਗਾਹਕਾਂ ਨੂੰ ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਵਿਤਰਕ, ਪ੍ਰਤੀਨਿਧੀ ਜਾਂ ESE ਨਾਲ ਸੰਪਰਕ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਗਾਹਕਾਂ ਦੀ ਮਦਦ ਲਈ ਸਥਾਨਕ ਵਿਕਰੀ ਦਫ਼ਤਰ ਵੀ ਉਪਲਬਧ ਹਨ। ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਵਿਕਰੀ ਦਫਤਰਾਂ ਅਤੇ ਸਥਾਨਾਂ ਦੀ ਸੂਚੀ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ।
ਦੁਆਰਾ ਤਕਨੀਕੀ ਸਹਾਇਤਾ ਉਪਲਬਧ ਹੈ webਸਾਈਟ 'ਤੇ: www.microchip.com/support
ਮਾਈਕ੍ਰੋਚਿੱਪ ਡਿਵਾਈਸ ਕੋਡ ਪ੍ਰੋਟੈਕਸ਼ਨ ਫੀਚਰ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦਾਂ 'ਤੇ ਕੋਡ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਹੇਠਾਂ ਦਿੱਤੇ ਵੇਰਵਿਆਂ ਨੂੰ ਨੋਟ ਕਰੋ:
- ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦ ਉਹਨਾਂ ਦੀ ਖਾਸ ਮਾਈਕ੍ਰੋਚਿੱਪ ਡੇਟਾ ਸ਼ੀਟ ਵਿੱਚ ਮੌਜੂਦ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦੇ ਹਨ।
- ਮਾਈਕ੍ਰੋਚਿੱਪ ਦਾ ਮੰਨਣਾ ਹੈ ਕਿ ਇਸਦੇ ਉਤਪਾਦਾਂ ਦਾ ਪਰਿਵਾਰ ਸੁਰੱਖਿਅਤ ਹੈ ਜਦੋਂ ਉਦੇਸ਼ ਤਰੀਕੇ ਨਾਲ, ਓਪਰੇਟਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਅੰਦਰ, ਅਤੇ ਆਮ ਹਾਲਤਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- ਮਾਈਕਰੋਚਿੱਪ ਮੁੱਲਾਂ ਅਤੇ ਇਸ ਦੇ ਬੌਧਿਕ ਸੰਪੱਤੀ ਅਧਿਕਾਰਾਂ ਦੀ ਹਮਲਾਵਰਤਾ ਨਾਲ ਸੁਰੱਖਿਆ ਕਰਦੀ ਹੈ। ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦ ਦੀਆਂ ਕੋਡ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਉਲੰਘਣਾ ਕਰਨ ਦੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਦੀ ਸਖਤੀ ਨਾਲ ਮਨਾਹੀ ਹੈ ਅਤੇ ਡਿਜੀਟਲ ਮਿਲੇਨੀਅਮ ਕਾਪੀਰਾਈਟ ਐਕਟ ਦੀ ਉਲੰਘਣਾ ਹੋ ਸਕਦੀ ਹੈ।
- ਨਾ ਤਾਂ ਮਾਈਕ੍ਰੋਚਿੱਪ ਅਤੇ ਨਾ ਹੀ ਕੋਈ ਹੋਰ ਸੈਮੀਕੰਡਕਟਰ ਨਿਰਮਾਤਾ ਇਸਦੇ ਕੋਡ ਦੀ ਸੁਰੱਖਿਆ ਦੀ ਗਰੰਟੀ ਦੇ ਸਕਦਾ ਹੈ। ਕੋਡ ਸੁਰੱਖਿਆ ਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਹੈ ਕਿ ਅਸੀਂ ਗਾਰੰਟੀ ਦੇ ਰਹੇ ਹਾਂ ਕਿ ਉਤਪਾਦ "ਅਟੁੱਟ" ਹੈ।
ਕੋਡ ਸੁਰੱਖਿਆ ਲਗਾਤਾਰ ਵਿਕਸਿਤ ਹੋ ਰਹੀ ਹੈ। ਮਾਈਕ੍ਰੋਚਿੱਪ ਸਾਡੇ ਉਤਪਾਦਾਂ ਦੀਆਂ ਕੋਡ ਸੁਰੱਖਿਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਲਗਾਤਾਰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਵਚਨਬੱਧ ਹੈ।
ਕਾਨੂੰਨੀ ਨੋਟਿਸ
ਇਹ ਪ੍ਰਕਾਸ਼ਨ ਅਤੇ ਇੱਥੇ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿਰਫ਼ ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦਾਂ ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਨਾਲ ਮਾਈਕ੍ਰੋਚਿੱਪ ਉਤਪਾਦਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨ, ਟੈਸਟ ਕਰਨ ਅਤੇ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਸ਼ਾਮਲ ਹੈ। ਕਿਸੇ ਹੋਰ ਤਰੀਕੇ ਨਾਲ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਇਹਨਾਂ ਨਿਯਮਾਂ ਦੀ ਉਲੰਘਣਾ ਕਰਦੀ ਹੈ। ਡਿਵਾਈਸ ਐਪਲੀਕੇਸ਼ਨਾਂ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਸਿਰਫ ਤੁਹਾਡੀ ਸਹੂਲਤ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ ਅੱਪਡੇਟ ਦੁਆਰਾ ਬਦਲੀ ਜਾ ਸਕਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਤੁਹਾਡੀ ਜਿੰਮੇਵਾਰੀ ਹੈ ਕਿ ਤੁਹਾਡੀ ਅਰਜ਼ੀ ਤੁਹਾਡੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਪੂਰਾ ਕਰਦੀ ਹੈ। ਵਾਧੂ ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਸਥਾਨਕ ਮਾਈਕ੍ਰੋਚਿੱਪ ਵਿਕਰੀ ਦਫਤਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜਾਂ, 'ਤੇ ਵਾਧੂ ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਕਰੋ www.microchip.com/en-us/support/design-help/client-support-services.
ਇਹ ਜਾਣਕਾਰੀ ਮਾਈਕ੍ਰੋਚਿੱਪ ਦੁਆਰਾ "ਜਿਵੇਂ ਹੈ" ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਮਾਈਕ੍ਰੋਚਿਪ ਕਿਸੇ ਵੀ ਕਿਸਮ ਦੀ ਕੋਈ ਪ੍ਰਤੀਨਿਧਤਾ ਜਾਂ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦਾ ਹੈ ਭਾਵੇਂ ਉਹ ਪ੍ਰਗਟਾਵੇ ਜਾਂ ਅਪ੍ਰਤੱਖ, ਲਿਖਤੀ ਜਾਂ ਜ਼ੁਬਾਨੀ, ਸੰਵਿਧਾਨਕ ਜਾਂ ਹੋਰ, ਜਾਣਕਾਰੀ ਨਾਲ ਸਬੰਧਤ, ਪਰ ਸੀਮਤ ਸਮੇਤ ਸੀਮਤ ਨਹੀਂ ਗੈਰ-ਉਲੰਘਣ, ਵਪਾਰਕਤਾ, ਅਤੇ ਕਿਸੇ ਖਾਸ ਉਦੇਸ਼ ਲਈ ਫਿਟਨੈਸ, ਜਾਂ ਇਸਦੀ ਸਥਿਤੀ, ਗੁਣਵੱਤਾ, ਜਾਂ ਪ੍ਰਦਰਸ਼ਨ ਨਾਲ ਸੰਬੰਧਿਤ ਵਾਰੰਟੀਆਂ।
ਕਿਸੇ ਵੀ ਸਥਿਤੀ ਵਿੱਚ ਮਾਈਕ੍ਰੋਚਿਪ ਕਿਸੇ ਵੀ ਅਸਿੱਧੇ, ਵਿਸ਼ੇਸ਼, ਦੰਡਕਾਰੀ, ਇਤਫਾਕ, ਜਾਂ ਨਤੀਜੇ ਵਜੋਂ ਹੋਣ ਵਾਲੇ ਨੁਕਸਾਨ, ਨੁਕਸਾਨ, ਲਾਗਤ, ਜਾਂ ਕਿਸੇ ਵੀ ਕਿਸਮ ਦੇ ਖਰਚੇ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹੋਵੇਗੀ ਜੋ ਵੀ ਯੂ.ਐਸ. ਭਾਵੇਂ ਮਾਈਕ੍ਰੋਚਿਪ ਨੂੰ ਸੰਭਾਵਨਾ ਬਾਰੇ ਸਲਾਹ ਦਿੱਤੀ ਗਈ ਹੋਵੇ ਜਾਂ ਨੁਕਸਾਨਾਂ ਦੀ ਸੰਭਾਵਨਾ ਹੈ। ਕਨੂੰਨ ਦੁਆਰਾ ਆਗਿਆ ਦਿੱਤੀ ਗਈ ਪੂਰੀ ਹੱਦ ਤੱਕ, ਜਾਣਕਾਰੀ ਜਾਂ ਇਸਦੀ ਵਰਤੋਂ ਨਾਲ ਸਬੰਧਤ ਕਿਸੇ ਵੀ ਤਰੀਕੇ ਨਾਲ ਸਾਰੇ ਦਾਅਵਿਆਂ 'ਤੇ ਮਾਈਕ੍ਰੋਚਿਪ ਦੀ ਸਮੁੱਚੀ ਦੇਣਦਾਰੀ ਫੀਸਾਂ ਦੀ ਰਕਮ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੋਵੇਗੀ, ਜੇਕਰ ਤੁਹਾਨੂੰ ਕੋਈ ਵੀ, ਜਾਣਕਾਰੀ ਲਈ ਮਾਈਕ੍ਰੋਚਿੱਪ।
ਜੀਵਨ ਸਹਾਇਤਾ ਅਤੇ/ਜਾਂ ਸੁਰੱਖਿਆ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਮਾਈਕ੍ਰੋਚਿੱਪ ਡਿਵਾਈਸਾਂ ਦੀ ਵਰਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਖਰੀਦਦਾਰ ਦੇ ਜੋਖਮ 'ਤੇ ਹੈ, ਅਤੇ ਖਰੀਦਦਾਰ ਅਜਿਹੀ ਵਰਤੋਂ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਅਤੇ ਸਾਰੇ ਨੁਕਸਾਨਾਂ, ਦਾਅਵਿਆਂ, ਮੁਕੱਦਮੇ ਜਾਂ ਖਰਚਿਆਂ ਤੋਂ ਨੁਕਸਾਨ ਰਹਿਤ ਮਾਈਕ੍ਰੋਚਿੱਪ ਨੂੰ ਬਚਾਉਣ, ਮੁਆਵਜ਼ਾ ਦੇਣ ਅਤੇ ਰੱਖਣ ਲਈ ਸਹਿਮਤ ਹੁੰਦਾ ਹੈ। ਕਿਸੇ ਵੀ ਮਾਈਕ੍ਰੋਚਿੱਪ ਬੌਧਿਕ ਸੰਪੱਤੀ ਦੇ ਅਧਿਕਾਰਾਂ ਦੇ ਤਹਿਤ, ਕੋਈ ਵੀ ਲਾਇਸੈਂਸ, ਸਪਸ਼ਟ ਜਾਂ ਹੋਰ ਨਹੀਂ ਦੱਸਿਆ ਜਾਂਦਾ ਹੈ, ਜਦੋਂ ਤੱਕ ਕਿ ਹੋਰ ਨਹੀਂ ਦੱਸਿਆ ਗਿਆ ਹੋਵੇ।
ਟ੍ਰੇਡਮਾਰਕ
ਮਾਈਕ੍ਰੋਚਿੱਪ ਦਾ ਨਾਮ ਅਤੇ ਲੋਗੋ, ਮਾਈਕ੍ਰੋਚਿਪ ਲੋਗੋ, ਅਡਾਪਟੈਕ, ਏਵੀਆਰ, ਏਵੀਆਰ ਲੋਗੋ, ਏਵੀਆਰ ਫ੍ਰੀਕਸ, ਬੇਸਟਾਈਮ, ਬਿਟਕਲਾਉਡ, ਕ੍ਰਿਪਟੋਮੈਮੋਰੀ, ਕ੍ਰਿਪਟੋਆਰਐਫ, ਡੀਐਸਪੀਆਈਸੀ, ਫਲੈਕਸਪੀਡਬਲਯੂਆਰ, ਹੇਲਡੋ, ਆਈਗਲੂ, ਜੂਕੇਬਲੌਕਸ, ਕੀਲੋਕ, ਲਿੰਕਸ, ਮੈਕਲੈਕਸ, ਮੈਕਲੈਕਸ, ਮੇਕਲੇਕਸ MediaLB, megaAVR, Microsemi, Microsemi ਲੋਗੋ, MOST, MOST ਲੋਗੋ, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 ਲੋਗੋ, PolarFire, Prochip ਡਿਜ਼ਾਈਨਰ, QTouch, SAM-BA, SenGenuity, SpyNIC, SAM-BA, SenGenuity, SpyNIC, SAM-BAST, Supermtgo , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, ਅਤੇ XMEGA ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ ਅਤੇ ਹੋਰ ਦੇਸ਼ਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨਾਲੋਜੀ ਦੇ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹਨ।
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermit 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus- Smart Logo, Quiuset SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, ਅਤੇ ZL ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ ਵਿੱਚ ਸ਼ਾਮਲ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨਾਲੋਜੀ ਦੇ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹਨ।
ਅਡਜਸੈਂਟ ਕੀ ਸਪ੍ਰੈਸ਼ਨ, ਏ.ਕੇ.ਐਸ., ਐਨਾਲਾਗ-ਲਈ-ਡਿਜੀਟਲ ਏਜ, ਕੋਈ ਵੀ ਕੈਪੇਸੀਟਰ, ਐਨੀਇਨ, ਐਨੀਆਉਟ, ਆਗਮੈਂਟਡ ਸਵਿਚਿੰਗ, ਬਲੂਸਕਾਈ, ਬਾਡੀਕਾਮ, ਕਲੌਕਸਟੂਡੀਓ, ਕੋਡਗਾਰਡ, ਕ੍ਰਿਪਟੋ ਪ੍ਰਮਾਣਿਕਤਾ, ਕ੍ਰਿਪਟੋ ਆਟੋਮੋਟਿਵ, ਕ੍ਰਿਪਟੋ ਆਟੋਮੋਟਿਵ, ਕ੍ਰਿਪਟੋ, ਸੀਡੀਪੀਆਈਐਮਐਕਸਪੈਨ, ਡੀਸੀਡੀਪੀਆਈਐਮਸੀਡੀਐਸਪੈਨ, ਸੀਡੀਪੀਆਈਐਮਟੀਡੀਓਵਰ, ਮੈਕਸੀਕੋਮ , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, ਇਨ-ਸਰਕਟ ਸੀਰੀਅਲ ਪ੍ਰੋਗਰਾਮਿੰਗ, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip ਕਨੈਕਟੀਵਿਟੀ, JitterBlocker, Knob-on-Display, Kopmaxry, KoD,View, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB ਪ੍ਰਮਾਣਿਤ ਲੋਗੋ, MPLIB, MPLINK, MultiTRAK, NetDetach, ਸਰਵ ਵਿਆਪਕ ਕੋਡ ਜਨਰੇਸ਼ਨ, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, ਸੀਰੀਅਲ ਕਵਾਡ I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSQI,
SuperSwitcher II, Switchtec, Synchrophy, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, Viewਸਪੈਨ, ਵਾਈਪਰਲੌਕ, ਐਕਸਪ੍ਰੈਸ ਕਨੈਕਟ, ਅਤੇ ਜ਼ੇਨਾ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨਾਲੋਜੀ ਇਨਕਾਰਪੋਰੇਟਿਡ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ
ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ ਅਤੇ ਹੋਰ ਦੇਸ਼ਾਂ ਵਿੱਚ।
SQTP ਸੰਯੁਕਤ ਰਾਜ ਅਮਰੀਕਾ ਵਿੱਚ ਸ਼ਾਮਲ ਮਾਈਕ੍ਰੋਚਿੱਪ ਤਕਨਾਲੋਜੀ ਦਾ ਇੱਕ ਸੇਵਾ ਚਿੰਨ੍ਹ ਹੈ
Adaptec ਲੋਗੋ, ਫ੍ਰੀਕੁਐਂਸੀ ਆਨ ਡਿਮਾਂਡ, ਸਿਲੀਕਾਨ ਸਟੋਰੇਜ ਟੈਕਨਾਲੋਜੀ, ਅਤੇ ਸਿਮਕਾਮ ਦੂਜੇ ਦੇਸ਼ਾਂ ਵਿੱਚ ਮਾਈਕ੍ਰੋਚਿੱਪ ਟੈਕਨਾਲੋਜੀ ਇੰਕ. ਦੇ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹਨ।
GestIC ਮਾਈਕ੍ਰੋਚਿਪ ਟੈਕਨਾਲੋਜੀ ਜਰਮਨੀ II GmbH & Co. KG, ਮਾਈਕ੍ਰੋਚਿੱਪ ਟੈਕਨਾਲੋਜੀ ਇੰਕ. ਦੀ ਸਹਾਇਕ ਕੰਪਨੀ, ਦੂਜੇ ਦੇਸ਼ਾਂ ਵਿੱਚ ਇੱਕ ਰਜਿਸਟਰਡ ਟ੍ਰੇਡਮਾਰਕ ਹੈ।
ਇੱਥੇ ਦੱਸੇ ਗਏ ਹੋਰ ਸਾਰੇ ਟ੍ਰੇਡਮਾਰਕ ਉਹਨਾਂ ਦੀਆਂ ਸਬੰਧਤ ਕੰਪਨੀਆਂ ਦੀ ਸੰਪਤੀ ਹਨ।
© 2023, ਮਾਈਕ੍ਰੋਚਿੱਪ ਟੈਕਨਾਲੋਜੀ ਇਨਕਾਰਪੋਰੇਟਿਡ ਅਤੇ ਇਸ ਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ। ਸਾਰੇ ਹੱਕ ਰਾਖਵੇਂ ਹਨ.
ISBN: 978-1-6683-3694-6
ਗੁਣਵੱਤਾ ਪ੍ਰਬੰਧਨ ਸਿਸਟਮ
ਮਾਈਕ੍ਰੋਚਿਪ ਦੇ ਕੁਆਲਿਟੀ ਮੈਨੇਜਮੈਂਟ ਸਿਸਟਮ ਬਾਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਇੱਥੇ ਜਾਓ www.microchip.com/quality.
ਅਮਰੀਕਾ | ਏਸ਼ੀਆ/ਪੈਸਿਫਿਕ | ਏਸ਼ੀਆ/ਪੈਸਿਫਿਕ | ਯੂਰੋਪ |
ਕਾਰਪੋਰੇਟ ਦਫਤਰ 2355 ਵੈਸਟ ਚੈਂਡਲਰ ਬਲਵੀਡੀ. ਚੈਂਡਲਰ, AZ 85224-6199 ਟੈਲੀਫ਼ੋਨ: 480-792-7200 ਫੈਕਸ: 480-792-7277 ਤਕਨੀਕੀ ਸਮਰਥਨ: www.microchip.com/support Web ਪਤਾ: www.microchip.com ਅਟਲਾਂਟਾ ਡੁਲਥ, ਜੀ.ਏ ਟੈਲੀਫ਼ੋਨ: 678-957-9614 ਫੈਕਸ: 678-957-1455 ਆਸਟਿਨ, TX ਟੈਲੀਫ਼ੋਨ: 512-257-3370 ਬੋਸਟਨ ਵੈਸਟਬਰੋ, ਐਮ.ਏ ਟੈਲੀਫ਼ੋਨ: 774-760-0087 ਫੈਕਸ: 774-760-0088 ਸ਼ਿਕਾਗੋ ਇਟਾਸਕਾ, ਆਈ.ਐਲ ਟੈਲੀਫ਼ੋਨ: 630-285-0071 ਫੈਕਸ: 630-285-0075 ਡੱਲਾਸ ਐਡੀਸਨ, ਟੀ.ਐਕਸ ਟੈਲੀਫ਼ੋਨ: 972-818-7423 ਫੈਕਸ: 972-818-2924 ਡੀਟ੍ਰਾਯ੍ਟ ਨੋਵੀ, ਐਮ.ਆਈ ਟੈਲੀਫ਼ੋਨ: 248-848-4000 ਹਿਊਸਟਨ, TX ਟੈਲੀਫ਼ੋਨ: 281-894-5983 ਇੰਡੀਆਨਾਪੋਲਿਸ Noblesville, IN ਟੈਲੀਫ਼ੋਨ: 317-773-8323 ਫੈਕਸ: 317-773-5453 ਟੈਲੀਫ਼ੋਨ: 317-536-2380 ਲਾਸ ਐਨਗਲਜ਼ ਮਿਸ਼ਨ ਵੀਜੋ, CA ਟੈਲੀਫ਼ੋਨ: 949-462-9523 ਫੈਕਸ: 949-462-9608 ਟੈਲੀਫ਼ੋਨ: 951-273-7800 ਰਾਲੇਹ, ਐਨ.ਸੀ ਟੈਲੀਫ਼ੋਨ: 919-844-7510 ਨਿਊਯਾਰਕ, NY ਟੈਲੀਫ਼ੋਨ: 631-435-6000 ਸੈਨ ਜੋਸ, CA ਟੈਲੀਫ਼ੋਨ: 408-735-9110 ਟੈਲੀਫ਼ੋਨ: 408-436-4270 ਕੈਨੇਡਾ - ਟੋਰਾਂਟੋ ਟੈਲੀਫ਼ੋਨ: 905-695-1980 ਫੈਕਸ: 905-695-2078 |
ਆਸਟ੍ਰੇਲੀਆ - ਸਿਡਨੀ ਟੈਲੀਫ਼ੋਨ: 61-2-9868-6733 ਚੀਨ - ਬੀਜਿੰਗ ਟੈਲੀਫ਼ੋਨ: 86-10-8569-7000 ਚੀਨ - ਚੇਂਗਦੂ ਟੈਲੀਫ਼ੋਨ: 86-28-8665-5511 ਚੀਨ - ਚੋਂਗਕਿੰਗ ਟੈਲੀਫ਼ੋਨ: 86-23-8980-9588 ਚੀਨ - ਡੋਂਗਗੁਆਨ ਟੈਲੀਫ਼ੋਨ: 86-769-8702-9880 ਚੀਨ - ਗੁਆਂਗਜ਼ੂ ਟੈਲੀਫ਼ੋਨ: 86-20-8755-8029 ਚੀਨ - ਹਾਂਗਜ਼ੂ ਟੈਲੀਫ਼ੋਨ: 86-571-8792-8115 ਚੀਨ - ਹਾਂਗਕਾਂਗ SAR ਟੈਲੀਫ਼ੋਨ: 852-2943-5100 ਚੀਨ - ਨਾਨਜਿੰਗ ਟੈਲੀਫ਼ੋਨ: 86-25-8473-2460 ਚੀਨ - ਕਿੰਗਦਾਓ ਟੈਲੀਫ਼ੋਨ: 86-532-8502-7355 ਚੀਨ - ਸ਼ੰਘਾਈ ਟੈਲੀਫ਼ੋਨ: 86-21-3326-8000 ਚੀਨ - ਸ਼ੇਨਯਾਂਗ ਟੈਲੀਫ਼ੋਨ: 86-24-2334-2829 ਚੀਨ - ਸ਼ੇਨਜ਼ੇਨ ਟੈਲੀਫ਼ੋਨ: 86-755-8864-2200 ਚੀਨ - ਸੁਜ਼ੌ ਟੈਲੀਫ਼ੋਨ: 86-186-6233-1526 ਚੀਨ - ਵੁਹਾਨ ਟੈਲੀਫ਼ੋਨ: 86-27-5980-5300 ਚੀਨ - Xian ਟੈਲੀਫ਼ੋਨ: 86-29-8833-7252 ਚੀਨ - ਜ਼ਿਆਮੇਨ ਟੈਲੀਫ਼ੋਨ: 86-592-2388138 ਚੀਨ - ਜ਼ੁਹਾਈ ਟੈਲੀਫ਼ੋਨ: 86-756-3210040 |
ਭਾਰਤ - ਬੰਗਲੌਰ ਟੈਲੀਫ਼ੋਨ: 91-80-3090-4444 ਭਾਰਤ - ਨਵੀਂ ਦਿੱਲੀ ਟੈਲੀਫ਼ੋਨ: 91-11-4160-8631 ਭਾਰਤ - ਪੁਣੇ ਟੈਲੀਫ਼ੋਨ: 91-20-4121-0141 ਜਾਪਾਨ - ਓਸਾਕਾ ਟੈਲੀਫ਼ੋਨ: 81-6-6152-7160 ਜਪਾਨ - ਟੋਕੀਓ ਟੈਲੀਫ਼ੋਨ: 81-3-6880- 3770 ਕੋਰੀਆ - ਡੇਗੂ ਟੈਲੀਫ਼ੋਨ: 82-53-744-4301 ਕੋਰੀਆ - ਸਿਓਲ ਟੈਲੀਫ਼ੋਨ: 82-2-554-7200 ਮਲੇਸ਼ੀਆ - ਕੁਆਲਾਲੰਪੁਰ ਟੈਲੀਫ਼ੋਨ: 60-3-7651-7906 ਮਲੇਸ਼ੀਆ - ਪੇਨਾਂਗ ਟੈਲੀਫ਼ੋਨ: 60-4-227-8870 ਫਿਲੀਪੀਨਜ਼ - ਮਨੀਲਾ ਟੈਲੀਫ਼ੋਨ: 63-2-634-9065 ਸਿੰਗਾਪੁਰ ਟੈਲੀਫ਼ੋਨ: 65-6334-8870 ਤਾਈਵਾਨ - ਸਿਨ ਚੂ ਟੈਲੀਫ਼ੋਨ: 886-3-577-8366 ਤਾਈਵਾਨ - ਕਾਓਸਿੰਗ ਟੈਲੀਫ਼ੋਨ: 886-7-213-7830 ਤਾਈਵਾਨ - ਤਾਈਪੇ ਟੈਲੀਫ਼ੋਨ: 886-2-2508-8600 ਥਾਈਲੈਂਡ - ਬੈਂਕਾਕ ਟੈਲੀਫ਼ੋਨ: 66-2-694-1351 ਵੀਅਤਨਾਮ - ਹੋ ਚੀ ਮਿਨਹ ਟੈਲੀਫ਼ੋਨ: 84-28-5448-2100 |
ਆਸਟਰੀਆ - ਵੇਲਜ਼ ਟੈਲੀਫ਼ੋਨ: 43-7242-2244-39 ਫੈਕਸ: 43-7242-2244-393 ਡੈਨਮਾਰਕ - ਕੋਪਨਹੇਗਨ ਟੈਲੀਫ਼ੋਨ: 45-4485-5910 ਫੈਕਸ: 45-4485-2829 ਫਿਨਲੈਂਡ - ਐਸਪੂ ਟੈਲੀਫ਼ੋਨ: 358-9-4520-820 ਫਰਾਂਸ - ਪੈਰਿਸ Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 ਜਰਮਨੀ - ਗਰਚਿੰਗ ਟੈਲੀਫ਼ੋਨ: 49-8931-9700 ਜਰਮਨੀ - ਹਾਨ ਟੈਲੀਫ਼ੋਨ: 49-2129-3766400 ਜਰਮਨੀ - ਹੇਲਬਰੋਨ ਟੈਲੀਫ਼ੋਨ: 49-7131-72400 ਜਰਮਨੀ - ਕਾਰਲਸਰੂਹੇ ਟੈਲੀਫ਼ੋਨ: 49-721-625370 ਜਰਮਨੀ - ਮਿਊਨਿਖ Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 ਜਰਮਨੀ - ਰੋਜ਼ਨਹੇਮ ਟੈਲੀਫ਼ੋਨ: 49-8031-354-560 ਇਜ਼ਰਾਈਲ - ਰਾਨਾਨਾ ਟੈਲੀਫ਼ੋਨ: 972-9-744-7705 ਇਟਲੀ - ਮਿਲਾਨ ਟੈਲੀਫ਼ੋਨ: 39-0331-742611 ਫੈਕਸ: 39-0331-466781 ਇਟਲੀ - ਪਾਡੋਵਾ ਟੈਲੀਫ਼ੋਨ: 39-049-7625286 ਨੀਦਰਲੈਂਡਜ਼ - ਡ੍ਰੂਨੇਨ ਟੈਲੀਫ਼ੋਨ: 31-416-690399 ਫੈਕਸ: 31-416-690340 ਨਾਰਵੇ - ਟ੍ਰਾਂਡਹਾਈਮ ਟੈਲੀਫ਼ੋਨ: 47-72884388 ਪੋਲੈਂਡ - ਵਾਰਸਾ ਟੈਲੀਫ਼ੋਨ: 48-22-3325737 ਰੋਮਾਨੀਆ - ਬੁਕਾਰੈਸਟ Tel: 40-21-407-87-50 ਸਪੇਨ - ਮੈਡ੍ਰਿਡ Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 ਸਵੀਡਨ - ਗੋਟੇਨਬਰਗ Tel: 46-31-704-60-40 ਸਵੀਡਨ - ਸਟਾਕਹੋਮ ਟੈਲੀਫ਼ੋਨ: 46-8-5090-4654 ਯੂਕੇ - ਵੋਕਿੰਘਮ ਟੈਲੀਫ਼ੋਨ: 44-118-921-5800 ਫੈਕਸ: 44-118-921-5820 |
© 2023 ਮਾਈਕ੍ਰੋਚਿੱਪ ਟੈਕਨਾਲੋਜੀ ਇੰਕ. ਅਤੇ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ
DS50003627A -
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
ਮਾਈਕ੍ਰੋਚਿੱਪ ਲਿਬੇਰੋ ਐਸਓਸੀ ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਸੌਫਟਵੇਅਰ [pdf] ਯੂਜ਼ਰ ਗਾਈਡ DS50003627A, Libero SoC ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਸਾਫਟਵੇਅਰ, SoC ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਸਾਫਟਵੇਅਰ, ਸਿਮੂਲੇਸ਼ਨ ਲਾਇਬ੍ਰੇਰੀ ਸਾਫਟਵੇਅਰ, ਲਾਇਬ੍ਰੇਰੀ ਸਾਫਟਵੇਅਰ, ਸਾਫਟਵੇਅਰ |