2016년 2월 2일 화요일

Xilinx System Generator -- 06. Lab 3 - Signal Routing

오늘도 간단한 예제를 실행해보자.

실제 Xilinx Blockset사이에 신호가 어떻게 넘어가는지 확인해봅시다.

만들어볼 첫번째 시스템은


자 시작해보자.

시뮬링크 source 블럭셋에서 Constant 불러와서Contant Value를 .5로 하고
자일링스 블럭셋에서 Gateway In 불러와서 Num of bits : 8, Bin of bits : 6으로
Gateway Out과 System Generator token, Display도 불러와서 아래와 같이 연결하자.


0.5를 signed xx.xx xxxx 이진수로 받으면 00.10 0000 으로 입력된다. 고대로 출력하면 0.5로 출력됨.


다음은 이걸 만들어보자.


아까 만들어놓은 시스템에서 Constant Value를 ,007813으로 바꾸고
Gateway In을 Num of bits : 12, Bin of bits : 12로 바꾸면 된다.


0.007813을 signed .xxxx xxxx xxxx 이진수로 받으면 .0000 0010 0000으로 입력된다. 고대로 출력하면 0.007813으로 출력됨. 실제로 .0000 0010 0000은 0,0078125지만 Display의 포맷을 short으로 해서 0.007813으로 출력된다. 포맷을 long로 바꾸면 원래값으로 출력된다.


마지막으로 만들건 이거다.


자일링스 블럭셋에서 Convert를 불러와서 Num of bits : 8, Bin of bits : 0으로
Reinterpret 불러와서 Signed, Output Binary Point : 0로 해서 연결해주자.


첫번째 시스템과 비슷한데, 일단 00.10 0000로 입력받고
Convert에서 Quantizaton 설정이 Truncate다. 표현가능한 소수 자리보다 오른쪽에 있는값은 버린다는건데 표현가능한 소수가 0이니까 소수값을 없애버린다. 걍 0이 출력되는거지.

Reinterpret는 입력받은 이진수는 손대지 않고 값의 형태를 실수에서 정수로 바꿔버린다. 설정을 그렇게 했으니까. 0010 0000로 걍 32가 출력되는거지.

이번 실습은 심플해서 좋네.

댓글 없음:

댓글 쓰기