논리 게이트 논리 게이트 (AND, OR ,NOT 등)을 VHDL로 구현해보자. 12345678910111213141516171819202122232425library ieee;-- VHDL은 IEEE 국제 표준을 사용한다. use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity and_gate is-- Entity 선언부 는 설계하고자 하는 시스템의 외적 연결을 담당 한다.-- 회로의 내부적인 구조나 연결등을 고려할 필요가 없으며, -- 여기서 정의한 것을 통해 다음 Architecture Body 에서 내부적 동작을 표현한다.-- 즉, 입출력 선을 정의 하는 부분이다. port( ..
VHDL이란? VHSIC Hardware Description Language의 약자로 VHSIC은 또 Very High Speed Integrated Circuits의 약자이다. 디지털 회로를 표현하는 하드웨어 기술 언어이다. 탄생배경 VHDL은 미국 국방부에서 주문형 집적회로(ASIC = Application Specific Integrated Circuit)를 문서화하기 위해 제안되었다. 처음엔 동작을 기술하는 데에서 시작하였지만 반대로 기술된 문서로 회로를 디자인할 순 없을까? 생각하게 되었고 이를 통해 동작할 수 있는 회로를 구성할 수 있게 되었다. 오늘날에는 검증, 시연 등의 다양한 기능을 내포하게 되었다. 특징 특정 기술이나 공정에 대해 독립적- 공통된 기술 언어로 특정 기술이나 공정에 관계..
프로젝트 생성 File > New Project Wizard 저장 경로 및 프로젝트 이름 설정 Board 설정 [보드에 맞는 규격으로 선택] 설정 확인 후에 Finish VHDL 파일 생성 File > New VHDL File 다음과 같은 화면에서 HDL을 기술할 수 있다. HDL 기술이 끝나면 저장 VWF 파일 생성 아래 버튼을 눌러 VWF 파일에 사용될 입출력 정보를 저장하자. File > New University Program VWF를 선택 좌측 박스의 빈공간을 더블클릭 또는 우클릭하여 입출력 정보를 추가하자. Function Simulation Simulation > Options 에서 다음 설정을 해준다. Simulation > function simulation 입력 레벨을 설절한 후 아래 ..
과제 오목을 두는 프로그램을 만들어보자. 주어진 조건은 아래와 같다. 1. 화면에 바둑판을 그려라.2. 좌표를 입력받아 바둑판에 돌을 놓는 프로그램을 작성하라. (돌의 표시는 마음대로 해도 좋다)3. 검은돌과 흰돌을 번갈아 놓도록 수정하라.4. 바둑판에 놓이 검은 돌의 개수와 흰 돌의 개수가 출력되도록 수정하라. 순서도를 그려보자. 과제의 흐름도를 되새겨서 작성해본다. 1. 흑백돌, 승패여부를 나열했다. 12typedef enum target { WHITE = -1, EMPTY = 0, BLACK = 1 } TARGET;typedef enum game { WIN = 1, DRAW = 0, LOSE = -1 } GAME; // white 입장의 승패cs 2. 숫자보단 'A7'과 같은 형태로 작성하면 보기 ..
구조체 1. 2차원 평면에서 점은 (x, y) 좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point라는 구조체로 정의할 수 있다. 이 point 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라. (a) 두 점의 좌표가 일치하면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 int equal(struct point p1, struct point p2) (b) 점의 좌표를 받아서 이 점이 어떤 사분면에 속하는지를 반환하는 함수, 점이 속하는 사분면의 번호를 반환하는 함수 int quadrant(struct point p) 1234567891011121314151617181920212223242526272829303132333435363738394041#include typ..
프로젝트 생성 File > New Project Wizard 저장 경로 및 프로젝트 이름 설정 Board 설정 [보드에 맞는 규격으로 선택] 설정 확인 후에 Finish Schematic 파일 생성 File > New Block Diagram/Schematic File 화면 위에서 빈공간 더블클릭 하여 소자 검색 Name에 소자 이름으로 불러오기 가능 예제는 2 pin의 AND 게이트 검색 이제 입출력 핀을 생성해보자. 도구모음의 아이콘을 이용하거나 소자 검색을 통해 불러올 수 있다. 소자끼리의 연결은 아래 두 버튼이 활성화 된 상태에서 드래그를 통해서 연결이 가능하다. 회로 구성이 완료되었다면 저장하기 VWF 파일 생성 아래 버튼을 눌러 VWF 파일에 사용될 입출력 정보를 저장하자. File > New..
https://ohyung.net/205Quartus II 설치방법 본 글은 Quartus II 그 중에서도 13.0 버전을 교육용으로 설치하는 예제이니 참고하시길 바란다. 중간에 회원가입이 있는데 정 모르겠으면 크롬 번역기 돌린 후 가입하면 쉬울 것이다. 1. https://www.altera.com/ 홈페이지 접속 후 SUPPORT > Downloads로 이동 2. 설치할 버전을 선택 3. 설치 옵션 선택 잘 모르겠으면 똑같이 선택하자 4. 로그인 5. 다운로드 관리자로 보인다. 설치파일 다운로드 선택하여 설치 6. 설치 7. 브라우저를 키면 아래와 같은 설치 관리자가 켜져있다. 인내의 시간~ 8. 다운된 경로내의 'QuartusSetupWeb-' 파일을 클릭하여 설치한다. QuartusSetupWe..
생각해 볼 내용 배운 내용을 토대로 아래 질문에 대해 생각해보자. 1. 배열 S를 이용하여 "구민영"의 학년이 무엇인지 알아내는 프로그램을 작성하고 싶다. 순서도를 그려보자. 위 순서도에 대해 아래 질문에 답해보자. 1. 어디서부터, 어떻게 찾는가?- 배열의[0]번 원소부터 찾아간다.2. 찾으면 출력 후 멈추는가 아니면 계속 찾는가?- 찾을 때 까지 계속 반복한다.3. 없는 경우 없다는 것을 어떻게 아는가?- 배열이 없을 때의 결과를 따로 처리해 주어야 한다. 위 순서도의 문제점엔 무엇이 있고 어떻게 해결할 수 있을까? 2. 배열 S를 이용하여 우리 클래스의 모든 2학년 학생 이름을 출력하는 프로그램을 작성하고 싶다. 순서도를 그려보자. 위 순서도에 대해 아래 질문에 답해보자. 1. 어디서부터, 어떻게 ..
토론 우리 클래스 학생들에 대하여 이름을 입력하면 해당 학생의 학년이 출력되는 프로그램을 만들고자 한다. 먼저 아래와 같은 질문에 대한 답을 한번 생각해보자. 1. 학생 수가 1명이라면, 이름과 학년을 각각 일반 변수 1개씩을 선언하여 저장하는 것이 좋을까? 아니면 1개짜리 배열을 선언하여 저장하는 것이 좋을까? 그 이유는 무엇인가?2. 학생 수가 10명일 경우엔 어떠한가?3. 학생 수가 500명일 경우에는? 학생애 대한 정보(이름, 학년)를 일반 변수, 배열에 담았을 경우의 차이에는 무엇이 있을까? 일단 변수와 배열의 정의를 살펴보자. 변수와 배열 변수 : 데이터를 저장할 수 있는 메모리 공간 혹은 그 공간에 명칭을 부여한 것배열 : 변수를 여러개 선언할 때 하나의 명칭으로 관리하기 쉽도록 만든 변수 ..
과제 1 다음과 같이 출력하는 프로그램을 작성하라. (단, 별 하나가 프린트 된 후 약 1초의 시간이 지난 후에 다음 별이 프린트 되어야 한다.) Tip > 조건을 리스트화 하고 순서를 작성해보자. 1. 표시할 줄의 갯수를 지정한다.2. 매 층마다 층수에 맞는 별을 출력한다. (시간 딜레이는 1초)3. 각 층에 *을 채운 후에는 줄바꿈을 실행한다. 12345678910111213141516171819202122#include #include // system() 함수를 사용하기 위한 라이브러리 #define STAR '*' // 표시할 문자#define FLOOR 4 // 나타낼 층 수 int main(){ for (int i = 1; i 1-1. 출력할 줄 수를 입력 받아 1번과 같은 방식으로 출력하는..
- Total
- Today
- Yesterday
- vue.js
- DevOps
- Angular
- RDBMS
- aws
- oracle
- Cloud
- vue
- Gatsby.js
- MySQL
- SQLite
- 이진탐색 #중복
- svelte
- Quasar
- REACT
- nosql
- Next.js
- gcp
- Remix
- Azure
- nuxt.js
- alpine.js
- PostgreSQL
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |