Verilog_radar1
.pdfСколько блоков умножения?
|
y <= a * (b * c) |
|
|
3 блока |
|
|
|||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
||||||||||||||
|
– |
Совместное |
|
||||||||||||||
|
z <= |
|
|
|
|
(b * c) * d |
|
использование общих |
|
||||||||
|
|
|
|
|
|
частей арифметических |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
– |
выражений |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Некоторые средства |
|
|||
|
b |
|
|
|
X |
|
|
|
|
|
|
|
|
синтеза реализуют это |
|
||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
автоматически, а |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
X |
|
|
|
|
некоторые нет. |
|
|||
|
c |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
y |
|
– |
Использование скобок |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
помогает компилятору |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
минимизировать число |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
– |
блоков |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Если (b*c) используется |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
многократно, то |
|
||
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
целесообразно |
|
||
|
|
|
|
|
|
|
|
|
|
z |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
использовать |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
отдельный сигнал |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( |
|||||||||||||||
271 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
dilab@scideco.ru ) |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример: Два умножителя с общими операндами
272 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Реализация умножителя
Аппаратные затраты |
|
Логических элементов |
– 0 |
Триггеров |
– 0 |
DSP модулей (9*9) |
– 6 |
Быстродействие
Fmax |
– 124 MHz |
273 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Два умножителя с общими операндами
274 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Реализация умножителя
Аппаратные затраты
Логических элементов |
– 0 |
Триггеров |
– 0 |
DSP модулей (9*9) |
– 5 |
Быстродействие
Fmax – 124 MHz
275
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru )
Триггеры Защелки
(Latch)
276 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Защелки (Latches) vs.Триггеры (Registers)
nВ СБИС Altera реализованы синхронные триггеры, а не триггеры защелки
nТриггеры защелки реализуются с помощью комбинационной логики, что делает временной анализ более сложным
-СБИС с Look-up table (LUT) – FPGA, используют LUT
(таблицы перекодировки)
-СБИС с Product-term – МАХ, используют дополнительные product-terms (программируемые матрицы И и ИЛИ)
nРекомендации
-Использовать в проектах синхронные триггеры
-Следить за появлением триггеров защелок.
|
l Триггеры защелки могут появляться на выходах |
|
комбинационных цепей, когда результат не определен для |
277 |
набора входных значений. |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
При использовании оператора IF-ELSE …
nПеребирайте все варианты
-Не перечисленные варианты порождают триггеры защелки
nВ комбинационных процессах инициализируйте переменные (сигналы) до их использования
-Использование не инициализированных переменных (сигналов) может порождать триггеры защелки
nДля создания эффективного кода продумайте
-Назначение начальных значений и явное покрытие вариантов, отличных от начальных значений
278 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Нежелательные триггеры защелки
nКомбинационный процесс, который не покрывает все возможные комбинации входных сигналов, порождает триггер-защелку.
sel(0) |
|
LOGIC |
|
|
|
|
|
|
|
||
sel(1) |
|
|
LATCH |
out |
|
|
|
|
|||
sel(2) |
|
|
|
||
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
279 |
© 2014 СПбГПУ, каф. КСПТ, доц. Антонов А.П. ( dilab@scideco.ru ) |
Исправление
n Терминируйте IF-ELSE оператор
sel(0) |
|
LOGIC |
|
|
|
|
|
||
sel(1) |
|
|
|
|
|
|
|
|
|
sel(2) |
|
|
|
output |
|
|
|
||
A |
|
|
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
280