Trong bài viết này tôi sẽ hướng dẫn các bạn chạy QUESTASIM dùng commad line như môi trường Linux (hay còn gọi là chạy ở chế độ batch-mode). Các bạn có thể chạy QuestaSim trực tiếp bằng GUI, nhưng cách này khá lâu, và phức tạp.
1. Cài đặt Cygwin.
Đầu tiên các bạn cài đặt Cygwin theo hướng dẫn ở link dưới, các bạn nên cài những soft cơ bản như : Bash , perl , makefile ...
2. Viết makefile và chạy nó trên Cygwin.
3.Running example (counter module).
Chạy Cygwin trên Desktop cd vào simulation folder và chạy makefile( compile, simulate, view).
make view để xem wavefrom
Các bạn có thể dùng cách này để gọi UVM lib nếu các bạn muốn study.
--------------------------------//DONE//----------------------------------------
1. Cài đặt Cygwin.
Đầu tiên các bạn cài đặt Cygwin theo hướng dẫn ở link dưới, các bạn nên cài những soft cơ bản như : Bash , perl , makefile ...
2. Viết makefile và chạy nó trên Cygwin.
Mã:
#—————————————————————————–
#
# Guide :
# 1.Run make compile : compile TB/RTL code.
# 2.Run make simulate : Simulation.
# 3.Run make view : Invoke waveform.
#—————————————————————————–
#Source code directory
RTL_DIR = ../rtl
TB_DIR = ../tb
TEST = tb.v
#—————————————————————————–
#RTL code
RTL_SRC = $(RTL_DIR)/cnt.v
#—————————————————————————–
#TB code
TB_SRC = $(TB_DIR)/$(TEST)
#—————————————————————————–
#Tools
COMPILER = vlog
SIMULATOR = vsim
#—————————————————————————–
#Tool options, compile and simulate flags
COFLAGS = -f
SFLAGS = -c
-t
ns -l report.log
-voptargs=”+acc”
-do “run -all” work.tb
#—————————————————————————–
#Tool output
#—————————————————————————–
#PHONY
.PHONY : compile simulate
#—————————————————————————–
#MAKE DIRECTIVES
compile: $(TB_SRC) $(RTL_SRC)
vlib work
vmap work work
$(COMPILER) $(TB_SRC) $(RTL_SRC)
simulate:
$(SIMULATOR) $(SFLAGS)
vcd2wlf test.vcd test.wlf
view :
vsim -i -view test.wlf &
clean :
rm -rf test.vcd
test.wlf
report.log
work
3.Running example (counter module).
Chạy Cygwin trên Desktop cd vào simulation folder và chạy makefile( compile, simulate, view).
make view để xem wavefrom
Các bạn có thể dùng cách này để gọi UVM lib nếu các bạn muốn study.
--------------------------------//DONE//----------------------------------------