- 01.33분 디지털 시스템 설계를 위한 Verilog - Chapter 1
베릴로그를 작성하는 베릴로그모듈의 전체구조를 살펴보고 프로젝트를 생성하는 방법에 대해서 알아봅니다.
책갈피 : [00:14] 베릴로그 HDL/[00:52] 베릴로그가 있기 전 회로도 사용/[01:42] VHDL/[03:21] FDGA 프로그램/[05:11] ISE 프로젝트 네비게이터/[05:40] ISE 웹팩 살펴보기/[06:15] NEW 프로젝트 생성하기/[07:45] 프로젝트 셋팅/[09:07] 작성되는 언어 설정하기/[09:50] 프로젝트 summary/[10:46] 프로젝트 생성 수정하기/[11:58] 홈화면 수정하기/[12:20] 디자인 창 살펴보기/[13:31] 로그플레인 살펴보기/[14:46] 실행할 소스 파일 만들기/[15:16] 미리 작성된 파일 가져오기/[15:37] 여러종류의 파일 불러오기/[16:52] 파일설정창 살펴보기/[17:41] 테스트 파일의 위치/[18:56] 디자인 SUMMARY/[19:45] 작성된 코드 적용하기/[20:18] 구성된 모듈 살펴보기/[21:11] 문법 검사 하기/[23:14] 시뮬레이션으로 넘어가기/[24:30] ISim Simulator/[25:22] 시뮬레이터 결과 확인하기/[27:11] 보드 연결 구성하기/[27:30] 파일 구성하기/[28:03] UCF 파일 생성하기/[28:30] User Document 타입/[29:26] UCF 파일 구성 확인하기/[29:48] UCF 뷰탭에서 확인하기/[30:22] 물리적인 정보 기입하기/[31:11] UCF파일 지정하기/[31:22] 비트 스트림 파일 생성하기/[32:09] Generate Programming File 실행하기
- 02.57분 디지털 시스템 설계를 위한 Verilog - Chapter 2
베릴로그를 구성하는 데이터요소들에 대해서 알아보고 데이터타입에는 어떤것들이 있는지 알아봅니다.
책갈피 : [00:08] 베릴로그의 기본/[00:25] 기본단위 module/[01:19] 모듈이나 함수에 대한 구성 살펴보기/[03:19] 모듈의 전체 구조/[04:41] 모듈 헤더 양식/[05:57] 포트리스트 작성 방식/[06:15] 포트신호의 방향/[07:15] 포트 신호의 타입/[07:46] reg/[08:22] wire/[09:03] MSB와 LSB/[11:11] 포트신호의 이름 리스트/[11:43] 포트리스트 구성의 예/[13:20] 파라미터 리스트/[14:13] 파라미터 리스트 구성의 예/[14:58] 모듈헤더 구성의 예/[15:56] 모듈헤더 선언시 주의점/[16:45] 모듈헤더 적용 선언/[17:47] 간단하게 모듈헤더에 포트 선언하기/[19:15] 베릴로그 모듈 몸체/[21:52] 모듈에서 동시 실행될수 있는 작업/[22:37] continuous assignment문/[23:56] 이니셜 블록과 올웨이즈 블록/[24:56] 프로시져 문장/[26:33] 지연시간 추가/[27:29] 작성된 문자 보기/[29:52] 베릴로그에서의 데이터 구성/[31:15] 숫자 상수값/[32:45] h로 선언될 경우/[33:07] s가 붙었을 경우/[33:22] 숫자 상수값 표현의 예/[33:37] 선언된 값 찾아보기/[34:19] 2진법으로 나타낼 경우/[35:19] 2,8,16진수의 경우/[36:05] 값의 길이가 길어질 경우/[37:52] 잘못된 부분 보기/[39:22] 언더바 사용할 경우/[40:37] 베릴로그와 VHDL 상수값 표기 비교/[40:51] 베릴로그 보기/[41:07] VHDL/[41:52] 문자열 상수 입력할 경우/[42:12] string 상수값/[43:37] 변수의 길이가 다를경우/[43:50] ISE 네비게이터 실행/[44:00] 새 프로젝트 열기/[44:49] 프로젝트 설정/[45:36] 베릴로그 모듈파일 구성/[46:22] 소스 파일 이름 입력/[47:27] 디파인 모듈/[48:14] 요약부분 보기/[48:36] 모듈파일 생성 확인/[49:07] 모듈파일 수정/[49:52] 문자 상수 선언/[50:12] 변수 선언/[50:44] 블록 지정/[51:22] 문자열 입력/[53:07] 표현되는 부분 정의/[54:07] 코드컴파일/[54:29] 시뮬레이션 실행/[55:00] 결과값 확인/[55:15] 출력 부분 같게 만들기/[55:35] 결과값 확인/[55:53] 변수의 길이보다 출력된 크기가 작을 경우/[56:27] 결과값 확인
- 03.54분 디지털 시스템 설계를 위한 Verilog - Chapter 3
회로를 기술하는 기술방식의 문법사항을 살펴보고 예제를 가지고 그 기능에 대해서 이해합니다.
책갈피 : [00:06] 베릴로그 코멘트/[01:11] VHDL에서 비교/[01:42] 코드 보기/[02:36] 베릴로그 식별자/[04:30] 베릴로그 데이터타입/[06:08] net형 타입/[06:30] wire/[06:44] tri/[06:55] wand/wor/[07:30] trior/triand/[08:28] variable형 타입/[10:05] reg/[11:09] time/[12:37] vectors/[13:20] 싱글비트로 선언될 경우/[14:56] 벡터 값으로 선언된 또다른 형식/[16:00] 이니셜 블록을 이용한 할당문 구성/[16:56] 배열 데이터 타입/[17:44] integer a/[18:03] reg bool/[18:18] time chk_poit/[19:14] k=a/[20:07] 선언되는 부분 확인/[21:03] 메모리 데이터 타입/[21:40] 메모리 값이 표현된 코드 보기/[22:33] 베릴로그 할당문/[23:48] continuous assignment/[26:07] procedural assignment/[29:07] blocking assignment/[29:56] blocking assignment의 예/[32:06] 긴 코드로 구성하기/[32:22] 이니셜 블록에 구성된 코드 살펴보기/[32:59] 시간에 대한 키워드 언급이 없을경우/[33:43] 지연시간/[34:05] 코드 실행/[36:07] non-block assignment/[37:07] 문장 부호 보기/[39:00] non-block assignment를 사용한 코드 보기/[41:59] 베릴로그 코드를 이용한 회로 구성/[42:22] structural description/[42:37] dataflow description/[42:50] behavioral description/[43:22] structural description 구성 방법/[43:50] gate-level modeling/[44:22] 기본 게이트 종류/[44:52] 논리 연산/[45:21] or 연산/[46:58] 연산 값에 대한 부분 보기/[47:58] 입력값이 세개일 경우/[48:30] 인버터의 값 나타내기/[49:43] 계층적 설계/[50:27] 베릴로그 관점에서 보기/[51:00] 인스턴스네이션/[52:22] 커넥션 바이 오더/[52:50] 두번째 포트 연결 방식
- 04.48분 디지털 시스템 설계를 위한 Verilog - Chapter 4
회로를 설계하기 전에 알고리즘을 검증하는 방식에 대해서 알아보고 각각의 실행문장들에는 어떤것들이 있는지 알아봅니다.
책갈피 : [00:07] dataflow description/[01:02] dataflow description 코드의 예/[02:13] continuous assignments/[04:15] 신호의 세기/[05:45] 여러개의 할당문 열거의 예/[07:09] implicit continuous assignments/[07:42] continuous assignments 문으로 나눠 쓰는 방법/[08:13] 지연시간/[08:18] regular delay/[08:48] net delay/[09:28] implicit continuous assignment delay/[10:01] 산술 연산자/[11:13] 관계연산자/[12:35] 적용되는 비교연산자/[13:13] 논리 연산자/[14:33] 예시 보기/[16:21] 논리 연산자에서 짚고 넘어가야 할 점/[16:52] 비트 연산자/[17:30] binary/[19:03] 쉬프트 연산에서 꺽쇠 갯수의 차이/[19:30] unary reduction/[20:44] 기타연산자/[21:18] 예시 보기/[23:22] 연산자 우선순위/[23:52] behavioral description/[25:26] initial 블록/[28:26] 시뮬레이션 프로젝트 실행/[28:41] 프로젝트 파일 구성/[29:02] 모듈 파일 구성/[30:11] 변수 타입 만들기/[30:48] 변수값 입력/[31:14] 이니셜 블록 구성/[32:20] 시뮬레이션 종료 키워드 입력/[32:59] 컴파일/[33:37] 디스플레이 문 구성/[34:37] 문자 입력/[35:30] 컴파일/[35:52] 시뮬레이션 소스코드 선택/[36:06] 결과 확인/[36:50] 출력문 구성/[38:05] 결과 확인/[39:52] always 블록/[40:59] 프로젝트 구성/[41:52] 출력값 구성/[42:50] clk 값에 처음값 지정/[43:49] always 문 입력/[44:07] 구성 부분 검사/[44:28] 시뮬레이션 소스코드 선택/[44:43] 결과값 확인/[45:20] 변화되는 값 보기/[46:27] 시뮬레이션을 짧거나 길게 구성할 경우/[46:57] always 문의 사용
- 05.60분 디지털 시스템 설계를 위한 Verilog - Chapter 5
베릴로그의 회로를 검증하기위한 시뮬레이션 방식에 대해서 알아보고 시뮬레이션 task/function 을 예제를 통해 확인 합니다.
책갈피 : [00:33] procedural statement/[01:11] if 문/[02:06] 코드 보기/[03:43] if 를 중첩시킬때 주의해야 할 점/[04:26] case문/[05:55] 코드 보기/[07:41] casez/[07:59] casex/[08:30] while 문/[08:43] 코드 보기/[10:41] for 문/[11:52] repeat문/[13:00] forever문/[13:41] 문장 살펴보기/[14:26] task/function call/[15:39] task와 function 호출하는 법/[16:11] task와 function 차이점/[19:00] task와 function 공통점/[20:44] task 코드 구성 보기/[21:30] 호출문 보기/[26:11] 시뮬레이션/[26:44] task 문이 실행되기 전까지의 코드 삽입/[27:03] task 문 선언/[27:22] 컴파일/[27:40] 시뮬레이션 실행/[27:51] 결과값 확인/[28:32] 코드 보기/[31:56] 테스크 호출시 테스크의 변수를 새로운 기억 장소에 할당시키기/[34:30] function 코드 보기/[36:07] 함수의 정의 부분 자세히 보기/[38:45] 시뮬레이션/[39:00] 새 function 구성/[39:13] 출력문 구성/[40:00] 함수 호출문에 대한 함수 function 구성/[40:35] 컴파일/[40:49] 시뮬레이션 실행/[41:00] 결과값 확인/[42:07] 키워드를 사용하는 템플릿 살펴보기/[43:44] verilog simulation/[44:07] 모듈 검증/[45:28] verilog test fixture/[45:49] verilog test fixture 를 구성하는 모듈에 대한 부분 보기/[46:34] verilog test fixture 파일의 특징/[47:30] 주요 task 또는 함수/[47:45] $stop/[47:52] $finish/[48:00] $display/[48:27] $monitor/[50:07] 출력 format의 형태/[51:00] 코드 적용/[52:00] 프로젝트 구성/[52:28] 값 할당 받을 변수 선언/[52:59] 컴파일/[53:27] 시뮬레이션을 위한 테스트 파일 구성/[55:37] 테스트 파일 살펴보기/[56:34] 시뮬레이션 실행/[57:00] 결과 확인/[58:04] 출력문 보기/[59:51] display값 적용/[60:07] 결과 확인
- 06.1시간 7분 Verilog를 활용한 최적의 설계 가이드 - Chapter 1
시뮬레이션 키워드와 compiler directive, conditional compilation에 대해 알아봅니다
책갈피 : [00:20] 덧셈기 구성/[00:34] 변수 선언/[01:59] sum 입력/[02:15] 변수 값 받아 계산하기 위한 모듈 구성/[02:59] 연산 부분 구성/[03:46] output 값 구성/[04:40] 할당문 구성/[05:13] 테스트 모듈에서 사용 될수 있게 구성하기/[05:29] 모듈 가져오기/[06:15] 시뮬레이션 코드 보기/[07:08] 컴파일/[08:11] 지정된 부분 확인/[09:09] 시뮬레이션 실행/[09:16] 결과 확인/[10:35] 테스크 키워드/[11:11] 디스플레이 키워드만 이용해 모듈 구성 시 출력 되는 형태 알아보기/[11:43] 구성 확인/[13:52] 프로젝트 파일 실행/[14:07] 모듈 구성/[14:20] 변수 값 선언/[14:58] 파일 구성/[15:24] 모듈파일 생성 확인/[15:39] 컴파일/[16:03] 시뮬레이션 실행/[16:22] 결과 확인/[17:37] 모니터 키워드를 이용한 실행 문장 구성/[19:18] 프로젝트 구성/[20:18] 이니셜 블록 구성/[21:15] 컴파일/[21:33] 파일 구성/[22:26] 시뮬레이션 실행/[22:37] 결과 확인/[24:52] 키워드 종류에 대해 알아보기/[25:11] monitoroff/[25:45] monitoron/[26:22] strobe/[27:18] strobe 와 display 비교/[30:44] 새 프로젝트 생성/[31:11] 변수 지정/[31:52] 블록문 구성/[32:28] always문 할당/[34:27] a 값 변형/[35:07] display 적용/[35:37] strobe값 적용/[36:51] 초기값 바꿔주는 구문 작성/[37:37] 테스트 파일 구성/[38:15] 시뮬레이션 실행/[38:37] 결과 확인/[41:22] 코드 위치 변경/[42:00] 결과 확인/[42:45] strobe 문장 위쪽으로 적용/[43:20] 랜덤 키워드를 사용 했을때 실행 되는 문장 살펴보기/[44:15] 새 프로젝트 생성/[44:42] random 함수 입력/[45:22] seed 값 입력/[46:45] always 문 입력/[47:12] 컴파일/[47:27] 테스트 파일 구성/[48:06] 결과 확인/[49:00] readmem 키워드/[51:57] 프로젝트 생성/[52:22] 메모리 저장 공간 구성/[53:27] readmemb 입력/[53:52] 저장된 값 출력 될수 있게 구성/[54:45] 테스트 파일 생성/[55:12] 결과 확인/[56:52] compiler directive/[57:45] define/[58:52] 예시 보기/[60:30] include/[61:37] timescale/[64:00] 예시 보기/[64:48] conditional compilation/[65:39] 예시 보기
- 07.58분 Verilog를 활용한 최적의 설계 가이드 - Chapter 2
조합회로를 구성하는 procedural assignment문에 대해서 예제와 함께 알아봅니다.
책갈피 : [00:07] verilog 합성 표현/[00:59] 합성 가능한 코딩 스타일 보기/[01:34] 반복문에 대한 종류/[02:13] mux 설계/[04:15] 2:1 mux gate/[05:30] 예시 보기/[06:15] 연결선/[08:11] 변경 되는 부분 확인/[11:37] 시뮬레이션을 통해 확인하기/[11:46] 프로젝트 파일 생성/[12:18] 인풋값 선언/[12:37] 출력값 선언/[12:52] 연결선에 대한 타입 지정/[13:13] 컴파일/[13:28] 테스트 파일 구성/[14:01] 결과 확인/[15:13] 값 변경/[15:43] 컴파일/[16:03] 결과값 확인/[17:55] s 값 구성/[18:51] 결과값 확인/[19:26] 중복되는 연산 지우기/[20:03] assign-continuous assignment/[20:59] 새 모듈파일 구성/[21:51] 할당문 키워드 입력/[23:37] 시뮬레이션 테스트 파일 구성/[24:40] 결과 확인/[25:30] 탑 모듈로 변경/[25:47] 컴파일/[26:07] 테스트 파일 선택 후 실행/[26:37] conditional-continuous assignment/[27:07] 프로젝트에 적용하기/[28:00] 시뮬레이션 실행/[28:51] procedural assignment문-if문/[29:26] if문을 이용한 설계/[30:03] 달라진 점/[30:41] 모듈 내부 부분 보기/[32:52] 프로젝트 구성/[33:22] always 블록 구성/[34:13] 시뮬레이션 파일 구성/[34:45] 결과 확인/[35:28] 시간에 따른 y에 대한 값의 변화 알아보기/[36:19] 컴파일/[36:37] 결과 확인/[39:05] 센시티비티 리스트 사용법/[41:15] if문 조건 다른 방식으로 사용하기/[42:07] 조건 선언/[43:30] 중요한 점/[45:36] else if 문/[46:07] 포트리스트 보기/[47:00] 처음에 나타나는 if 조건 확인/[48:07] 프로젝트 생성 후 코드 구현/[48:37] else if문 구성/[48:52] 컴파일/[49:04] 테스트 파일 구성/[49:36] 결과 확인/[50:37] 값 수정/[53:15] 컴파일/[53:45] 시뮬레이션 실행/[54:00] 결과 확인/[57:07] 기호값 사용할 경우/[57:37] 결과 확인
- 08.48분 Verilog를 활용한 최적의 설계 가이드 - Chapter 3
베릴로그로 포현하는 입력과 출력의 Don't care표현을 구성하고 그 결과값이 어떻게 나타나는지 확인해봅니다.
책갈피 : [00:09] 조건문을 활용한 조합회로 표현/[00:20] case 문 사용 예제/[04:25] case문에서 확인/[06:00] 시뮬레이션 적용할 case문 확인/[06:15] 프로젝트 생성/[06:45] case문 실행할수 있는 문장 입력/[07:00] 컴파일/[07:15] 시뮬레이션을 위한 파일 생성/[07:46] 확인/[08:22] sel값 입력/[09:31] 시뮬레이션 결과값 적용/[09:35] 결과 확인/[10:48] case 문과 else if 문의 구조적 차이/[12:56] case 문과 else if 문의 장단점/[13:03] worst case delay/[13:41] 조건문 표현력/[14:05] 우선순위 표현력/[14:56] 출력 don't care 표현/[16:44] 진행되는 코드 살펴보기/[19:26] 공통적인 부분 표현/[20:00] 새 프로젝트 구현/[20:40] case문 구성/[21:07] 테스트 파일 생성/[21:41] 모듈 파일 생성 확인/[22:45] 컴파일/[23:07] 결과 확인/[25:07] 불완전한 케이스문 완전한 케이스문으로 만들기/[25:56] 컴파일/[26:37] 입력 don't care 표현 (casex,casez)/[26:56] 구현 예시/[28:17] don't care 조건으로 표현하기/[32:06] 우선순위 반영되는지 확인하기/[33:22] a에 대한 값이 0으로 입력됐을 경우 조건/[33:52] 출력문 바꿔 선언하기/[35:20] vhdl 에서의 case 문과 베릴로그 에서의 casex,casez의 차이점/[36:22] full case / parallel case/[38:45] full case / parallel case 문 예시/[39:57] don't care 조건을 명시적으로 나타낸 하드웨어 코드/[41:44] module mux3to1/[42:15] 경우의 수 네가지/[44:21] full dase 문 적용/[44:35] synopsys full_case/[45:12] 주의할점/[45:45] parallel case문 예시/[46:51] 추가적으로 비교하게될 로직 부분 보기/[47:54] synopsys parallel_case
- 09.1시간 4분 Verilog를 활용한 최적의 설계 가이드 - Chapter 4
latch가 생성되는 발생조건에 대해서 시뮬레이션을 통해 결과를 확인합니다.
책갈피 : [00:22] Decoder/[03:07] case 문을 이용한 모듈 구성/[05:56] default 문 구성/[06:15] 새 프로젝트 구성/[07:11] 모듈 내부 구성/[07:30] if 조건 입력/[07:46] else 조건 입력/[09:01] 참 이었을 경우 case 문 구성/[09:46] 경우의 수 적용 부분 입력/[10:15] 컴파일/[10:46] 테스트 파일 생성/[11:16] 생성 확인/[12:37] y에 대한 출력 값 확인/[14:00] 시뮬레이션 결과 확인/[16:25] en 값 0값으로 변경/[16:48] 결과 확인/[18:29] 간략하게 표현한 코드 살펴보기/[20:11] if 조건을 이용한 디코드 회로 만들기/[20:48] 컴파일/[21:22] 결과값 확인/[22:33] encoder 회로/[23:26] encoder 코드 예시/[26:22] module encoder_case/[28:03] encoder를 이용한 시뮬레이션 결과/[28:15] 포트리스트 구성/[29:11] always 블록 설정/[29:33] if 조건 입력/[30:03] 컴파일/[30:17] 시뮬레이션 파일 구성/[31:15] 결과값 확인 부분 구성/[32:15] 지연시간에 따라 변경되는 부분 입력/[32:37] 컴파일/[33:00] 결과 확인/[34:21] latch/[36:12] latch가 발생되는 상황/[36:22] else가 빠진 if문/[39:22] 새 프로젝트 생성/[39:50] 입력값, 출력값 입력/[40:19] latch 발생을 위한 코드 구성/[41:15] 컴파일/[41:50] 테스트 파일 생성/[42:34] 파일 생성 확인/[43:07] 시뮬레이션 동작시 연산 실행을 위한 값 설정/[43:22] 지연시간 설정/[45:29] 컴파일/[45:42] 시뮬레이터 실행/[46:04] 결과 확인/[48:49] latch 발생의 예/[49:06] reset이 있는 latch/[51:00] else 문으로 구성/[51:37] if 문으로 구성/[52:58] latch가 발생되는 게이트와 발생되지 않는 게이트/[54:37] default 값 이용/[56:22] 기본값 지정해서 latch 방지하기/[57:22] 중첩된 if문/[58:52] 중첩된 if문에서 latch 발생/[59:45] default가 빠진 case문
- 10.55분 Verilog를 활용한 최적의 설계 가이드 - Chapter 5
FlipFlop의 기본형을 가지고 FlipFlop이 생성되는조건의경우는 예제와 함께 시뮬레이션하여 결과를 확인합니다.
책갈피 : [00:06] flip flop/[02:52] 모듈 구성 부분 보기/[03:15] 두 모듈의 차이점/[04:00] 리스트에 나열될수 있는 신호 보기/[05:00] 기본형으로 사용되는 부분/[05:30] 블록 형태로 보기/[06:54] 기본 형태에서의 flip flop 확인/[07:15] 연산자/[09:31] 비동기 리셋신호를 가진 플립플롭/[11:31] if문일 경우/[12:09] 블록 구조도 보기/[13:16] 프리셋 신호가 필요할 경우/[13:39] 프로젝트 생성/[13:52] 포트리스트 구성/[14:16] always 블록 생성/[14:58] 테스트 파일 생성/[15:50] 시뮬레이션 할수 있는 작업 실행/[16:22] always 문 작성/[16:41] 지연시간 부분 지정/[18:40] 컴파일/[18:52] 시뮬레이터 실행/[19:00] 결과 확인/[20:48] 변화되는 입력값 확인/[22:37] 리셋값이 0 이 아닌데도 바로 출력이 나타나지 않는 이유/[23:30] 리셋값 제거/[24:21] 컴파일/[24:30] 결과 확인/[25:25] d 값 변경/[25:37] 결과 확인/[26:03] 처음상태로 유지되는 부분 보기/[26:29] 결과 확인/[28:52] 동기식 리셋 신호를 가진 플립플롭/[29:02] 비동기식과 동기식의 차이점/[30:26] 모듈 파일 생성/[32:07] 컴파일/[33:07] 테스트 파일 생성/[34:52] always 문 작성/[35:58] 컴파일/[36:13] 결과 확인/[38:00] d 값 변경/[39:37] 결과확인/[41:22] 리셋 값이 1일 경우/[42:22] 비동기식과 동기식의 차이점 확인/[44:45] 컴파일/[45:14] latch 발생 확인/[46:06] view text report 선택/[46:22] 확인/[49:52] final report 부분 살펴보기/[50:27] FDR/[51:27] 컴파일 결과 확인/[52:19] FDC/[52:45] 표 확인/[54:39] latch 추출 유무 확인
- 11.43분 Verilog 마스터를 위한 실전 실무 강좌 - Chapter 1
FlipFlop이 생성되는 일반적인 규칙에 대해서 알아보고 buffer를 이용한 데이터전송 모듈방법에 대해서 학습합니다.
책갈피 : [00:07] D 플립플롭/[01:48] 우선순위 지정/[02:38] 주의할점/[03:00] rst 값의 우선순위를 높게 정한 이유/[04:00] 비동기 리셋과 동기식 세트가 혼합된 경우/[05:10] load 신호가 있는 플립플롭/[05:57] enable 신호가 있는 d 플립플롭 만들기/[06:44] 프로젝트 생성/[07:12] d의 값 적용 구성/[07:15] 컴파일/[08:05] 테스트 파일 생성/[08:54] clk 값에 대한 변화 적용/[09:37] 시뮬레이터 실행/[09:46] 결과 확인/[10:39] 시간에 따라 구분하기/[11:05] 결과 확인/[12:45] 모듈 자체에서 보기/[13:24] view text report 선택/[13:50] final report 보기/[14:26] 수정사항 적용/[16:11] rst 값 초기화 부분 적용/[17:02] 컴파일/[17:26] 추가된 부분 입력/[18:18] rst 값 0값으로 초기화/[19:47] d의 값 변경/[20:29] 시뮬레이션 실행/[20:37] 결과 확인/[22:32] 입력값에 복잡한 논리식이 있는 경우/[23:00] 모듈 예시 보기/[25:56] 입력 받은값 적용해서 순차적인 부분 만들기/[28:00] 프로젝트 생성/[28:18] 모듈 헤더 구성/[29:06] 테스트 파일 생성/[29:55] 이니셜 블록에 신호값 적용/[30:45] 만들어진 부분 지연시간에 따라 조정하기/[31:26] 시뮬레이션 실행/[31:45] 결과확인/[32:37] 입력값에 대한 부분 적용/[33:37] 결과확인/[34:57] 입력이 복잡한 플립플롭 블록도 보기/[35:57] 모듈 생성 예시/[37:28] 새 프로젝트 생성/[37:57] awlays 블록 입력/[38:15] 결과값 확인/[39:05] final report 부분 확인/[39:43] 테스트 파일 추가/[40:07] 지연시간 부분 정의/[41:53] 시뮬레이션 실행/[42:14] 결과확인
- 12.51분 Verilog 마스터를 위한 실전 실무 강좌 - Chapter 2
parameter값을 사용한 레지스터를 구성하고 그 결과를 통해 시뮬레이션은 어떤 결과가 나타나는지 확인합니다.
책갈피 : [00:08] buffer inference/[01:07] continuous assignment 문으로 구성하기/[02:21] procedural 문으로 구성하기/[03:19] 양방향 버퍼/[04:42] 모듈의 구성 부분 살펴보기/[05:46] 생성된 포트리스트 보기/[08:26] 프로젝트 생성/[09:28] assign 키워드 입력/[09:46] 테스트 모듈 생성/[10:09] 생성 확인/[10:50] 지연 시간 부분 적용/[12:24] 시뮬레이터 실행/[12:31] 결과 확인/[14:13] 양방향 버퍼의 입출력 데이터가 레지스터를 거치는 경우/[14:31] 구성 예 보기/[16:56] buffer_reg 프로젝트 선언/[17:25] 레지스터 값 선언/[18:07] always 블록 입력/[18:33] 컴파일/[18:45] 테스트 파일 생성/[19:17] 생성 확인/[19:56] 지연시간에 따른 이동 시간 입력/[21:37] 시뮬레이터 실행/[21:48] 결과 확인/[23:25] rst 값 입력/[23:37] 결과 확인/[25:11] register/[26:11] register 구성 모듈 보기/[27:03] 일반적인 비트수를 표현한 레지스터 파라미터 형태로 구성하기/[28:07] 모듈 헤더 구성 방법 비교/[30:52] register 프로젝트 생성/[31:48] always 블록 입력/[32:28] 컴파일/[32:45] 테스트 파일 생성/[33:22] 생성확인/[33:58] 지연 시간 부분 입력/[34:52] 시뮬레이터 실행/[35:05] 결과 확인/[36:45] value 값 변환해서 확인하기/[37:52] 파라미터값 변경을 통한 레지스터 만들기/[40:07] 결과 확인/[41:00] shift register/[42:22] 모듈 구성 확인/[44:27] shift register 프로젝트 생성/[44:57] 컴파일/[45:12] 테스트 파일 생성/[45:22] 모듈 생성 확인/[46:20] 결과 확인/[46:57] Q 값 초기화/[47:37] 결과 확인/[49:19] assign 할당문 부분 새롭게 입력/[50:19] 결과 확인
- 13.1시간 2분 Verilog 마스터를 위한 실전 실무 강좌 - Chapter 3
단순이진카운터부터 BCD카운터까지 베릴로그에서 합성가능한 카운터를 표현해보고 모듈생성을 통해 결과값을 확인합니다.
책갈피 : [00:32] 산술 shift register/[02:46] shift 신호 만으로도 값 이동되는지 확인/[03:14] a_shift 프로젝트 생성/[03:53] 컴파일/[04:00] 테스트 파일 구성/[04:27] 모듈 파일 생성 확인/[05:00] 입력값 초기화 시키기/[05:27] clk 신호값 입력/[06:25] d에 대한 초기값 입력/[08:03] 시뮬레이터 실행/[08:13] 결과 확인/[10:01] 연산 일어날수 있게 적용/[10:41] 결과 확인/[12:11] counter/[15:20] 2진 counter/[15:31] 프로젝트 생성/[16:00] 컴파일/[16:26] 테스트 파일 생성/[16:47] 생성된 모듈 파일 보기/[17:30] clk 신호값 선언/[18:25] 지연시간 부분 입력/[19:32] 시뮬레이터 실행/[19:56] 결과 확인/[21:52] 십진법 형태로 신호값 부분 보기/[22:33] 카운터 길게 적용하기/[23:41] run time 수정/[24:03] 결과 확인/[24:33] counter 증가 감소/[26:26] updown_counter 모듈 생성/[27:26] 컴파일/[27:44] 테스트 파일 생성/[28:07] 파일 생성 확인/[28:52] clk 신호값 지정/[30:00] updown 신호값 증가/[31:15] updown 신호값 감소/[31:48] 시뮬레이터 실행/[32:07] 결과 확인/[34:05] rst 값 입력/[34:30] 결과 확인/[35:43] 10진법 부분으로 확인/[36:43] 증가, 감소 부분 간단하게 적용하기/[38:45] 결과 확인/[39:37] radix 부분으로 바꿔서 적용/[40:30] 병렬 로딩 counter/[42:59] 프로젝트 구성/[43:27] view text report 확인/[45:30] BCD counter/[48:06] BCD counter 프로젝트 생성/[49:14] 비동기식 선언/[50:20] 조건이 참일경우 cnt 값 초기화/[51:22] cnt 증가값 입력/[53:27] 컴파일/[53:52] 테스트 파일 생성/[54:15] clk 신호값 적용/[54:42] rst 값 입력/[55:37] 결과 확인/[56:37] run time 변경/[57:00] en 값이 0 값일때와 1 값일때의 차이/[58:37] 결과 확인/[60:15] 값에 대한 정의 유지시키기/[60:29] 결과 확인
- 14.55분 Verilog 마스터를 위한 실전 실무 강좌 - Chapter 4
여러개의 카운터 연결을 통해 자리수표현에 대한 카운터 방법에 대해서 알아보고 Embedded memory가 어떤식으로 표현되고 구성이 되는지를 알아봅니다.
책갈피 : [00:07] counter 연결/[01:42] 추가 사항 확인/[02:07] 입력값 과정 보기/[03:46] 카운터 모듈 구성하기/[04:00] 카운터에 대한 부분 선언/[04:28] always 블록 구성/[04:54] 신호값 입력/[05:15] 컴파일/[05:30] 테스트 파일 생성/[06:15] clk 신호 값 입력/[08:11] 자릿수에 대한 부분 만들기/[10:18] 10의 자리 부분 만들기/[12:26] 시뮬레이션 적용/[12:41] 결과 확인/[14:03] radix 부분으로 확인하기/[15:28] 런타임 조정/[15:46] 결과 확인/[16:00] radix 부분으로 확인하기/[17:03] embedded memory/[17:11] ROM/[17:55] 선언문 구성 보기/[20:17] 이니셜 블록/[21:26] 이니셜 블록과 always 블록의 차이점/[22:45] rom을 구성하는 모듈/[25:22] 모듈 생성/[25:45] 메모리 공간에 적용되는 값 입력/[26:00] 할당문 지정/[26:10] 컴파일/[27:30] 메모리 생성 확인/[28:56] RAM/[31:18] 동작 방법에 대한 모듈 구성/[32:13] wirte-first mode 구성/[36:36] 표현 방법 다르게 나타내기/[39:29] 모듈 생성/[40:13] 메모리 선언/[40:52] 컴파일/[41:07] 테스트 파일 생성/[41:29] 완성된 모듈 확인/[42:52] 간격 조절/[43:07] 값 저장할수 있는 공간 지정/[45:00] 결과 확인/[46:49] 순차적으로 진행됐을때 메모리 구성/[47:12] 새 프로젝트 생성/[47:37] 소스 추가/[48:22] always 블록 지정/[48:52] 컴파일/[49:27] 소스 파일 생성/[50:00] clk 신호값 지정/[52:30] 결과 확인/[54:06] 메모리 부분 구성 확인
- 15.59분 Verilog 마스터를 위한 실전 실무 강좌 - Chapter 5
FSM Design에 대해서 알아보고 mealy FSM을 구성하는 합성방법에 대해서 알아봅니다.
책갈피 : [00:05] read-first mode/[03:00] no-change mode/[05:42] FSM Design/[07:00] Mealy type과 moore type 비교/[08:24] Mealy type 상태머신 구성하기/[08:43] fsm state 블럭도 보기/[09:58] always 블럭 이용하기/[13:39] 모듈로 나타내기/[15:46] s0 상태일 경우/[16:56] s1 상태일 경우/[17:30] s2 상태일 경우/[17:47] s3 상태일 경우/[19:21] 리셋 신호에 따른 조건 만들기/[20:03] 상태 머신 구성하기/[20:15] 인풋, 아웃풋 신호 부분 입력/[20:33] 상태값들의 초기값 지정/[21:06] 케이스문으로 구성하기/[21:48] always 블럭 입력/[22:22] 컴파일/[22:56] 결과창 확인/[24:33] 옵션 값 변경/[26:03] 인코딩값 확인/[26:41] 테스트 파일 구성/[27:30] x값이 1일 경우 살펴보기/[27:52] 시뮬레이터 실행/[28:15] always 블럭 선언/[29:17] 입력값 변경/[29:33] 지연시간 입력/[29:59] 시뮬레이션 진행/[30:15] 결과 확인/[30:41] 인스턴스 부분 보기/[31:22] uut 부분 오브젝트 구성 보기/[32:22] 오브젝트 값 웨이브로 확인하기/[33:28] 실행 정지/[35:45] x값이 1일 경우 살펴보기/[36:50] 시뮬레이션 결과 확인/[37:37] 신호값 추가 후 확인/[38:59] 간단하게 표현하기/[39:45] 구성된 코드 보기/[40:52] 모듈에서 구성하기/[42:00] 한개의 always문으로 mealy fsm 구성하기/[43:07] 모듈 부분 살펴보기/[47:37] 모듈 구성/[48:04] 상태값에 대한 초기값 지정/[48:51] 연산 출력 부분 입력/[49:12] 테스트 파일 생성/[49:45] 신호값 동일하게 적용하기/[50:37] 지연 시간 부분 적용/[51:22] 시뮬레이터 실행/[51:37] 결과 확인/[52:42] 웨이브 윈도우에서 적용한 후 결과 확인/[53:52] 싱글 모듈에서 할당문 적용하기/[55:35] 컴파일/[56:12] 시뮬레이터 실행/[56:30] 결과 확인/[57:00] 상태에 대한 부분 적용/[57:27] 결과 확인
- 16.59분 베릴로그의 마지막 FINAL 특강! - Chapter 1
FSM의 mealy FSM을 구성하는 합성방법에 대해서 알아보고 디지털 시스템을 디자인하는 데이터경로와 FSM에 대해서 알아봅니다.
책갈피 : [00:06] 무어 타입으로 구성하는 상태 머신/[00:31] 결과 비교하기/[01:11] 입력 패턴 찾는 과정 적용하기/[04:11] 입력값을 상태도에 입력해 원하는 패턴 찾기/[05:12] 0값 입력된 경우/[08:48] 밀리타입에서 구성하기/[09:24] 무어타입 구성 모듈 보기/[10:39] 상태에 대한 부분 확인/[11:15] 결과 저장 상태 부분/[11:39] 무어타입 상태 머신 적용하기/[11:50] 포트 부분 구성/[12:11] 초기값 정하기/[12:41] y값 지정/[13:18] 현재 상태 부분 나타내기/[13:41] 변수에 대한 부분 생성/[14:13] 레지스터 구성/[15:03] 이벤트 리스트 구성/[16:18] 테스트 파일 생성/[17:56] clk 신호에 대한 부분 지정/[18:22] 지연시간 부분 적용/[20:14] 패턴 변화값 입력/[20:52] 컴파일/[21:07] 결과 확인/[22:14] 런타임 적용/[24:51] pipeline/[26:45] pipeline 모듈 구성 보기/[28:25] 카운터 연결/[29:00] 디지털 시스템 설계/[30:33] 데이터 경로 보기/[32:42] w 목적지/[34:20] i 목적지/[35:30] y 목적지/[35:58] 기타연산/[36:36] 개별적 데이터 경로 합치기/[38:37] 가산기/[40:07] register/[41:37] 멀티플렉스 연산/[43:04] comp_LT/[43:45] datapath/[47:12] 비교 연산 구성 전 지정해야할 부분/[49:07] 디지털 시스템 설계 방법/[49:36] 제어부 설계/[52:07] 상태도 확인/[52:21] 상태머신에 적용되는 신호 보기/[53:37] 블록도 보기/[56:46] 연산이나 상태 합쳐서 나타내기
- 17.1시간 2분 베릴로그의 마지막 FINAL 특강! - Chapter 2
데이터시스템을 만들기 위한 경로모듈을 구성하고 제어할수 있는 컨트롤 모듈을 통해 시스템을 구성해봅니다.
책갈피 : [00:09] 모듈화 시킨 코드 살펴보기/[01:57] always 블록을 이용한 케이스문 연산/[02:53] 신호 값에 대한 초기화값 지정/[03:42] 전체시스템 통합/[04:46] 시스템 모듈 부분 보기/[06:25] 프로젝트 생성/[06:46] 가산기 모듈 지정/[08:15] DSD 모듈에 모듈 저장/[08:33] 레지스터 구성/[09:48] 저장/[10:11] 멀티플랙스 구성/[11:09] 비교연산 구성/[12:01] 데이터 경로 지정/[12:56] 계층 구조 확인/[14:01] 제어부 구성/[14:26] 저장/[15:20] 시스템 모듈 구성/[15:35] 저장/[16:03] 컴파일/[16:26] 테스트 파일 생성/[17:15] 확인/[17:56] 디지털 시스템 설계/[18:30] 입력 받은 값 적용 부분 구현/[19:26] W에 대한 결과값 받기/[20:00] 코드 보기/[21:07] Y값에 20을 적용할 경우/[22:07] 테스트 파일에 적용하기/[22:25] Y에 대한 초기값 지정/[23:03] 결과값 기다리는 부분 지정/[24:30] Y값 다르게 입력/[25:26] 결과값 입력/[26:03] 결과값 확인/[26:56] 시뮬레이터 실행/[27:10] 결과 확인/[27:30] 음수값 표현해서 적용하기/[27:52] 결과 확인/[28:22] 신호값을 이용한 외부 폼 차트 적용 확인/[30:47] radix 부분으로 확인/[33:06] 값에 대한 신호값 변화 확인/[36:22] 베릴로그 코드 진행 알아보기/[37:15] verilog timing control/[38:30] event/[40:15] event 블록도 보기/[41:21] 우선순위 살펴보기/[42:45] 우선순위 알고리즘/[47:22] 예시 보기/[49:04] 타이밍 제어 부분 보기/[49:19] delay based timing/[49:43] blocking assignment 와 non blocking assignment 차이/[52:50] timing 프로젝트 구성/[53:35] 연산 부분 정의/[54:52] 연산 적용/[56:15] 디스플레이 키워드 추가/[57:15] 컴파일/[57:50] 시뮬레이터 실행/[58:06] 결과 확인/[58:37] 연산식 보기/[59:38] non blocking 연산식 보기
- 18.55분 베릴로그의 마지막 FINAL 특강! - Chapter 3
구성한 시스템 디자인을 통합하여 결과를 확인해보고 베릴로그에서 사용되는 타이밍 컨트롤에 대해서 학습합니다.
책갈피 : [00:19] timing 프로젝트 구성/[00:43] input과 output 대신하는 값 지정/[01:23] integer로 연산 부분 지정/[02:20] blocking 연산 지정/[03:22] non blocking 연산 지정/[03:52] 디스플레이 키워드 추가/[04:40] 컴파일/[05:13] 결과 확인/[08:54] regular delay control/[09:52] 이니셜 블록에 구성된 문장 보기/[10:46] 모듈 구성/[11:13] 이니셜 블록 선언/[12:24] 치환되는 값 선언/[13:22] 컴파일/[13:43] 테스트 파일 생성/[14:26] a 값 부분 확인/[15:28] 결과 확인/[17:11] 코드에서 살펴보기/[18:33] zero delay control/[19:26] 예시 보기/[19:59] 이니셜 블록 구성/[21:52] integer에 c값 추가/[22:07] 디스플레이 구성/[23:47] 이니셜블록 추가/[24:36] 컴파일/[24:56] 시뮬레이션 파일 생성/[25:48] 결과 확인/[26:59] c 값 보기/[28:33] intra assignment delay/[30:30] regular delay 와 intra assignment delay 보기/[31:33] 실습/[32:06] 세개에 대한 변수값 선언/[32:37] 지연시간에 대한 차이 살펴보기/[32:49] 문장 선언/[33:30] a 값을 다른값으로 할당하기/[34:52] b값 할당/[35:22] 지연시간 입력/[36:13] 디스플레이 구성/[37:05] 컴파일/[37:52] 테스트 파일 추가/[38:22] 결과 확인/[38:44] 코드에서 보기/[42:59] event-based timing/[43:14] regular event control/[44:07] posedge event/[44:15] negedge event/[45:28] 코드 구성 예시/[47:04] named event control/[47:52] 이벤트 변수를 사용한 코드 살펴보기/[49:37] event based timing/[50:19] event or control/[51:15] 코드 구성 예시/[52:36] wait문 과 while문/[54:01] 코드 구성 예시
- 19.55분 베릴로그의 마지막 FINAL 특강! - Chapter 4
내부 상수를 표현하는 방법과 인스턴스를 생성하는 방법, 여러개의 문장을 사용하는 블록문에 대해서 정리 및 학습합니다.
책갈피 : [00:03] scalable design/[00:55] parameters/[03:07] 파라미터 선언 예/[04:30] 파라미터가 2개인 경우/[05:10] 파라미터를 이용한 레지스터 구성의 예/[06:42] localparam/[08:05] 코드 구성 예시/[10:00] arrays of instances/[11:15] 구성된 모듈 살펴보기/[12:24] generate block/[13:01] generate loops/[14:01] loops에 구성된 문장 보기/[16:37] primitive gate instance/[17:48] always block/[18:36] for문, if-else문, case문/[19:15] conditional generate/[20:32] sequential/[20:47] parallel/[22:40] 코드 구성 예시/[24:41] parallel 블럭 사용시 주의점/[25:41] 가장 중요한 적용 부분/[27:07] 중첩된 모듈 살펴보기/[28:03] 첫번째 구간 이니셜 블록 부분 보기/[29:22] 두번째 이니셜 블록 부분 보기/[31:25] named block/[31:52] 이름 붙이는 방법/[33:07] disabling named block/[34:44] time unit/[34:52] timescale/[35:28] 시간 단위 보기/[37:15] 다른 방법으로 모듈 구성하기/[37:22] 새 프로젝트 구성/[39:00] 모듈 구성 소스 추가/[39:52] 결과 확인/[41:00] 카테고리 살펴보기/[41:27] 심볼 아이콘 생성/[41:52] 로직 선택해서 구성하기/[42:30] 확대, 축소/[43:07] 인풋, 아웃풋 값 추가/[44:19] 확인/[44:51] object properties/[45:30] 이름 변경/[46:15] 디자인탭 살펴보기/[46:50] ucf 파일 생성/[47:42] 모듈 생성 확인/[48:12] 결과 보기/[49:22] lock pin 확인/[50:29] 저장/[50:45] lock pin 재실행/[51:34] 테스트 파일 생성/[53:07] 구문 입력/[53:37] 인풋 값 변경/[54:29] 시뮬레이터 실행/[55:07] 결과 확인
- 20.45분 베릴로그의 마지막 FINAL 특강! - Chapter 5
전체시스템 설계를 통한 방법을 이용하여 실질적인 모델을 구성하는 주요 모듈 설계에 대해서 학습합니다.
책갈피 : [01:07] 모듈화 시킨 자판기 구성하기/[03:12] 표현 내용/[04:24] 주요 구성 모듈/[05:09] 모듈 헤더 정의/[06:00] 모듈 내부 정의/[06:57] begin값 구성/[08:20] case문 확인/[08:56] 저장/[09:20] 상품 선택 신호값 적용/[10:05] 상품 부분 모듈 구성/[10:33] 상품 정보 출력값 입력/[11:22] 모듈 내부 정의/[12:30] 처음 상태에 대한 경우 만들기/[12:52] 7가지 상품 부분 정의/[13:46] always 블록 생성/[15:56] 가산기 구현/[16:48] 모듈 헤더 구성/[17:11] 연산 될수 있는 값 선언/[18:41] cout 부분 입력/[21:56] 멀티플렉서 부분 구성/[22:37] 모듈 내부 구현/[23:00] 반복문 부분 구현/[24:37] case문 구성/[25:48] cant 부분 구현/[26:07] 블럭화/[27:22] 변화 과정 모듈화 시켜 구성/[29:11] 값 저장 공간 만들기/[30:26] for문 구성/[30:51] begin 값 만들기/[32:07] 잔돈 반환 모듈 생성/[33:37] 초기화 값 선언/[35:59] begin 코드 구성/[36:35] 카운트 값 반복문 지정/[38:28] 저장/[39:30] 부수적인 모듈 보기/[40:22] 상품에 대한 모듈 구성해서 보기/[41:37] 멀티플렉스 부분 구성/[42:30] 출력값에 대한 부분 구성
'추천강의' 카테고리의 다른 글
labview 2009 강의 추천 (0) | 2017.10.31 |
---|---|
ajax 학원 강의 (0) | 2017.10.31 |
MariaDB 강의 리뷰 추천 (0) | 2017.10.31 |
QuarkXPress8 교육 강의 추천 (0) | 2017.10.31 |
인디자인 cs6 강좌 리뷰 (0) | 2017.10.31 |