폴더를 다음과 같이 만든다.
MPW_2008 -> src : 관련된 모든 소스코드를 넣는다.
sim : simulation 관련 파일 (testbench, testbench 에서 불러오는 파일 (*.dat 같은...), etc.)
testbench : msr_tb.v
관련된 모든 파일들을 'include 해놓는다. ex)
`include "../mt48lc32m8a2.v"
`include "../src/bram_active_word.v"
mt48lc32m8a2.v 랑 bram_active_word.v 를 include 한다. ../는 MSR_tb.v 가 있는 폴더를 의미,
../ 는 현재 tb파일이 있는 폴더의 상위폴더로 가는 것을 의미.
include 된 모든 파일들은 define 이나 기타 다른 선언을 겹치게 하면 안된다.
겹치게 될 parameter 들은 따로 parameter.v 에 선언하여 보관한다.
주의할 점은 compile될 하위 파일 내 'include 가 존재할 경우,
해당 'include의 path를 project를 만든 folder를 기준으로 수정해 놔야 한다는 점이다.
Modelsim -> 커맨드 창에서 다음과 같이 입력한다.
vlib work : work library를 만든다. 여기에 컴파일 되는 파일들이 들어간다.
vlog msr_tb.v : msr_tb.v를 컴파일한다. msr_tb.v 에 include 된 파일들도 함께 컴파일이 된다.
vsim msr_tb : msr_tb 를 시뮬레이션한다.
do wave.do : 저장한 wave.do 이 있다면 load 하여 wave 파형을 관찰한다.
run -all( 혹은 run 10ns) : 시뮬레이션을 끝까지( 혹은 원하는 시간까지) 수행함
restart : 시뮬레이션을 다시 시작함. 소스코드를 수정할 경우 vlog를 해준 후 restart 하면 바로 run -all 을 할 수 있음.
참조 : http://blog.naver.com/PostView.nhn?blogId=jwook1004&logNo=53354026&redirect=Dlog&widgetTypeCall=true
'[FPGA]' 카테고리의 다른 글
SOC, SOPC, I/O Interface 와 FPGA 관련 Web Sites (0) | 2012.11.14 |
---|---|
FPGA와 DDR3 SDRAM간 인터페이스 열쇠는 레벨링 (0) | 2012.11.02 |
PLL(Phase-Locked Loop) 과 DLL(Delay-Locked Loop) (0) | 2012.10.25 |
Modelsim Tutorial (0) | 2012.10.09 |
Ethernet Architecture Overview at Xilinx (0) | 2012.09.19 |