본문 바로가기

기타 언어20

[Verilog] 베릴로그 랜덤 값 설정하기 / $random / $urandom 랜덤 값 설정하기 input으로 들어갈 값들을 무작위로 설정해 줄 때 변수의 값을 무작위로 정해줘야할 때 $random 혹은 $urandom 을 이용한다. $random%숫자 : 숫자만큼의 범위 안의 무작위수를 32비트 정수로 반환한다. (signed) $urandom%숫자 : 숫자만큼의 양의 범위 안의 무작위수를 32비트 정수로 반환한다. (unsigned) 예시 reg [31:0] a,b; a=$random%1000; // a = -499~+499 사이의 임의의 정수 b=$urandom%1000; // b = 0~999 사이의 임의의 정수 2019. 10. 18.
[Ocaml] 모듈이란? / 모듈 사용법 / module 모듈이란? 관련있는 코드들의 모음을 뜻합니다. 다른 언어에서는 import 를 하듯 Ocaml 도 #load 를 통해 라이브러리를 로드하고 Open으로 모듈을 실행합니다. 우리가 작성하고 있는 파일도 그 자체로 모듈이 될 수 있습니다. 예를들어 test.ml 이라는 파일을 작성하고 있다면 test라는 모듈로서 사용이 가능한 것입니다. 모듈 사용 및 선언 모듈은 module 모듈이름 = struct 내용 fun1 x y = ~~ fun2 x y z = ~~ - 예시 end 로 직접 구현이 가능합니다. 모듈안에 모듈에 맞는 함수들을 만들어주면 모듈이름을 통해 함수로 접근이 가능합니다. - Ex) 모듈이름.fun1 5 2;; 또한 sig val (signitare value) 문을 통해 모듈 타입을 정해줄 수.. 2019. 10. 7.
[Ocaml] Type 선언 / Type 이란? Type 이란? 말 그대로 우리가 쓰는 int, float, string 같은 비슷한 맥락의 변수들의 카테고리 집합을 의미한다. 하지만 우리가 쓰는 이런 기존 타입들도 누군가의 설계에 의해 만들어진 것이다. 예를들면 '2 나 3 혹은 79 같은 소수점이 없는 정수들은 int 라는 type 으로 정의하자.' 라고 누가 이미 선언해놓은 것이다. Ocaml은 개발자가 직접 Type 선언이 가능하다. 기본 제공 Type 사용 예시: organ 이라는 신체기관을 의미하는 타입을 만들었다. | 는 여러 타입들을 나열할 때 사용되고 of 뒤에 나오는 것이 인자 라고 생각하면 된다. (인자 또한 타입을 가진다.) 예를들어 앞으로 Eye나 Mouth라는 것이 나오면 이제 Ocaml 에서는 organ type 으로 간주한.. 2019. 10. 2.
[Git] git add 사용법 / git add 종류 git add는 무엇인가? git add 는 파일을 추적을 시작하겠다는 뜻입니다. Commit 전에 이루어지며 git이라는 프로그램에서 이 파일을 추적을 시작했다 이렇게 이해하시면 됩니다! git add 의 종류 : * git add -h 를 입력하면 git add의 도움말을 볼 수 있습니다. 대표적으로 사용되는 것은 git add -p : 변동사항을 보여주며 차례차례 commit할 사항을 정할 수 있습니다. git add -u : 변경이 있는 파일만을 add할 수 있습니다. (새로 생긴 파일은 제외) git add . 혹은 git add -A : 모든 변동사항을 add합니다. 2019. 10. 1.
[Git] Git 저장소 / 로컬 저장소(Local Repository) / 원격 저장소(Remote Repository) Git 은 로컬 저장소(Local Repository)와 원격 저장소(Remote Repository) 두가지의 저장소로 나뉜다. 로컬 저장소 (Local Repository) : 현재 내가 사용하고 있는 내 디바이스(PC)에 저장되는 저장소이다. 내 PC의 폴더 라고 생각하면 된다. 원격저장소의 파일, 혹은 폴더를 로컬 저장소로 Pull 할 수 있다. 원격 저장소 (Remote Repository) : Git의 주 목적은 파일 공유에 있다. 원격 저장소는 원격 서버에 저장되고 관리되는 저장소이며, 로컬 저장소의 파일, 혹은 폴더를 원격 저장소에 Push 할 수 있다. 2019. 9. 30.
[Ocaml] hd, tl 문 / 함수형 프로그래밍 hd(head의약자) 와 tl(tail의 약자) 이란 List.hd, List.tl 을 의미하며 hd는 List의 첫 원소, tl은 첫 원소를 제외한 나머지 List를 추출한다. 예시) List.hd[1;2;3;4] = 1 List.tl[1;2;3;4] = [1;2;3] match와 함께 자주 쓰인다. 아래 모든 리스트 원소에 1씩 더해주는 함수 inc_one 를 예시로 보자. inc_one [1;2;3;] 를 한다면 (1+1) :: inc_one [2;3] .... inc_one[2;3] => (2+1) :: inc_one[3] inc_one[3] => (3+1) :: inc_one[] 결과적으로 [2;3;4] 가 출력된다. * :: 는 리스트에 원소 1개를 넣는 연산자이다. (리스트 끼리는 ::를 쓸.. 2019. 9. 28.