vivado new project부터 and2 파일 설계까지(1)
새프로젝트 부터 만들어보겠습니다.
위치는 d드라이브에 fpga안에 넣고 add뿐만아니라 다른 연산도 넣기 위해 comb_lab으로 이름을 설정하겠습니다.
and2파일을 만들어주시고 xc7a15tftg256-1을 이용해서 설계하겠습니다.
설정한 조건값이 맞다면FINISH를 눌러 완성하고
and2
설정이 완료되었고 and2파일을 클릭해보겠습니다.
1번선부터 해서 22번의 module 전까지 클릭해서 드리그해서 지우겠습니다.
assign y = a & b;를 넣어주겠습니다.
코드가 완성되었습니다.
저장하겠습니다. (플러피디스크모양클릭 / ctrl +s )
위의 파일이름 and2.v 옆에 * 가 뜨면 저장이 안된 상태라는 것입니다.
RTL ANALYSIS 밑에 OPEN Elaborated Design에서 Shemetic 클릭
SIMULATION -> RUN SIMULATION 클릭
and2 라는 모듈에 대해서 SIMULATION 할것입니다.
a , b 는 입력 y 는 출력입니다.
시간이 0ps 에 되어있으면 objects에서 a 를 눌러 force constant에서 force value를 0으로 적어주세요
b도 똑같이 해주세요
위의 시간을 100ns 로 설정해서 시작버튼을 눌러주세요
a 를 눌러 force constant에서 force value를 1으로 바꿔주세요.
force 에서 a 를 1 100ns run
b가 0이 되면 run하면
zoom fit 하면
y 눌러서 signal color로 gold로 색상을 바꿀수 있다.
restart를 클릭하면 시간축을 0로 바꿈
여기서 run 100ns하면
지금까지설정한게 time 0로 가면서 없어짐
-> 이상태가 그레이코드입니다.
다시 시간축 0
기본코드 00 -> 01 -> 10 -> 11
그레이코드 00 -> 01-> 11 -> 10 -> 00
1bit change 만하게 하라
a 클릭 force clock
주기신호에 대해서 값 설정
leading edge value : 0
trailing edge value : 1
period : 100ns
b 클릭 force clock
주기신호에 대해서 값 설정
leading edge value : 0
trailing edge value : 1
period : 50 ns
a랑 b는 주기를 다르게 해야한다.
save file as 해서 all files로 바꾸고 ny_and2.tcl로 저장
tcl concole 에서 이부분을 복사
restart
INFO: [Simtcl 6-17] Simulation restarted
run 100 ns
add_force {/and2/a} -radix hex {0 0ns} {1 50000ps} -repeat_every 100000ps
add_force {/and2/b} -radix hex {0 0ns} {1 25000ps} -repeat_every 50000ps
run 100 ns
코드를 수정해야한다.
radix는 hex 값 50000ps에서 50ns로 바꿈 10000ps에서 100ns로
restart
add_force {/and2/a} -radix hex {0 0ns} {1 50ns} -repeat_every 100ns
add_force {/and2/b} -radix hex {0 0ns} {1 25ns} -repeat_every 50ns
run 100 ns
로 수정해서 simulation 결과를 확인해보겠습니다.
tcl console에서
source + space bar + 복사된 diretory를 붙여넣고 ENTER 후 simulation을 확인한다.
여기서 위로화살표를 누르면 방금 적었던것이 다시 대화창에 적히면서 방금전껄 실행할 수 있습니다.
결과가 실행된것을 확인할 수 있습니다.
(2)에서 계속->