본문 바로가기

전체 글6

SystemC 요약 하기.. >> # include 에 관한 예전 호환성을 위해서 systemc.h 를 인클루드 했었는데.. 정확히는 ‘ #include ‘ 하고 ‘ using namespace sc_core: ‘ 처럼 사용 하는게 정상적인 방법 >> Entry Point Main() 함수는 systemc 라이브러리에 있으며 sc_main()을 호출 한다. SC_MAIN()은 사용자에 의해서 만들어 진다. >> SC_MODULE systemc 의 sc_module class를 상속 (inherit)받는 클래스를 만든다. 기본적으로 구조체로 만들어 지며 클래스와의 차이는 구조체는 기본 변수들이 모두 public으로 지정 되지만 클래스는 private으로 선언되므로 pulbic:으로 지정 해줘.. 2023. 7. 26.
UVM TLM 내용 정리 하자 UVM TLM 에서는 아래와 같은 지원을 한다. TLM1 – The TLM1 ports provide blocking and non-blocking pass-by-value transaction-level interfaces. TLM2 – The TLM2 sockets provide blocking and non-blocking transaction-level interfaces with well-defined completion semantics. Sequencer Port – A push or pull port, with well-defined completion semantics. Analysis – The analysis interface is used to perform non-blocking .. 2023. 7. 21.
vscode wsl 에서 cmake 환경 갖추기 ( with Ninja ) CMake는 컴파일러 및 플랫폼에 독립적인 구성 파일을 사용하여 컴파일러 및 플랫폼에 특정한 네이티브 빌드 도구를 생성하는 Open-Source, Cross-Platform Tool 입니다. vscode 에서는 CMake Tools extension 사용 하여 C ++ 프로젝트를 쉽게 구성, 빌드 및 디버그 할 수 있도록 합니다. CMake 는 Makefile Base로 Build 환경을 갖출 수도 있고 요즘 핫한 Ninja로 Build 환경을 갖출 수 있습니다.. 그런데 Vscode에서 CMake Extension을 사용하여 CMake를 하게 되면 기본으로 Makefile base가 되는거 같습니다. 그런데 여기에서 Ninja가 설치 되어 있다면 Ninja Base로 Build 환경울 갖춘다고 나와 있.. 2023. 7. 21.
Embedded 기본적인것들 title: "" tags: - embedded - startup - compile Embedded 기본 내용 정리 Startup 파일에 대해서 처음 시스템이 부팅 하고 나서 SRAM이나. DDR, 등이 초기화가 안되어 있는 상태이다. 이때 빠르게 동작 하거나 System을 초기 설정 해야 하는 경우가 있으며 C 언어로 프로그램 하다보면 함수등 때문에 Stack 부분을 써야 하는데 이는 아직 SRAM등이 초기화 되지 않아서 사용을 할 수가 없는 경우 , 이때 Startup.S 파일에 Interupt, 메모리나 클럭 PLL 등 초기화가 필요한 것들을 수행한다. 맨 마지막은 main 함수로의 점프로 마무리 한다. 익셉션벡터/메모리컨트롤러 설정/ 스택 영역 할당/ 메인함수로 Jump 이렇게 정리가 될려나. B.. 2023. 7. 21.