본문 바로가기

분류 전체보기

(54)
Verilog HDL 설계 1 : Hierarchical Modeling 1. Verilog Module module이란 무엇인가.. 구글에 검색하면 이런 사전적 의미를 찾을 수 있다. 사전 정의 출처: Oxford Languages · 자세히 알아보기 모듈ː, module 명사 건축물 등을 지을 때에 기준으로 삼는 척도. 또는, 그 척도의 집합. 서양 고전 건축에서는 원기둥의 기부의 지름 또는 반지름을 말함. 기어의 톱니의 크기를 나타낸 값. 밀리미터로 나타낸 피치원(pitch 圓)의 지름을 톱니 수로 나눈 것. 컴퓨터 프로그램 내부를 기능별 단위로 분할한 부분. 또는, 메모리 보드 등의 부품을 간단하게 떼서 교환이 쉽도록 설계되어 있을 때의 그 각 구성 요소. module이란 어떤 단위나 기준, 척도가 될 수도 있겠다. 혹은 “단위 기능을 하는 요소”라고 생각할 수 있겠다..
HDL 이란? Hardware Description Language의 모든 것 ! Hardware Description Languages 초기 디지털 회로은 매우 매우 단순했다. 게이트 몇 개로만 구성됐을 뿐이었다. 이런 단순한 로직 회로는 종이에 그리거나 빵판에 직접 구현하여 검증이 가능했다. 그러나 더욱 복잡한 기능을 구현하기 위해, 로직 회로 디자인의 규모와 복잡성이 커져만 갔다. 설계자들은 제조(fabrication)전에 로직 디자인의 기능을 검증을 위하여 Hardware Description Language로 작성된 gate-level models를 사용하기 시작했다. 로직 회로가 더욱 더 복잡해져 설계자들이 100,000 gate가 넘는 설계를 하게 되자 gate-level models는 해당 로직을 나타내기에 너무 low-level이었다. 기능적인 스펙(functional..
[C언어] assign 연산자의 return 값을 활용한 string copy 함수 만들기 assign 연산자는 variable 에 값을 assign 할 뿐만 아니라 값을 return 한다. assing 연산자가 return한느 값은 바로 assign 한 값이다. (Rvalue, Right-Hand Side Value) 따라서 문자열 복사 ( string copy ) 함수를 C언어에서 다음처럼 구현할 수 있음. #include void str_copy(char* s, char*d){ while((*d++=*s++)!=0); } void main(void) { char a[5]; char b[5] = "ABCD"; str_copy(a, b); printf("%s\n%s\n", a, b); } 1) str_copy 함수는 source 문자열과 destination 문자열의 시작 주소를 s랑 d라는..
[C언어/파이썬] Insertion Sort Algorithm C와 Python으로 구현해보기 - 배열 맨 처음 정렬된 부분에 정렬되지 않은 다음 항목들을 반복적으로 삽입하는 방식이다. - 즉 미리 정렬된 리스트에 새 항목을 추가할 때 좋은 정렬 알고리즘이다. - 데이터의 크기가 작고 리스트가 이미 정렬되어있으면 다른 merge sort 나 quick sort 같은 고급 알고리즘보다 성능이 좋음 - 최선의 경우 시간복잡도 O(n) - 평균과 최악의 경우 시간복잡도 O(n^2) 1. insertion sort ( 삽입 정렬 ) 알고리즘 process index 0 1 2 3 4 5 11 3 28 43 9 4 를 정렬한다고 가정 outer loop i : 0 ~ 5 0 번부터 5번 인덱스 i 가 차례로 리스트에 추가된다고 가정한다. 인덱스 i 가 추가될 때에는 0~ i-1 까지는 정렬되어 있다고 가정..
[문제해결 알고리즘] BFS :: 연습문제 :: 미로탈출 로봇 대회(정올) :: C언어 0. 문제 설명 정올에서 미로탈출 로봇 대회를 개최하였다. 대회에 사용되는 미로는 가로(X), 세로(Y) 100이하의 크기이며, 미로를 한 칸 이동하는 데는 1초가 걸린다. 대회에 참가중인 민성이는 자신의 로봇이 가장 빨리 미로를 탈출하기 위해 미로의 모양을 입력받아서 도착점까지 가장 빠른 길을 찾으려고 한다. 프로그램을 작성하여 민성이를 도와주자. 입력 형식 첫줄에 미로의 크기 X, Y(1≤X, Y≤100)가 주어진다. 둘째 줄에 출발점 x, y 좌표와 도착점 x, y 좌표가 공백으로 구분하여 주어진다. 셋째 줄부터 미로의 정보가 길은 0, 벽은 1로 공백이 없이 들어온다. 출력 형식 첫줄에 출발점에서 도착점까지 가장 빠른 시간을 출력한다. 입력 예시 8 7 1 2 7 5 11111111 0000011..
[문제해결 알고리즘] BFS :: 너비우선탐색의 개념 0. BFS란? i. Breadth-First Search, 너비 우선 탐색을 말한다. 모든 경로를 탐색할건데, 각 경로를 깊게 방문하지 않고 넓게 방문할거라는 느낌만 우선 가져보자~ ii. 모든 경우의 수를 다 훑는 알고리즘이다. ( 정답을 찾을때까지 ) 모든 경우의 수를 다 탐색하는 알고리즘에는 DFS 와 BFS 가 있다. 깊이 우선 탐색(Depth-First Search)는 한 경로에 대한 탐색을 우선 완료한 다음 다른 경로를 탐색하지만, 너비 우선 탐색은 경로상 어느 정점(node)에서 다음에 방문할 수 있는 모든 경우의 노드를 전부 방문하고, 그 다음 단계로 넘어간다. (따라서 내가 이해한 바로는 몇번째 방문할 노드인지에 따라 각 노드에 Hierarchy(계층 수준)이 부여되기도 한다.) 그리고..
섹스앤더시티(Sex and The City) 1화 영어표현 1. up to one's ears : 너무 바쁘다. 할 일이 산더미이다. He said he was up to his ears and that he'd call her the next day. [Urban Dictionary] up to (one's) ears in (something) 1. Having an excessive or overwhelming amount of something. We're still unpacking our new house, so we're just up to our ears in boxes. If any of my guys get hurt at the construction site, I'll be up to my ears in paperwork. 2. Extremel..
0813의 점검과 계획 오늘은 생활 관련 정리를 좀 했다. 0. Notion 개인관리 페이지 업데이트 ● update : ✔️ 작업 목록 페이지로 좀 더 구체적인 목표 세우기 & 전략 수립 ✔️ 새로운 가계부 탬플릿 적용 - Notion Board Database를 사용하여 카테고리별 지출 항목& 금액 관리 - Relational Database를 이용하여 DB를 연동, 월별 지출 & 소득 추이를 테이블로 작성 ● what I've learned : ✔️ 처음으로 board DB 사용해봄 board DB는 agile work flow에서 봤던 칸반 보드랑 같은 기능이었다. 나는 그냥 개인 보드처럼 사용했다. board에서는 상태(status?)로 자동 분류가 된다. 꽤나 편리한 기능! 가계부 템플릿에서는 상태에 월(month)..