카테고리 없음

vivado new project부터 and2 파일 설계까지(1)

이제팔 2023. 4. 12. 16:25

새프로젝트 부터 만들어보겠습니다.

위치는 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)에서 계속->