Курсовая работа: Проектирование устройств на языке VHDL САПР MAXPLUS II
73 INPUT 0 0 0 6 enable
22 OUTPUT 0 1 0 0 q0
27 OUTPUT 0 1 0 0 q1
62 OUTPUT 0 1 0 0 q2
61 OUTPUT 0 1 0 0 q3
56 OUTPUT 0 1 0 0 q4
58 OUTPUT 0 1 0 0 q5
Из приведенного фрагмента видно, что синхросигнал является глобальным сигналом и поступает на контакт с номером 12, разрешающий сигнал enable подается на контакт с номером 12, выходные сигналы q5 . . . q0 вырабатываются на контактах 22, 27. 62, 61, 56, 58. В отчете приводится также и другая информация, в том числе об использовании связей в ПЛИС.
Распределение внешних сигналов по контактам может быть задано проектировщиком до начала компиляции. Для этого из основного окна САПР MAX+PLUS II надо выполнить следующую последовательность команд: Assign Þ Pin/Location/Chip.
Информация о временных задержках может быть получена с помощью программы Timing Analyzer. Для просмотра плана микросхемы можно использовать программу Floorplan Editor.
1.5 Разработка пересчетных схем
Шестиразрядный счетчик с синхронной загрузкой
Разрабатываемый счетчик (см. рис. 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;