본문 바로가기

language/systemC11

[systemC] image 입력받기 기존 verilog와 마찬가지로 image를 hex raw data로 변환시켜 입력을 받는 함수를 만들었습니다. 학부 때 이후로 C++을 건드리지 않았더니 문자열, 포인터에서 엄청 고생했습니다..... 우선 기존에 쓰던 lena.hex 파일을 parsing 받는 방식을 아래와 같이 했습니다. 제가 작성한 방식보다 더 좋은 방식을 찾아보려고 했으나, std함수나 vector에 너무 어색해서 아직은 사용은 못했습니다. 그리고 궁금한점은 lena.hex의 총 row는 400개에 RGBhex값을 보면 6개인데 arrays_size가 400*6이 아닌 400*8을 해야되더라구요... \0을 포함하더라고 400*7일것 같은데.... 아래는 최종 R값만 뽑아봤는데 잘 나오는 것을 확인 하였습니다. 이제 기존 de_i.. 2021. 5. 19.
[systemC] display sync signal gen 기존에 포스팅했던 내용을 기반으로 동일한 신호를 systemC를 이용해서 만들어 보겠습니다. https://leehc257.tistory.com/18?category=896295 [verilog] image 입/출력 설계 입력 받은 이미지를 verilog에서 영상 신호에 맞춰 뽑아주는 module을 설계해보려 합니다 1. image RGB channel 우선 우리가 알고 있는 이미지는 각 위치에 R, G, B값을 가지고 있으며 application 마다 다르겠 leehc257.tistory.com 저번에 습득했던 module을 만드는 것을 이해했으면 위의 신호를 만드는 건 문제가 없을 것 같네요 이런 sync_gen module을 만들고 이를 instance로 호출하여 wiring만 아래 처럼 잘해주면 .. 2021. 5. 19.
[systemC] module instance(SC_METHOD, SC_THREAD, SC_CTHREAD) 기존 verilog로 설계할 때와 마찬가지로 System 에서도 동일하게 필요한 module 별로 설계하여 필요한 곳에 instance로 삽입이 가능합니다. 아래처럼 clock을 이용하여 reset을 만들어내는 module을 driver, driver에서 생성한 신호를 이용하여 counter를 만들어내는 module을 sync_gen 이라고 하였을때 이 2가지 module을 top module에서 instance로 불러오고 필요한 신호를 assign 해주면 됩니다. 이렇게 설계를 하면 아래와 같은 신호 파형이 나오게 됩니다. 저도 공부중인데 systemC에서는 member function을 constructor에서 호출할 때 SC_METHOD, SC_THREAD, SC_CTHREAD이렇게 3가지로 나누어.. 2021. 5. 16.
[System C] 환경 구축하기 기존에 글을 올린 것처럼 집에서 System C를 study하기 위해 준비 중에 있습니다. 우선 이 책을 사서 한 번 다 읽어 보았습니다. 뒷 부분에는 많은 내용을 이해하지는 못하지만 큰 틀은 "RTL로 구현하기전 architecture를 빨리 구체화 시켜 simulation을 해본다" 라는 의미가 큰 것 같습니다. 시작하기에 앞서 우선 System C를 설치합니다 1. 설치하기 www.accellera.org/downloads/standards/systemc로 이동하여 library 파일을 다운받아줍니다 여기서 맨위의 압축파일을 받아 자신이 원하는 폴더에 압축을 풀어 줍니다. 압축을 풀기 위해 configure를 수행해줘야 하는데 build라는 폴더를 만들어 준 후 아래와 같이 명령어를 칩니다. mkd.. 2021. 5. 7.
[systemC] systemC study hardware architecture를 빠르게 탐색 및 기능 검증을 위한 systemC language 공부를 시작하려합니다. 기존에 UVM의 경우는 책은 샀는데 회사에서 하고있는 업무와 연관성이 낮아 천천히 조금씩 공부를 하고, systemC를 본격적으로 study하겠습니다. 2021. 4. 28.