Шестиразрядный счетчик с синхронной загрузкой
Разрабатываемый счетчик (см. рис. 4.1) срабатывает по переднему фронту синхросигнала clk, также, как и в предыдущей схеме. Входной сигнал load задается как обычный управляющий сигнал, причем “0” соответствует загрузке, выходной сигнал счетчика q[5/0] и загружаемое значение d[5/0] задаются как целые (integer) в диапазоне от 0 до 63 (range 0 to 63). Рис. 3.10. Шестиразрядный счетчик синхронной загрузкой
Описание схемы на языке VHDL задается следующим образом: library IEEE; use IEEE.std_logic_1164.all;
entity count_l is port( clk, ld : in STD_LOGIC; d : in INTEGER range 0 to 63; q : out INTEGER range 0 to 63); end count_l; architecture l of count_l is begin process (clk) variable cnt: INTEGER range 0 to 63; begin if (clk'event and clk = '1') then if ld = '0' then cnt := d; else cnt := cnt+1; end if; end if; q <= cnt; end process; end l;
Ввод схемы и регистрация проекта производятся также, как описано выше в предыдущих разделах. В отличие от предыдущей схемы в данном проекте внешние контакты задаются до начала компиляции. Для этого последовательно выбираются пункты меню Assign Þ Pin/Location/Chip, в результате появляется следующее окно (см. рис. 3.11). Рис. 3.11. Окно Pin/Location/Chip В открывшемся окне надо нажать клавишу Search, чтобы открыть окно Search Node Database, котором нажимается клавиша List. В результате в окне Names in Database появится список внешних контактов, которые были описаны в интерфейсе entity count_l в исходном тексте. Если теперь нажать на нужный контакт, а потом на OK, то имя этого контакта появится в пункте Node Name окна Pin/Location/Chip, показанного на рис. 3.11. После этого в строке Pin вводится номер контакта микросхемы и нажимается клавиша Add, и в результате в окне Existing Pin/Location/Assignments появляется соответствующая запись. Имя сигнала в окне Node Name и номер контакта в окне Pin можно задавать вручную, не используя средства поиска. Зададим входные сигналы d0 … d5 на контакты 13, 15, 16, 18, 19 и 20 соответственно. Синхросигнал clk пусть будет поступать контакт 12, сигнал управления ld – на контакт 21. Контакты 9, 8, 7, 6, 4 и 3 закрепим за выходными сигналами q0 … q5. Система САПР должна обеспечить указанное распределение, а в случае невозможности исполнения будут выдаваться соответствующие сообщения и предлагаться возможные варианты исправления. После этого выполняется компиляция, по результатам которой формируется отчет, в котором, в частности будет указано общая загрузка ресурсов ПЛИС. Chip/ Input Output LCs POF Device Pins Pins LCs % Utilized count_l EPF8282ALC84-2 8 6 10 4 % User Pins: 8 6 0 В отчете приводятся также назначения контактов, сделанные пользователем, а также замены (если они есть). В отчете приводится также конструктивный вид микросхемы, фрагмент которого (левый верхний угол ПЛИС) показан на рис. 3.13. Из этого рисунка видно, что распределение сигналов в точности соответствует сделанным назначениям, там же показаны контакты питания и другие контакты специального назначения (в том числе контакты, используемые для загрузки конфигурации).
C O R R R N E E E F S S S _ ^ E E E D D R R R O C G V V V N L q q q q N q q E E E E K 0 1 2 3 D 4 5 D D D -------------------------------------- / 11 10 9 8 7 6 5 4 3 2 1 84 clk | 12 d0 | 13 +DATA0 | 14 d1 | 15 d2 | 16 VCCINT | 17 d3 | 18 EPF8282ALC84-2 d4 | 19 &d5 | 20 ld | 21 RESERVED | 22 RESERVED | 23 Рис. 3.12 Размещение внешних сигналов на контактах ПЛИС.
Анализируя загрузку логических ячеек, можно заметить, что используются ячейки только строки А (блоки А1 … А5), при этом наиболее загружен блок А3, в котором используются 3 ячейки. Эта информация отражена в следующих строках. Logic Column Row Array Interconnect Interconnect External Block Logic Cells Driven Driven Clocks Interconnect A1 1/8 (12%) 1/8(12%) 1/8(12%) 1/2 2/24( 8%) A2 1/8 (12%) 1/8(12%) 1/8(12%) 1/2 3/24( 12%) A3 5/8 (62%) 1/8(12%) 3/8(37%) 1/2 6/24( 25%) A4 1/8 (12%) 1/8(12%) 1/8(12%) 1/2 3/24( 12%) A5 1/8 (12%) 1/8(12%) 1/8(12%) 1/2 3/24( 12%) A6 1/8 (12%) 1/8(12%) 0/8(0%) 1/2 3/24( 12%) Результаты размещения можно просмотреть также в программе Floorplan Editor (см. рис. 3.13)
Рис. 3.13 Размещение проекта в ПЛИС На рис. 3.14. показан пример моделирования работы счетчика. Возмущающие воздействия и результат моделирования отображены в окне графического редактора Wave Editor.
Рис. 3.14. Моделирование работы счетчика с синхронной загрузкой.
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (205)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |