본문 바로가기

분류 전체보기85

[systemverilog] enum 사용법 열거된 값의 집합을 정의하는 enum은 가질 수 있는 값을 알려주는 변수입니다. 1. 사용법 enum {RED, YELLOW, GREEN} light; // int type RED = 0, YELLOW = 1, GREEN = 2 위에서 light라는 값은 0, 1, 2라는 값을 RED, YELLOW, GREEN 이라는 표현을 통해 가질 수 있습니다. 다른 값을 할당을 하지는 못합니다 아래와 같이 default 값을 선언해줄수도 있습니다. enum {RED=3, YELLOW=9, GREEN} light; // int type RED = 3, YELLOW = 9, GREEN = 10 여기서 주의 할점은 default로 선언되지 않은 값은 이전값의 1을 더해주는 방식으로 할당이 되는데 아래와 같이 숫자가 중복.. 2021. 2. 2.
[linux] time 명령어 사용법(real, user, sys) linux환경에서 명령어 및 프로그램 수행에 대한 자세한 시간을 알려주는 명령어 입니다. 사용법은 사용하려는 명령어 앞에 time 만 붙여주면 됩니다. 1. 사용 화면 2. 설명 real : 총 수행 시간 user : cpu가 사용자 영역에서 보낸시간 sys : 시스템 호출 실행에 걸린 시간 2021. 2. 2.
[make] PHONY 사용법 makefile을 사용하는 방법은 터미널에서 아래와 같이 make target절을 입력하면 된다 하지만 아래와 같이 makefile을 작성하면 아래와 같은 문제가 발생한다 이유는 현재 디렉토리에 clean이라는 파일로 인해 target절로 선언되어있는 clean을 실행하지 못하게 된다 이럴 때 아래와 같이 선언하면 clean이라는 target은 무조건 실행이 가능하게 된다 2021. 2. 2.
[verilog] >>, >>>, <<, <<< 연산자 verilog에서 사용하는 shift 연산자는 크게 >>, >>, >> 2; //c == 5'b11101 d = a >>, 2021. 1. 31.
[verilog] generate 사용하기 RTL 설계하다보면 동일 block을 여러번 instance 할 경우가 생깁니다 이때 1~2개만 추가하는거면 모르겠지만 수십개를 추가하기에는 너무 효율이 좋지않아 gererate라는 keyword를 사용하여 설계를 한다고 합니다(저도 최근 공부하면서 알게됬네요) 참고한 사이트는 아래와 같습니다 www.chipverify.com/verilog/verilog-generate-block Verilog generate block A generate block allows to multiply module instances or perform conditional instantiation of any module. It provides the ability for the design to be built base.. 2021. 1. 31.
[systemverilog] automatic keyword 예전 블로그에서 automatic이 뭔지 몰라 정리를 했었던 적이 있습니다 blog.naver.com/ddacksal/222029970829 [Day 49] systemverilog 공부 - 8 (automatic, static, initialize, datatype) 새로 산 책에 제목에 있는 부분들이 정리가 어느정도는 되어있어서​나중에 다시 봤을때를 위해 정리를 해... blog.naver.com 이번에 다시 정리하면서 머리속에 넣어두려고 합니다. 해당 keyworkd는 verilog에서도 있었던 것 같은데, 정확히 찾아볼 시간이 없어서 우선 어떻게 사용하는지 정리를 합니다 일반적으로 verilog나 systemverilog에서 그냥 task를 사용하면 default static속성을 가지고 있습니다.. 2021. 1. 31.