
- •Архитектура ом
- •НкДтаЕ еом
- •Проектування мпс
- •Комп'ютерна електроніка
- •Мережі еом
- •Структура регіональних мереж еом.
- •Структура мереж класу Campus Network.
- •Класифікація глобальних мереж еом. Структура мережі передачі даних глобальної мережі.
- •Протоколи передачі даних у глобальних мережах. Стандарти X.25 і Frame Relay.
- •Структура глобальної мережі інтернет.
- •Принцип ізоморфності та його використання для моделювання на аом.
- •Операційні блоки, що відтворюють нелінійні функції. Особливості побудови. Приклади використання.
- •Структурні аом і аом типу модель-аналог. Приклади використання обох типів аом. Достоїнства і недоліки. Джерела погрішностей.
- •Оп, що інвертують і не інвертують. Особливості. Основні характеристики.
- •Пристрої множення і ділення, їхні різновиди. Особливості побудови.
- •Інтегратори на оп. Принципи побудови і функціонування. Приклади використання.
- •Принципи побудови пристроїв, що виконують математичні операції логарифмування і потенціювання.
- •Програмування задач на аом. Мова програмування. Елементи мови, їх характеристики.
- •Вибір масштабів змінних величин при рішенні задачі на аом. Фізичний смисл масштабних коефіцієнтів.
- •Типи цап і ацп, що використовуються в аом.
- •Структури операційних автоматів із шинною організацією.
- •Конвеєрний операційний автомат.
- •Векторний операційний автомат з розрядністю даних, що змінюється, і розмірністю вектора.
- •Концепція і принципи організації розподіленої пам'яті.
- •Поняття операційного пристрою і його основні характеристики.
- •Принцип мікропрограмного керування. Концепція операційного і керуючого автоматів.
- •Функціональна і структурна сумісність мікрооперацій.
- •Синтез канонічної структури операційного автомата. Властивості канонічних структур операційних автоматів.
- •Визначення класу I – автоматів і етапи синтезу I – автоматів.
- •Визначення класу м – автоматів. Структурна організація і властивості м – автоматів. Етапи синтезу м – автоматів.
- •Структурна організація і синтез iм – автоматів з паралельною комбінаційною частиною.
- •Структурна організація і синтез iм – автоматів з послідовною комбінаційною частиною.
- •Визначення класу і структура s – автоматів. Способи підвищення швидкодії s – автоматів.
- •Принцип керування по збереженій мікропрограмі. Операційно-адресна структура мікрокоманди.
- •(С 153 по 156 - один ответ для всех)
- •Керуючий автомат із природною адресацією.
- •Функції свв. Принципи формування адрес оп при обміні між пп й оп. У чому суть переривань і припинень? Як вони реалізуються?
- •Совмещение операций обработки и ввода-вывода информации. Механизм приостановок вычислительного процесса.
- •Совмещение операций обработки и ввода-вывода информации. Система прерываний вычислительного процесса.
- •Визначення апаратного інтерфейсу. Його функції. Чим пояснюється наявність інтерфейсів різних рівнів? Малі інтерфейси.
- •Малые интерфейсы пу. Назначение и типы. Особенности реализации и основные характеристики rs-232c.
- •Малые интерфейсы пу. Особенности реализации и основные характеристики ирпр, Centronics.
- •Классификация интерфейсов по способу передачи информации. Особенности организации синхронных и асинхронных интерфейсов.
- •Принципи реалізації вводу-виводу в міни- і мікро-еом. Програмний обмін і обмін з використанням кпдп. Адресація пп в загальному адресному просторі.
- •4Пристрої введення текстової інформації. Основні параметри читаючих автоматів. Які ознаки використовуються для складання опису символів?
- •2.3 Устройство ручного ввода (клавиатура)
- •2.4 Устройства ввода с промежуточных носителей
- •2.5 Устройства автоматического ввода текстовой информации (читающие автоматы)
- •Основные способы регистрации информации для ПчУ. Особенности и принципы реализации ударного способа.
- •Основные способы регистрации информации для ПчУ. Особенности и принципы реализации струйного способа.
- •Основные способы регистрации информации для ПчУ. Особенности и принципы реализации электрофотографического способа.
- •Методи і технічні засоби вводу-виводу графічної інформації.
- •6. Устройства и системы ввода-вывода графической информации
- •6.1. Классификация и структурные схемы графических дисплеев
- •Пристрої вводу-виводу мовних повідомлень. Основні ознаки, що характеризують мову. Елементи, що утворять фонологічний алфавіт.
- •Формування мовних повідомлень за правилами і по зразках. Способи стиску інформації в пристроях вводу-виводу мовних повідомлень.
- •Принципи ієрархічної організації пам'яті еом. Роль взу в ієрархічній структурі пам'яті сучасних еом
- •Фізичні основи магнітного запису інформації. Горизонтальний і вертикальний магнітний запис.
- •Конструювання еом
- •Стадії проектування. Технічне завдання. Технічний проект.
- •Стадії проектування. Технічна пропозиція. Ескізний проект.
- •Стадії проектування. Робоча конструкторська документація.
- •Перешкоди в лініях зв'язку. Ємнісна, індуктивна перешкоди.
- •Методи боротьби з перешкодами. Рекомендації до проектування швидкодіючих еом.
- •Кондуктивний перенос. Розрахунок стандартної кондуктивной складової в стандартних тілах.
- •Конвективный перенос. Загальні положення. Вільна конвенція в необмеженому просторі.
- •Конвективный перенос. Загальні положення. Вільна конвенція в обмеженому просторі.
- •Конвективный перенос. Змушена конвекція. Поперечний рух охолодного потоку.
- •Теплове випромінювання. Розрахунок променистої складової нагрітого тіла.
- •Основи автоматизації проектування засобів от
- •Структура та компоненти систем автоматизованого проектування, їх призначення та характеристика. Типова структура сапр цп, еом.
- •Моделі цифрових систем на різних рівнях абстракції и етапах проектування. Основні свойства, методи та засоби реалізації моделей цс.
- •Методика проектування складних цифрових систем на підставі сапр. Особливості автоматизованого проектування цс на сучасній елементній базі.
- •Vhdl- мова опису та проектування цс. Основні можливості і засоби мови.
- •Засоби опису архітектури цс в мові vhdl. Синтезуєма підмножина мови vhdl.
- •Сучасні методології розробки складних інформаційних систем та їх програмного забезпечення. Case– системи, особливості організації та застосування.
Vhdl- мова опису та проектування цс. Основні можливості і засоби мови.
Первой удачной попыткой обобщить накопленный опыт и "навести порядок" в данном вопросе было решение международной конференции по ЯОА о создании "языка согласия" CONLAN. Эта работа началась в 1976 г. и была успешно завершена созданием основ для нового поколения ЯОА с полным семантическим определением. Одной из важнейших проблем, которую необходимо было решить, учитывая новые технологии проектирования, было обеспечение комплексного решения вопросов стандартизации, в том числе выработка стандартов на лингвистические средства спецификаций моделей проектов, протоколы и форматы обмена данными. Достигнутые успехи в этом направлении дали возможность Министерству обороны США в 1983 г. организовать работы по созданию (на базе языка программирования АДА) нового специализированного языка для разработки проектов цифровой аппаратуры на базе сверхбольших высокоскоростных интегральных схем. Так появился язык VHDL (Very high speed integrated circuits Hardware Description Language).
Разработка VHDL, завершенная, в основном, в 1987 г., оказалась настолько успешной, что этот язык был принят в качестве стандарта ANSI/IEEE Std 1076-1987 (его часто называют VHDL'87). Затем язык продолжал совершенствоваться, и в 1993 г. появился новый стандарт ANSI/IEEE Std 1076-1993 (стандарт VHDL'93). Наконец, в 1999 утвержден стандарт ANSI/IEEE Std 1076.1-1999 (VHDL-AMS), который включает расширения, дающие возможность описания моделей аналоговых и смешанных (цифро-аналоговых) схем.
С утверждением стандарта на VHDL любая серьезная разработка ЦС и электронной аппаратуры должна сопровождаться описанием на языке VHDL, т. е. VHDL-описание в настоящее время является неотъемлемой частью документации и для разработчиков, и для заказачика. Практически все современные САПР EDA (Electronic Design Automation) используют VHDL в качестве входного языка и способа представления и описания схем и структур ЦС.
В языке VHDL определены многие типы данных, операторов и других синтаксических конструкций, обеспечивающих возможность описания цифровых систем на различных уровнях абстракции и поддержание методологии нисходящего проектирования. По многим аспектам VHDL подобен языкам программирования высокого уровня, в частности, он весьма требователен к корректности определения и применения грамматических выражений. Это позволяет разработчику выявлять возможные ошибки уже на ранних стадиях описания и проектирования ЦС.
Засоби опису архітектури цс в мові vhdl. Синтезуєма підмножина мови vhdl.
В языке VHDL определены многие типы данных, операторов и других синтаксических конструкций, обеспечивающих возможность описания цифровых систем на различных уровнях абстракции и поддержание методологии нисходящего проектирования. По многим аспектам VHDL подобен языкам программирования высокого уровня, в частности, он весьма требователен к корректности определения и применения грамматических выражений. Это позволяет разработчику выявлять возможные ошибки уже на ранних стадиях описания и проектирования ЦС.
Одной из главных целей построения VHDL-модели цифрового устройства является возможность его моделирования с помощью такой модели. Процедура моделирования, в общем случае, состоит из ряда этапов: анализа (analysis), последующих этапов разработки и детализации в соответствии с принципами нисходящего проектирования (elaboration) и выполнения (execution). Первые два этапа также необходимы для возможного дальнейшего логического синтеза ЦУ.
На первом этапе VHDL-описание анализируется с целью выявления возможных синтаксических и семантических ошибок, как это обычно делается при использовании языков программирования.
Второй этап при моделировании (и проектировании вообще) состоит в выполнении действий, связанных с реализацией процедур нисходящего проектирования и созданием всех объектов низших уровней (подсистем, блоков и т. д.), определенных в декларациях. Результатом этого этапа является набор конкретных компонент и подкомпонент, вариантов архитектур, множеств сигналов и процессов, относящихся к соответствующим архитектурным телам, и т.д. В конечном итоге, все компоненты должны быть описаны только на поведенческом уровне, содержать только процессы и допускать возможность моделирования.
Третий этап моделирования состоит в выполнении операторов, образующих модель. Время при этом представляется дискретными шагами, зависящими от наступления события, под которым понимается изменение значения сигнала. Такая процедура обычно называется дискретным событийным моделированием. В процессе моделирования выполнение процесса инициируется изменением значения сигнала, к которому он чувствителен (sensitive). После выполнения некоторой операции процесс приостанавливается и может воспринимать новые значения сигналов при дальнейшем моделировании. Эта процедура часто называется активизацией операции (scheduling a transactions) по отношению к некоторому сигналу. Если новое значение сигнала отличается от предыдущего, то говорят, что произошло событие, и выполнение процессов, чувствительных к этому сигналу, возобновляется.
Моделирование начинается с фазы инициализации, в течение которой каждому сигналу присваивается начальное значение, зависящее от его типа. Отметим, что если некоторый сигнал х при декларации не имеет определенного начального значения, то по умолчанию он принимает значение левой границы декларируемого типа х’left. Например,
signal х1 : integer range 0 to 3; -- при инициализации значение 0;
signal x2 : std_logic; -- при инициализации значение U;
Затем выполняются операции цикла моделирования. Начальное время моделирования принимается равным нулю, далее каждый процесс активизируется, и выполняются его последовательные операторы. Обычно процесс включает операторы назначения сигнала (signal assignment statement), которые активизируют операции над сигналами в дальнейшем процессе моделирования. Выполнение процесса продолжается пока не будет достигнут оператор wait, который приостанавливает дальнейшее выполнение.
При реализации моделирования возможны два подхода, которые различаются способом описания временных задержек в логических элементах и времени распространения сигнала. Проиллюстрируем это на простом примере.
Пример 3.8.
Рассмотрим двухуровневую логическую схему (рис. 3.3,а) и варианты ее VHDL-описания.
Вариант1.
entity sch1 is
port (x1, x2, x3 : in bit;
y : out bit);
architecture example1 of sch1 is
signal s : bit;
begin
p0: process (x1, x2) is
begin
s <= x1 and x2 after 10 ns;
end process p0;
p1: process (s, x3) is
begin
y <= s or x3 after 20 ns;
end process p1;
end architecture example1;
Во время инициализации каждый сигнал из множества {x1, x2, x3) имеет значение 0. Процесс р0 вычислит значение сигнала s через 10 ns и приостановится (см. временные диаграммы на рис. 3.3, б). Затем процесс р1, который выполняется 20 ns, вычислит значение у. Цикл моделирования начинается, когда один из сигналов изменится; таким образом, выходной сигнал у примет новое значение через 30 ns с начала моделирования (его выполнение начнется после изменения сигнала s). При t = 50 ns изменяется сигнал x2, что приведет к активизации процесса р0, следовательно, сигнал s через 10 ns приобретет новое значение и т.д.
Вариант 2.
Изменим архитектуру для рассмотренной схемы, удалив ключевые слова after и конкретные временные задержки. Тем самым мы предполагаем, что логические операции, используемые в модели, будут выполняться “мгновенно”, т.е. соответствующие выходные сигналы будут изменяться в те же моменты времени, что и вызвавшие эти операции входные сигналы (рис. 3.3, в).
entity sch1 is
port (x1, x2, x3 : in bit;
y : out bit);
architecture example2 of sch1 is
signal s : bit;
begin
p0: process (x1, x2) is
begin
s <= x1 and x2;
end process p0;
p1: process (s, x3) is
begin
y <= s or x3;
end process p1;
end architecture example2;
Однако взаимодействие процессов р0 и р1, по существу, не изменилось. По-прежнему, сигнал s изменится только после изменения сигнала x2, а изменение s послужит причиной для запуска процесса р1, который активизируется, выполняется, устанавливая новое значение y, и приостанавливается. Чтобы учесть это обстоятельство, в VHDL вводится понятие дельта-задержки (delta delay) или просто дельта. Под этим понимается формально бесконечно малая величина времени (временной шаг дельта), часто принимаемая равной нулю. Дельта-задержка фактически означает, что сигнал не распространяется мгновенно (рис. 3.3, в), но происходит переход к следующему циклу моделирования.
Временной шаг величиной дельта образуется, например, при выполнении операторов назначения сигналов, не имеющих фразы after…t ns. С точки зрения логической схемы дельта – это задержка на одном уровне логических элементов, когда при VHDL-описании конкретная задержка элементов не задана явно.
Таким образом, важно подчеркнуть, что значение сигнала при выполнении оператора “<=” не изменяется немедленно. Точнее сказать, что этот оператор “планирует” соответствующую операцию над сигналом (schedule a transaction), которая реализуется после продолжения процесса моделирования (т.е. после изменения входного сигнала). Например, если некоторый процесс содержит фрагмент кода
s <= ‘1’;
…….
if s = ’1’ then …,
то нельзя считать, что процесс выполнит оператор if в предположении, что сигнал s имеет значение ‘1’. В течение данного процесса s сохранит предыдущее значение, которое изменится лишь в следующем цикле моделирования.
На следующем примере проиллюстрируем некоторые описанные понятия.
Пример 3.9. [6]
Рассмотрим упрощенную функциональную VHDL-модель компьютерной системы (только архитектуру). Система состоит из центрального процессорного устройства (CPU) и памяти, которые связаны адресными сигналами и сигналами данных. Операции, выполняемые в системе, синхронизируются управляющими сигналами mem_read и mem_write и статусным сигналом mem_ready.
architecture abstract of computer_system is
subtype word is bit_vector(31 downto 0);
signal address : natural;
signal read_data, write_data :word;
signal mem_read, mem_write :bit := ‘0’;
signal mem_ready : bit := ‘0’;
begin
cpu: process is
variable instr_reg :word;
variable PC : natural;
. . . -- другие декларации
begin
loop
address <= PC;
mem_read <= ‘1’;
wait until mem_ready =’1’;
instr_reg := read_data;
mem_read <=’0’;
. . . -- выполнение команд
wait until mem_ready = ‘0’;
end loop;
end process cpu;
memory: process is
type memory_array is array (0 to 2**14 –1) of word;
variable srore: memory_array :=
( . . . ) ;
begin
wait until mem_read = ‘1’ or mem_write = ‘1’;
if mem_read = ‘1’ then
read_data <= store(address/4);
mem_ready = ‘1’;
wait until mem_read = ‘0’;
mem_ready <= ‘0’;
else
. . . -- выполнение процесса записи
end if;
end process memory;
end architecture abstract;
Как видно из приведенного VHDL-описания, задержки в явном виде в операторах присваивания значений сигналам отсутствуют, так что синхронизация всех событий происходит через дельта-задержки, как показано наКогда инициируется моделирование, начинают выполняться операторы процесса cpu, а процесс memory временно приостановлен. Операторы процесса cpu “планируют” операции (schedule transactions) присвоения следующих адресных инструкций сигналу address и значения ‘1’ сигналу mem_read, после чего процесс cpu приостанавливается. В следующем цикле моделирования эти сигналы корректируются (т.е. приобретают заданное значение), и возобновляется процесс memory, так как он “ожидал” изменения сигнала mem_read (wait until mem_read = ‘1’).
Процесс memory активизирует операцию присваивания данных сигналу read_data, значения ‘1’ сигналу mem_ready и затем приостанавливается. В третьем цикле эти сигналы корректируются, и возобновляется выполнение процесса cpu, который инициирует присвоение значения ‘0’ сигналу mem_read и приостанавливается. Далее, в четвертом цикле корректируется значение сигнала mem_read, и возобновляется процесс memory, который инициирует присвоение ‘0’ сигналу mem_ready, чтобы завершить организацию взаимодействия процессов cpu и memory при реализации операции чтения. Наконец, в пятом цикле сигнал mem_ready корректируется, возобновляется процесс cpu, который реализует полученные инструкции.
На рис. 3.4. приведены временные диаграммы, иллюстрирующие взаимодействие процессов cpu и memory при моделировании операции чтения данных. Синхронизация обеспечивается при помощи последовательных циклов моделирования с использованием дельта-задержек.
Поведенческие VHDL-модели с использованием дельта-задержки обычно используются при моделировании на этапе алгоритмического проектирования ЦУ, когда еще отсутствуют конкретные схемы, реализующие моделируемые алгоритмы. Отметим также, что в соответствующих VHDL-моделях часто целесообразно использовать в блоках процессов (process) операторы присваивания значений переменным, а последний оператор блока реализовать как оператор назначения сигнала, вычисляющий выходной сигнал блока. Другой подход заключается в сквозном использовании операторов назначения сигналов. Этот метод часто называют реализацией модели на уровне потоков данных (data flow), он ориентирован на схемную реализацию и более целесообразен на этапе логического проектирования.