Арбитратор Један ресурс Два корисника.

Slides:



Advertisements
Similar presentations
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Advertisements

ECE C03 Lecture 17ECE C03 Lecture 61 Lecture 17 VHDL Structural Modeling Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
Индиректна питања користимо када некога љубазно питатмо за информацију, почевши са изразима као нпр.:
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
ДАВАЧИ ПОМЕРАЈА 2. Садржај  Синхроуређаји  Разлагачи  Индуктосини  Енкодери  Дифракционе решетке  Двобрзински мерни системи  Двоположајни давачи.
ДАВАЧИ ПРИТИСКА, ПРОТОКА, НИВОА, ГУСТИНЕ, pH ВРЕДНОСТИ, ВЛАЖНОСТИ И ДИМЕНЗИЈА (слике: Д. Станковић “Мерење неелектричних величина електричним путем” и.
Basic Modeling Constructs Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Packages and Use Clauses Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
INTRO TO VLSI DESIGN (CPE 448) (VHDL Tutorial ) Prof: Asuif Mahmood.
Topics AliasesSubprograms Generics & Configurations.
Aliases Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
8-Jan-16EE5141 Chapter 6 Subprograms & Packages Subprogram declaration Subprogram body Package declaration Package body Resolution function Subprogram.
Composite Data Types and Operations Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
КОНКУРС МИНИСТАРСТВА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНО ДРУШТВО „Дигитални час“ Основна школа “Јован Поповић “ Сусек одељење у Баноштору Аутор: Ђурђица.
Electrical and Computer Engineering CPE 426/526 Basic Modeling Constructs Dr. Rhonda Kay Gaede.
Кеш меморијa Приципи рада кеш меморија Величина кеша
Јава - RMI Дизајн симулатора дискретних догађаја опште намене обухвата пројектовање више различитих структурних нивоа. Унутар сваког од структурних нивоа.
Introduction To VHDL 홍 원 의.
Chapter 2. Introduction To VHDL
Компонента Декларација vs дефиниција. Могу се декларисати у:
ОДРЖАВАЊЕ И ЗАШТИТА СИСТЕМА
Промена Устава РС Београд, 21. јул 2017.
учитељица Лала, ОШ "АнтаБогићевић", Лозница
The finish of a grand tour of the language.
Методика наставе рачунарства
Архитектура рачунарских система
Објектно орјентисано програмирање
Увод у VHDL.
38. Серво мотори. Захтеви и примена. ДС серво мотори. АС серво мотори
Референтни модели Поређење референтних модела OSI и TCP/IP
Аутори: Славко Марковић Игор Јанковић
Дигитални репозиторијуми докторских дисертација
Рачунарске мреже Александар Картељ
РАЧУНАРСКЕ КОМУНИКАЦИЈЕ
АРБИТРАЖНИ СПОРАЗУМ.
Увод у VHDL.
Рачунарски ВЛСИ системи
Рачунарске мреже Александар Картељ
Александра Поповић Александра Настић
Рачунарске мреже Александар Картељ
Атрибути сигнала sig’event sig’active sig’last_event sig’last_active
Коначни аутомати.
DSP Алгоритми и Архитектуре
Електронска здравствена картичка
ДОБРОДОШЛИ У ОШ “БРАНКО РАДИЧЕВИЋ”
Програмски језик C Структура програма, типови података,
Увод у VHDL.
Слој апликација DNS – систем именовања домена Електронска пошта
Финансијски инструменти
Сабирање и одузимање троцифреног и двоцифреног броја
Оптички систем преноса
Подешавање радног окружења програма Microsoft Word
INTERNET MARKETING.
Рачунарске мреже Александар Картељ
Стварно право БAШТИНА Слободна (властеоска и црквена, dominium eminens) Потчињена (работа, десетак, dominium utile) Пронија (dominium directum) Слободно.
ELEC 5200/6200 Computer Architecture and Design Review of VHDL
Дистрибуиране базе података
СОФТВЕР.
OSI модел OSI референтни модел (Open Systems Interconnection) дели функције мреже на седам мањих, лакше управљивих целина (слојева) Сваки слој дефинише.
Увод у организацију и архитектуру рачунара 2
Аритметичке и логичке операције
Оператор надовезивања
Архитектура и програмирање микропроцесора Intel 8086 (3)
Глобални барометар корупције 2009
Примена антибиотика код пацијената са бубрежном слабошћу
С И М Е Т Р И Ј А МАТЕМАТИКА. На овој час ќе научиш:  Што е СИМЕТРИЈА  Линија на симетрија  Рефлексивна симетрија  Ротациона симетрија  АСИМЕТРИЈА.
Design units Lecture 2.
The finish of a grand tour of the language.
Presentation transcript:

Арбитратор Један ресурс Два корисника

Арбитратор

DRAM контролер Генерисање синхронизационих сигнала Адреса се дели на два дела: прво се поставља адреса реда након тога адреса колоне Временски параметри: дужина трајања адресе реда Tras дужина трајања адресе колоне Tcas дужина трајања освежавања Tpr

DRAM контролер

DRAM контролер Пример: Tras = 75 ns Tcas = 15 ns Tpr = 35 ns Минимална периода сигнала такта? Како реализовати коло ако је потребна периода сигнала такта од 5 ns?

DRAM контролер Излаз може имати шум Асинхрони DRAM је осетљив на шум Направити синхрони излаз look-ahead output buffer

Видљивост декларација Свака декларативна секција има себи одговарајућу секцију за исказе. Свака декларација се види од места декларисања до краја одговарајуће секције за исказе.

Пакети Обједињују заједничке: типове, константе, сигнале, потпрограме. package_declaration ⇐ package identifier is ⦃ package_declarative_item ⦄ end ⟦ package ⟧ ⟦ identifier ⟧; package_body ⇐ package body identifier is ⦃ package_body_declarative_item ⦄ end ⟦ package body ⟧ ⟦ identifier ⟧; Обједињују заједничке: типове, константе, сигнале, потпрограме.

Пример декларације пакета package cpu_types is constant word_size : positive := 16; constant addr_size : positive := 24; subtype word_t is bit_vector(word_size-1 downto 0); subtype addr_t is bit_vector(addr_size-1 downto 0); type status_value_t is (halted, idle, fetch, mem_read, mem_write, io_read, io_write, int_ack); end package cpu_types;

Пример коришћења пакета Пакет се одвојено анализира и након тога смешта у радну библиотеку (work). Може се сместити и у неку другу библиотеку (зависи од алата, а не од VHDL кода). Пример коришћења: entity address_decoder is port( addr : in work.cpu_types.addr_t; status : in work.cpu_types.status_value_t; mem_sel, int_sel, io_sel : out bit ); end entity address_decoder;

use use_clause ⇐ use selected_name ⦃,...⦄; selected_name ⇐ library_identifier. package_identifier. ⦅ identifier | character_literal | operator_symbol | all ⦆ Пример (појединачна имена из пакета постају видљива): use work.cpu_types.word_t, work.cpu_types.addr_t; variable data_word : word_t; variable next_addr : addr_t; Пример (сва имена из пакета постају видљива): use work.cpu_types.all;

Видљивост увезених идентификатора У општем случају увезени идентификатори се виде у декларативној секцији у којој су увезени и одговарајућој секцији за исказе. Увезени на почетку фајла: виде се до краја фајла. Увезени испред ентитета односно пакета: виде се и у одговарајућој архитектури односно телу пакета. Конфликт са локалним идентификатором: директно видљив само локални, глобалном се приступа преко пуног назива. Конфликт два увезена идентификатора: имплицитни и експлицитни оператор => види се експлицитни у супротном ништа није директно видљиво. Функције које могу да се преклопе => нема конфликта.

alias Пример: Могуће је дефинисати алијасе и за типове: alias_declaration ⇐ alias identifier ⟦ : subtype_indication ⟧ is name ⟦ signature ⟧; signature ⇐ [⟦ type_mark ⦃,...⦄ ⟧ ⟦ return type_mark ⟧] Пример: alias alu_data_width is work.alu_types.data_width; Могуће је дефинисати алијасе и за типове: alias binary_string is bit_vector; Могуће је дефинисати алијасе и за потпрограме: procedure increment(bv : inout bit_vector, by : in integer := 1) alias bv_increment is work.ops.increment[bit_vector, integer]

Пример type register_array is array (0 to 15) of bit_vector(31 downto 0); type register_set is record general_purpose_registers : register_array; program_counter : bit_vector(31 downto 0); program_status : bit_vector(31 downto 0); end record; variable CPU_registers : register_set; alias PSW is CPU_registers.program_status; alias PC is CPU_registers.program_counter; alias GPR is CPU_registers.general_purpose_registers;

Инстанцирање ентитета entity_instantiation_statement ⇐ instantiation_label: entity entity_name ⟦ (architecture_identifier) ⟧ ⟦ generic map (generic_association_list) ⟧ ⟦ port map (port_association_list) ⟧; port_association_list ⇐ ⦅ ⟦ port_name => ⟧ ⦅ signal_name | expression | open ⦆ ⦆ ⦃,...⦄ open – означава да порту није придружен сигнал. Уколико се наведу називи портова, редослед није битан. Пре VHDL-2008 израз је морао бити статички => израчунати одговарајући израз као конкурентни исказ доделе вредности сигналу и тај сигнал мапирати на порт.

Пример entity DRAM_controller is port( rd, wr, mem : in bit; ras, cas, we, ready : out bit ); end entity DRAM_controller; mem_controller1: entity work.DRAM_controler(fpld) port map( cpu_rd, cpu_wr, cpu_mem, mem_ras, mem_cas, mem_we, cpu_rdy ); mem_controller2: entity work.DRAM_controler(fpld) port map( wr => cpu_wr, rd => cpu_rd, mem => cpu_mem, cas => mem_cas, ras => mem_ras, we => mem_we, ready => cpu_rdy

Потенцијални проблем У случају великог броја веза између ентитета: постоји велики број конектујућих сингнала, промена интерфејса ентитета захтева промене у повезивању Тип record представља решење за наведене проблеме