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

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

 

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

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

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

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

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

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

 

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

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

 

Глава 6. Примеры проектирования цифровых устройств с использованием языков описания аппаратуры VHDL и Verilog.

6.11. Дублирование регистра

Задержка в цепи распространения сигнала возрастает с увеличением числа входов, нагруженных на эту цепь. Такая ситуация еще может быть приемлема для цепей сброса, но для цепей разрешения это недопустимо. Пример такой ситуации приведен ниже (Рис.6.29). В данном VHDL примере коэффициент разветвления сигнала разрешения "Tri_en" равен 24.

 

 

Рис.6.29.

 

 

architecture load of four_load is

signal Tri_en std_logic;

begin

loadpro: process (Clk)

begin

if (clk'event and clk ='1') then

Tri_end <= Tri_en;

end if;

end process loadpro;

endpro : process (Tri_end, Data_in)

begin

if (Tri_end = '1') then

out <= Data_in;

else

out <= (others => 'Z');

end if;

end process endpro;

end load;

 

Число разветвлений (fanout) можно уменьшить вдвое, используя два регистра (Рис.6.30)

Рис.6.30

 

Ниже приведен пример реализации дублирования регистров на VHDL.

 

architecture loada of two_load is

signal Tri_en1, Tri_en2 : std_logic;

begin

loadpro: process (Clk)

begin

if (clk'event and clk ='1') then

Tri_en1 <= Tri_en;

Tri_en2 <= Tri_en;

end if;

end process loadpro;

process (Tri_en1, Data_in)

begin

if (Tri_en1 = '1') then

out(23:12) <= Data_in(23:12);

else

out(23:12) <= (others => 'Z');

end if;

end process;

process (Tri_en2, Data_in)

begin

if (Tri_en2 = '1') then

out(11:0) <= Data_in(11:0);

else

out(11:0) <= (others => 'Z');

end if;

end process;

 

Разделение проекта на части оптимальных размеров позволяет обеспечить оптимальное использование ресурсов за счет их оптимизации при синтезе. Известно, что подавляющее большинство программ синтеза достигают наиболее приемлимого результата при размере блока порядка 2-5 тысяч эквивалентных вентилей.

Приведенный ниже пример показывает как можно сэкономить ресурсы путем замены встроенного в модуль регистра(Рис.6.31) на выделенный регистр (рис 3.32)

 

Рис.6.31

 

process (clk, a, b) begin

if (clk'event and clk = '1') then

a1 <= a;

b1 <=b;

end if;

end process;

process (a1, b1)

begin c <=a1 +b1;

end process;

 

 

Рис.6.32

 

process (clk, a, b) begin

if (clk'event and clk = '1') then

c <=a +b;

end if;

end process;

 

- Наверх -

 

Координаты:

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

Для писем:

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

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

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

 

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

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

Rambler's Top100 Rambler's Top100