Разработка светодиодных систем отображения информации

Системы передачи по волоконно-оптическим линиям связи

 

Светодиодные экраны

Бегущие строки

НПП “Цифровые решения”

Контрактная разработка радиоэлектронных устройств

Цифровая обработка сигналов и изображений

Поставка высокотехнологичных изделий

 

ПЛИС фирмы Altera: проектирование устройств обработки сигналов.

Стешенко В.Б.

 

Глава 5. Язык описания аппаратуры Verilog HDL

5.26. Временной контроль (Timing Control)

В языке Verilog существуют три варианта осуществления временного контроля (timing control) - использование задержек (delay), событий (event) и уровни чувствительности (level sensitive) Рассмотрим их подробнее.

5.26.1. Задержки (Delay)

Синтакс:

timing_control_statement::== delay_based statement*

delay_based::== # delay_value

 

В данном методе вводится задержка между поступлением переменной на вход блока и результатом.

 

initial begin

a = 0; // выполняется в момент t= 0

#10 b = 2; // выполняется в момент t= 10

#15 c = a; // выполняется в момент t= 25

#b c = 4; // выполняется в момент t= 27

b=5; // выполняется в момент t= 27

end

 

Величина задержки может быть определена как постоянная или переменная. Следует помнить, что системное время измеряется в тех единицах, которые установлены в системе. Ниже приводится пример формирования тактового сигнала (creation of a clock signal)

 

initial begin

clock = 1'b0;

forever #5 clock = ~clock;

end

 

В данном примере каждые 5 единиц времени сигнал переходит из высокого уровня в нзкий и наоборот

5.26.2. Событийный контроль (Event-Based control)

При событийном контроле справедлив следующий синтаксис оператора события (в форме Бэкуса-Науэра)

event_control_statement::==
@ event_identifier
| @ (event_expression)
event_expression::==
| exp
| event_id
| posedge exp
| negedge exp
| event_exp or event_exp.

 

При событийном контроле происходит вычисление результата при каждом изменении входных сигналов

 

 

@ (clock) a = b;// при каждом такте выполняется a = b

 

@ (negedge clock) a = b; // когда clock -> 0, то a=b

 

a = @(posedge clock) b;

 

- Наверх -

 

Координаты:

   г. Москва, пр. Мира, 102

Для писем:

   105066, Россия, г. Москва, а/я 18

Тел.: (495) 778-97-04

e-mail: mail@dsol.ru, info@dsol.ru

 

© НПП “Цифровые решения” 2003 — 2006

Разработка светодиодных экранов | Разработка бегущих строк | Проектирование ПЛИС и СБИС | Разработка законченных устройств и модулей | Синтез алгоритмов |

Rambler's Top100 Rambler's Top100