(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.

Slides:



Advertisements
Presentaciones similares
 Making complete sentences How to make complete sentences in Spanish. The following presentation is designed to help you learn how to do the following:
Advertisements

saquen la tarea en la página 57, ejercicio 1 ejemplos 4 y 5
PRONOMBRES DE COMPLEMENTO DIRECTO E INDIRECTO. ¿ Recuerdas? COMPLEMENTO DIRECTO Is a noun or a noun phrase that receives the action of the verb directly.
Telling Time.
Objective: I can recognize and accurately use gender agreement. Do Now: Match the following Spanish and English words: 1. Pelirroja a. Good-looking 2.
The Present Subjunctive The Subjunctive l Up to now you have been using verbs in the indicative mood, which is used to talk about facts or actual events.
La hora. The traditional way to tell time in Spanish is by dividing the clock in half. The right side uses “y” to add minutes to the hour. Once the minute.
Diseño Lógico Combinacional con VHDL
What has to be done today? It can be done in any order. Make a new ALC form Do the ALC Get two popsicle sticks Get 16 feet of yarn. That is 4 arms width.
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Capítulo.3 - Diseño Lógico Combinacional con VHDL
¿Qué haces en la escuela? Question words, objects, yo-go’s.
La hora. The traditional way to tell time in Spanish is by dividing the clock in half. The right side uses “y” to add minutes to the hour. Once the minute.
Tecnología y Estructura de Costos. Technologies u A technology is a process by which inputs are converted to an output. u E.g. labor, a computer, a projector,
Adverbs are words that describe how, when, and where actions take place. They can modify verbs, adjectives, and even other adverbs. In previous lessons,
Associative, Commutative, and Distributive Properties of Addition and Multiplication August 18th Students only need to copy the writing in purple. Students.
©2008 The McGraw-Hill Companies, Inc. All rights reserved. Digital Electronics Principles & Applications Seventh Edition Chapter 2 Numbers We Use in Digital.
ECOM-6030 PASOS PARA LA INSTALACIÓN DE EASYPHP Prof. Nelliud D. Torres © - Derechos Reservados.
LOS VERBOS REFLEXIVOS. WRITE: What is a reflexive verb? A reflexive verb describes when a person doing an action is also receiving the action.
1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO.
Asignación de señales en VHDL. VHDL: Asignación de señales La asignación a una señal establece una o más transacciones sobre la misma Cada señal tiene.
Teacher: Jimara Richard
When do we use “por” and when do we use “para”? What examples do you already know? -por favor -por el momento -El regalo es para ti.
INGLÉS BÁSICA PRIMARIA ASSESSMENT IN LANGUAGE TEACHING.
Linear Wire Antennas Infinitesimal Dipole From: Balanis, C. A. “Antenna Theory, Analysis and Design” Third Edition. A John Wiley & Sons, Inc.,Publication.
EQUILIBRIUM OF A PARTICLE IN 2-D Today’s Objectives: Students will be able to : a) Draw a free body diagram (FBD), and, b) Apply equations of equilibrium.
Wooo hooo… This is going to be exciting!
Description Sentences
To be, or not to be? Let’s start out with one of the most important verbs in Spanish: ser, which means “to be.”
Los Adjetivos Posesivos
CLASSROOM ARTICLES PLURALS 14 de setiembre de 2016
To be, or not to be? Let’s start out with one of the most important verbs in Spanish: ser, which means “to be.”
Notes: La Hora (Time) How do I tell time in Spanish?
(How to tell time in Spanish)
Double Object Pronouns
PREGUNTAS: Questions and Question Words
Conjunctions are words or phrases that connect other words and clauses in sentences. Certain conjunctions commonly introduce adverbial clauses, which describe.
JUGAR to play a sport or a game
Getting to know you more!
Introduction & Agenda Introduction to Microchip Device Blocksets Introduction to MATLAB Plug-In in MPLAB®IDE Creating a SIMULINK model with Microchip.
use me gusta to say you like something
First Grade Dual High Frequency Words
You will now learn how to use the subjunctive with verbs and expressions of will and influence. © by Vista Higher Learning, Inc. All rights reserved.
More sentences that contain if…
Hardware Description Language
Programación en VHDL.
ELECTROMAGNET Gregory Miguel Concuan Motta Ana Belén Guerra Marroquín Brayan Stid Ortiz Sosa.
Ser y Estar To be or….to be?
Gramática (pg 9 del paquete rosado)
Page 86 Realidades 2 Ser Vs. Estar.
Recetas 3 Objetivo: Hacer preguntas Hablar sobre la comida
ispLSI1032E- Estructura Disseny Electrònic Assistit per Ordinador
Quasimodo: Tienes que hacer parte D de la tarea..
El subjuntivo en cláusulas adverbiales:
“To Be” or not “To Be” Ser vs. Estar.
El subjuntivo en cláusulas adverbiales:
You will now learn how to use the subjunctive with verbs and expressions of will and influence. © by Vista Higher Learning, Inc. All rights reserved.
You will now learn how to use the subjunctive with verbs and expressions of will and influence. © by Vista Higher Learning, Inc. All rights reserved.
UNIVERSIDAD TECNICA DE MACHALA UNIDAD ACADEMICA DE CIENCIAS EMPRESARIALES CARRERA DE ECONOMIA ESTUDENTS: FIRST CONDITIONAL SENTENCES TEACHER: - Calvache.
JKSimMet Software (windows & buttons) Split Engineering Chile Ltda. General Salvo #331 oficina 201 Casilla Sucursal Panorámico Providencia – Santiago,
You will now learn how to use the subjunctive with verbs and expressions of will and influence. © by Vista Higher Learning, Inc. All rights reserved.
Description Sentences
Los adjetivos demostrativos Notes #16 What is a demonstrative adjective in English? Demonstrative adjectives in English are simply the words: THISTHESE.
Gustar, Interesar, Aburrir
Development of the concert programme
1.12 Repaso 2 de septiembre.
Antes de empezar contesta las preguntas sólo escribe las respuestas
Welcome to PowerPoint gdskcgdskfcbskjc. Designer helps you get your point across PowerPoint Designer suggests professional designs for your presentation,
Las Preguntas (the questions) Tengo una pregunta… Sí, Juan habla mucho con el profesor en clase. No, Juan no habla mucho en clase. s vo s vo Forming.
Transcripción de la presentación:

(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006

(2) Describing Design Entities Primary programming abstraction is a design entity –Register, logic block, chip, board, or system What aspects of a digital system do we want to describe? –Interface: how do we connect to it –Function: what does it do? VHDL 1993 vs. VHDL 1987 b a sum carry

(3) Describing the Interface: The Entity Construct The interface is a collection of ports –Ports are a new programming object: signal –Ports have a type, e.g., bit –Ports have a mode: in, out, inout (bidirectional) entity half_ADder is port ( a, b : in bit; sum, carry :out bit); end entity half_adder; case insensitive VHDL 1993 b a sum carry

(4) The Signal Object Type VHDL supports four basic objects: variables, constants, signals and file types (1993) Variable and constant types –Follow traditional concepts The signal object type is motivated by digital system modeling –Distinct from variable types in the association of time with values –Implementation of a signal is a sequence of time-value pairs! Referred to as the driver for the signal

(5) Example Entity Descriptions Q QQ D clk R S op N Z A B C entity ALU32 is port(A, B: in bit_vector (31 downto 0); C : out bit_vector (31 downto 0); Op: in bit_vector (5 downto 0); N, Z: out bit); end entity ALU32; entity D_ff is port(D, Q, Clk, R, S: in bit; Q, Qbar : out bit); end entity D_ff; MSB LSB

(6) Describing Behavior: The Architecture Construct Description of events on output signals in terms of events on input signals: the signal assignment statement Specification of propagation delays Type bit is not powerful enough for realistic simulation: use the IEEE 1164 value system b a sum carry entity half_adder is port (a, b : in bit; sum, carry :out bit); end entity half_adder; architecture behavioral of half_adder is begin sum <= (a xor b) after 5 ns; carry <= (a and b) after 5 ns; end architecture behavior; VHDL 1993

(7) Example Entity Descriptions: IEEE 1164 Q QQ D clk R S op N Z A B C entity D_ff is port(D, Q, Clk, R, S: in std_ulogic; Q, Qbar : out std_ulogic); end entity D_ff; entity ALU32 is port(A, B: in std_ulogic_vector (31 downto 0); C : out std_ulogic_vector (31 downto 0); Op: in std_ulogic_vector (5 downto 0); N, Z: out std_logic); end entity ALU32;

(8) Describing Behavior: The Architecture Construct library IEEE; use IEEE.std_logic_1164.all; entity half_adder is port (a, b : in std_ulogic; sum, carry :out std_ulogic); end entity half_adder; architecture behavioral of half_adder is begin sum <= (a xor b) after 5 ns; carry <= (a and b) after 5 ns; end architecture behavioral; Use of the IEEE 1164 value system requires inclusion of the library and package declaration statements b a sum carry Declarations for a design entity

(9) Libraries and Packages Libraries are logical units that are mapped to physical directories Packages are repositories for type definitions, procedures, and functions –User defined vs. system packages

(10) Configurations architecture-3 architecture-2 architecture-1 entity configuration Separate the specification of the interface from that of the implementation –An entity may have multiple architectures Configurations associate an entity with an architecture –Binding rules: default and explicit Use configurations (more later!)

(11) Design Units Primary design units –Entity –Configuration –Package Declaration –These are not dependent on other design units Secondary design units –Package body –Architecture Design units are created in design files Now you know the layout of a VHDL program!

(12) Simple Signal Assignment In1 In2 c_in c_out sum s1 s3 s2 library IEEE; use IEEE.std_logic_1164.all; entity full_adder is port (in1, in2, c_in: in std_ulogic; sum, c_out: out std_ulogic); end entity full_adder; architecture dataflow of full_adder is signal s1, s2, s3 : std_ulogic; constant gate_delay: Time:= 5 ns; begin L1: s1 <= (In1 xor In2) after gate_delay; L2: s2 <= (c_in and s1) after gate_delay; L3: s3 <= (In1 and In2) after gate_delay; L4: sum <= (s1 xor c_in) after gate_delay; L5: c_out <= (s2 or s3) after gate_delay; end architecture dataflow; Declarations

(13) Simple Signal Assignment Statement The constant programming object –Values cannot be changed Use of signals in the architecture –Internal signals connect components A statement is executed when an event takes place on a signal in the RHS of an expression –1-1 correspondence between signal assignment statements and signals in the circuit –Order of statement execution follows propagation of events in the circuit –Textual order does not imply execution order

(14) Implementation of Signals  23 1 Z   s <= (In1 nand In2) after gate_delay; value expressiontime expression waveform element Driver or projected waveform Transaction

(15) Implementation of Signals (cont.) In the absence of initialization, default values are determined by signal type Waveform elements describe time-value pairs Transactions are internal representations of signal value assignments –Events correspond to new signal values –A transaction may lead to the same signal value

(16) Implementation of Signals (cont.) Driver is set of future signal values: current signal value is provided by the transaction at the head of the list We can specify multiple waveform elements in a single assignment statement –Specifying multiple future values for a signal Rules for maintaining the driver –Conflicting transactions driver

(17) Example: Waveform Generation Multiple waveform elements can be specified in a single signal assignment statement Describe the signal transitions at future point in time –Each transition is specified as a waveform element signal <= ‘0’,‘1’ after 10 ns,‘0’ after 20 ns,‘1’ after 40 ns; signal

(18) Resolved Signal Types At any point in time what is the value of the bus signal? We need to “resolve” the value –Take the value at the head of all drivers –Select one of the values according to a resolution function Predefined IEEE 1164 resolved types are std_logic and std_logic_vector

(19) Conditional Signal Assignment First true conditional expression determines the output value library IEEE; use IEEE.std_logic_1164.all; entity mux4 is port ( In0, In1, In2, In3 : in std_logic_vector (7 downto 0); Sel: in std_logic_vector(1 downto 0); Z : out std_logic_vector (7 downto 0)); end entity mux4; architecture behavioral of mux4 is begin Z <= In0 after 5 ns when Sel = “00” else In1 after 5 ns when Sel = “01” else In2 after 5 ns when Sel = “10” else In3 after 5 ns when Sel = “11” else “ ” after 5 ns; end architecture behavioral; note type Evaluation Order is important!

(20) Unaffected Signals Value of the signal is not changed VHDL 1993 only! library IEEE; use IEEE.std_logic_1164.all; entity pr_encoder is port (S0, S1,S2,S3: in std_logic; Z : out std_logic_vector (1 downto 0)); end entity pr_encoder; architecture behavioral of pr_encoder is begin Z <= “00” after 5 ns when S0 = ‘1’ else “01” after 5 ns when S1 = ‘1’ else unaffected when S2 = ‘1’ else “11” after 5 ns when S3 = ‘1’ else “00” after 5 ns; end architecture behavioral;

(21) Selected Signal Assignment Statement The “when others” clause can be used to ensure that all options are covered The “unaffected” clause may also be used here library IEEE; use IEEE.std_logic_1164.all; entity mux4 is port ( In0, In1, In2, In3 : in std_logic_vector (7 downto 0); Sel: in std_logic_vector(1 downto 0); Z : out std_logic_vector (7 downto 0)); end entity mux4; architecture behavioral-2 of mux4 is begin with Sel select Z <= (In0 after 5 ns) when “00”, (In1 after 5 ns) when “01”, (In2 after 5 ns) when “10”, (In3 after 5 ns) when “11” (In3 after 5 ns) when others; end architecture behavioral; All options must be covered and only one must be true!

(22) A VHDL Model Template library library-name-1, library-name-2; use library-name-1.package-name.all; use library-name-2.package-name.all; entity entity_name is port( input signals : in type; output signals : out type); end entity entity_name; architecture arch_name of entity_name is -- declare internal signals -- you may have multiple signals of different types signal internal-signal-1 : type := initialization; signal internal-signal-2 : type := initialization; begin -- specify value of each signal as a function of other signals internal-signal-1 <= simple, conditional, or selected CSA; internal-signal-2 <= simple, conditional, or selected CSA; output-signal-1 <= simple, conditional, or selected CSA; output-signal-2 <= simple, conditional, or selected CSA; end architecture arch_name; Declare external libraries and visible components Define the interface Declare signals used to connect components Definition of how & when internal signal values are computed Definition of how & when external signal values are computed

(23) Delay Models in VHDL Inertial delay –Default delay model –Suitable for modeling delays through devices such as gates Transport Delay –Model delays through devices with very small inertia, e.g., wires –All input events are propagated to output signals Delta delay –What about models where no propagation delays are specified? –Infinitesimally small delay is automatically inserted by the simulator to preserve correct ordering of events

(24) Inertial Delays: Example signal <= reject time-expression inertial value-expression after time-expression; Most general form of a waveform element VHDL 1993 enables specification of pulse rejection width Input Out 1 Out input output 8 ns 2 ns

(25) Transport Delays: Example a b sum carry s1 s2 Transport architecture transport_delay of half_adder is signal s1, s2: std_logic:= ‘0’; begin s1 <= (a xor b) after 2 ns; s2 <= (a and b) after 2 ns; sum <= transport s1 after 4 ns; carry <= transport s2 after 4 ns; end architecture transport_delay; Inertial

(26) Delta Delays: Example In1 In2 z s1 s2 s3 s4 library IEEE; use IEEE.std_logic_1164.all; entity combinational is port (In1, In2: in std_logic; z : out std_logic); end entity combinational; architecture behavior of combinational signal s1, s2, s3, s4: std_logic:= ‘0’; begin s1 <= not In1; s2 <= not In2; s3 <= not (s1 and In2); s4 <= not (s2 and In1); z <= not (s3 and s4); end architecture behavior;

(27) Delta Delays: Behavior IN1 IN2 Z S1 S2 S3 S Δ2Δ2Δ 3Δ3Δ In2 S2 S3 Z Delta Events Internal ordering established by the simulator

(28) Delay Models: Summary Delay models –Inertial For devices with inertia such as gates VHDL 1993 supports pulse rejection widths –Transport Ensures propagation of all events Typically used to model elements such as wires –Delta Automatically inserted to ensure functional correctness of code blocks that do not specify timing Enforces the data dependencies specified in the code

(29) Summary Primary unit of abstraction is a design entity Design units include –Primary design units entity, configuration, package declaration – Secondary design units architecture, package body Concurrent signal assignment statements –Simple, selected, conditional –Can be coalesced to form models of combinational circuits