디지털 시스템 설계(2).

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

2014 가을학기 계산 입문 연습 #4 지도교수 : 박성우 조교 : 이다훈. Python 을 설치합시다.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)

데이터형, 변수, 연산자 컴퓨터 응용 및 실습 I.
VHDL Package & Subprogram
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
DB 프로그래밍 학기.
DB 프로그래밍 학기.
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
1. 컴파일러 개론 1-1. Compiler 정의 1-2. Language Processing System
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Chapter 7. 조건문.
제 9 장 구조체와 공용체.
가산기 설계.
Multiplexer 설계.
VHDL의 기본 Lecture #5.
Verilog HDL 이론.
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
신호등 제어기 차량의 흐름에 따라 신호등의 신호를 제어하는 장치 신호등 제어기의 입출력 신호
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
VHDL Package and Sub program
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
어셈블리 문법 보강 4월 10일.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
VHDL Design : Barrel Shifter
II. VHDL 설계부 4장. VHDL 개요 5장. VHDL 설계 구성 6장. VHDL 객체 및 타입 7장. VHDL 모델링
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다
VHDL의 기본 Lecture #4.
Data type and Object 자료형 변환 함수들은 std_logic_arith 패키지에 정의되어 있음.
학습목표 변수 비주얼 베이직 자료형 변수 선언하기. 학습목표 변수 비주얼 베이직 자료형 변수 선언하기.
Heesang kim PL/SQL 3 Heesang kim.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Flip-Flop 설계.
예제로 배우는 Visual Basic 구구단 작성기로 익히는 반복문
11장. 1차원 배열.
오브젝트 하드웨어 기술 언어 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Programmable Logic Device
VHDL Mealy and Moore model
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
VHDL.
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
에어 조건문.
인터넷응용프로그래밍 JavaScript(Intro).
2장. 변수와 타입.
제4강 처리장치 1.
Choi Seong Yun 컴퓨터 프로그래밍 기초 #06 : 반복문 Choi Seong Yun
가산기 설계.
5장 선택제어문 if 선택문 switch-case 선택문 다양한 프로그램 작성 조건 연산자.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
논리회로 설계 및 실험 4주차.
Chapter 10 데이터 검색1.
TVM ver 최종보고서
16장. 변수, 연산자, 사용자 정의 함수 변수 배열과 객체 연산자 함수.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
논리회로 설계 및 실험 8주차.
Presentation transcript:

디지털 시스템 설계(2)

VHDL의 Data Type 숫자형(Scaler Type) 혼합형(Composite Type) 열거형(Enumeration Type) 정수형(Integer Type) 실수형(Floating Point Type) 물리형(Physical type) 혼합형(Composite Type) 배열형(Array Type) 제한형(Constraint Type) 무제한형(Unconstraint Type) 뭉침형(Record Type) 연결형(Access Type) -- 사용 않함 File Type -- 사용않함

VHDL의 Data Type(Scalar Type) 정수형(Integer Type) - 231 -1 ~ 231 -1까지의 모든 정수 정의 가능 실수형(Floating Point Type) -1E38 ~ 1E38

VHDL의 Data Type(Scalar Type) 물리형(Physical Type) 시간, 거리, 전류 등의 물리적인 단위 기본적인 단위를 가지고 그것을 중심으로 다른 단위를 나타냄

VHDL의 Data Type(Scalar Type) Floating Point Type 열거형(Enumeration Type) 문자열을 하나의 데이터로 묶어 선언한 것으로, BOOLEAN, BIT 등이 여기에 속함

VHDL의 Data Type(Composite Type) Array Type bit_vector, std_ulogic_vector가 이 종류라 할 수 있으며 같은 종류의 데이터를 하나로 엮은 형 다차원 배열도 가능 무제한형(Unconstraint Type) 이미 선언된 Type을 또 하나의 변형된 새로운 Type으로 다시 만든 것 제한형(Constraint Type) 이미 선언된 Type을 정해진 범위에서 열거 일종의 Bus Type으로 만든 것

VHDL의 Data Type(Composite Type) type array_name is array(range_name range <> ) of type_name; range_name Integer, Natural, Positive type array_name is array(integer range <> ) of type_name; type std_ulogic_vector is array(NATURAL ranve <>) of std_ulogic; -- 무제한형 type byte is array(7 downto 0) of bit; -- 제한형

VHDL의 Data Type(Composite Type) 다차원 배열 Multi Dimensional Array type memory1 is array(0 to 4, 3 downto 0) of bit constant ROM1 : memory1 := ((‘0’,’0’,’0’,’0’), (‘0’,’0’,’0’,’1’), (‘0’,’0’,’1’,’0’), (‘0’,’0’,’1’,’1’), (‘0’,’1’,’0’,’0’)); Array of Array type word is array (3 downto 0) of BIT; type memory2 is array(0 to 4) of word constant ROM2 : memory2 := ((“0000”), (“0001”), (“0010”), (“0011”), (“0100”));

VHDL의 Data Type(Composite Type) 뭉침형(Record Type) 배열이 같은 종류의 숫자형을 묶어서 사용과 반면 다른 종류의 숫자형이나 배열형(field)을 묶어 사용 단, 각 field에 배열형을 사용 할 때는 제한형 만이 가능 Type command is (add, sub, mul, …) Type instruction is record OPCODE : COMMAND; SRC : BIT_VECTOR(7 downto 0); PC : INTEGER; end record; Case OP_CND is when ADD  INST.opcode := OP_CMD; INST.src := X”F1”; INST.pc := 2; when SUB  INST.opcode := OP_CMD; INST.src := B”1111_0011”;

VHDL의 Data Type(Composite Type) File type 외부와의 입출력이나 특정 File의 변수를 선언 VHDL Package의 TEXTIO 부분에 선언 회로에 대한 검증단계에서 많이 사용됨 type TEXT is file of STRING

VHDL의 Operator Operator Priority Logical and, or, nand, nor, xor, xnor Low High Relational =, /=, <=, <, >, >= Shift sll, srl, sla, sra, rol, ror ADD +, -, & Sign +, - Multiplier *, /, mod, rem Etc **, abs, not

VHDL의 Operator Logical Operator 피연산자의 type은 BIT 또는 boolean

VHDL의 Operator Relational Operator “=“, “/=“ 는 file type을 제외한 모든 type의 피연산자에 적용가능 숫자형 또는 1차원 배열형(Bus) 만이 가능 길이가 다른 두 수를 비교시 왼쪽부터 순차적으로 비교 “101011” 과 “1011” 비교시 ??? “110” 과 “11000” 비교시???

VHDL의 Operator Shift 1차원 배열형에서만 사용가능 A_Sig := “11110101” sll 2; SLL --- shift left logical SRL --- shift right logical SLA --- shift left arithmetic SRA --- shift right Arithmetic SOL --- rotate left logical SOR --- rotate right logical A_Sig := “11110101” sll 2; B_Sig := “01011111” sll 2; C_Sig := “11110001” sll 2;

VHDL의 Operator Add +, - &(Concatenation) 같은 numeric type(integer, floating point, physical type)이어야함 &(Concatenation) 피연산자는1차원 array 또는 array element 이어야 함

VHDL의 Operator Sign numeric type에서 사용 ‘-’ 는 단순 음수가 아닌, MSB를 sign 비트로 사용 A1  -B 는 B의 2의 보수를 입력

VHDL의 Operator Multiplying poerator *, /는 integer type, floating point type의 피연산자에 대하여 정의 되며 두 피연산자의 type은 같아야 함 다음과 같은 physical type에서도 연산가능 rem, mod의 피연산자는 integer type

VHDL의 Operator Etc operator abs 피연산자는 nemeric type 이어야 함 ** 는 모든 integer type 과 floating poing type 에 대하여 정의 됨 ** 의 오른쪽 연산자는 Integer 만 가능 2.4 ** 3

Data Flow Description Concurrent Signal Assignment Statement 주어진 값, 입력 signal, 또는 이에 대한연산의 결과 등을delay에 대한 정보와 함께 출력signal에 전달 각concurrent signal assignment statement는 하나의 독립된 concurrent process 로서 동작하며 sensitive signal에 변화가 있을 때마다 반복 수행됨 Conditional signal assignment, selected signal assignment

Data Flow Description Conditional Signal Assignment

Data Flow Description Selected Signal Assignment

Concurrent(Block) Block 회로상의 내부 회로를 표현 회로설계시에 계층구조를 갖는데, Top회로는 Design Block들을 서로 연결하는 성격을 띄게 되고, 각 Design Block은 그 안에 또 다른 Design Block 이나 회로를 갖는다 VHDL 에서 Top VHDL 파일에서 Design Block으로 표시 할 수 있는 가장 쉬운방법 Netlist 형식이 아닌 일반 Compiler 언어와 같은 표현으로 전체회로의 동작을 표현 할 수 있다

Concurrent(Block) Ex) B1: block(EMB = ‘0’) signal S : bit; begin Syntex block_name : block (동작 제한식) [generic (generic_list);] [port (port_list);] begin Concurrent 문 end block[Block_name] Ex) B1: block(EMB = ‘0’) signal S : bit; begin S <= A and B; B2: block signal S:bit; S <= C or D; out1 <= S; end block B2; out2 <= S; end block B1;

Behavioral Description Sequential statement Behavioral description은 실질적으로 사용되는 문장이 Sequential 문 Process 문 또는 Subprogram 문 에서만 사용가능 sequential statement로 구성 내부의 sequential statement들을 순서대로 wait statement를 만날 때까지 반복 수행함 Sensitivity list가 있는 경우에는 그 list에 포함되어 있는signal의 값이 변해야만 sequential statement들이 반복 수행됨 Sensitivity list도 없고wait statement도 없는 process statement는 무한히 반복 수행되어 시뮬레이션이 끝날 수 없게 되므로 주의해야 함 명령어 wait, assertion, signal assignment, variable assignment, procedure call, if, case, loop, next, exit, return, null

Behavioral Description

Behavioral Description Wait Process 문이나, procedure의 수행을 일시 정지시킴

Behavioral Description Signal entity 선언에서 port 로 선언된 것들 또는 그 밖에서 Signal로 선언된 것에 신호를 전달 할 때 사용 out <= in; Variable process 또는 subprogram 내에서 variable로 선언된 임시변수에 값을 전달 temp := in;

Behavioral Description Signal & veriable entity Test is port(in_data:in bit; out_sig:out bit); end; architecture Behave of Test is begin process(in_data) variable out_var :bit; out_var := in_data; out_sig <= in_data; end process; end

Behavioral Description IF

Behavioral Description Case

Behavioral Description Loop Loop, for, while loop문을 사용할 때 exit, wait등을 사용하여 loop의 진행을 종료 하지 않도록 사용할 것 Logic Synthesis 가 되지 않음

Behavioral Description Next, Exit Loop문 안에서 조건문을 이용하여 조건에 만족했을 때 loop를 빠저나오는것이 exit, next 다음을 실행하지 않고, loop의 처음으로 돌아가는것을 의미 loop label이 있는 exit, next는 해당 loop에 적용 loop label이 없는 exit, next는 각문장이 포함되어있는 loop중 가장 내부의 loop

Behavioral Description Null 다음 실행문으로 수행순서를 넘겨주는것 외에는 아무 일도 하지 않음