Симулятор Aldec и vhdl счетчик с отводами
Симулятор в Aldec довольно мощная штука. Вполне может конкурировать с общеизвестным ModelSim. Для того, чтобы опроовать симулятор Aldec в действии создадим небольшой проект, например на VHDL, цепочки трех счетчиков с отводами, каждый отвод будет генерить импульсы нужной частоты с длительностью равной одному периоду исходной тактовой частоты.
Для этого запустим собственно Aldec и создадим в нем новое рабочее пространство (например Tests_Aldec83), а в нем новый проект (например Testcnt).
Далее остается только добавить источник VHDL, откомпилировать его и приступить к симуляции. Цепочка счетчиков с отводами (например на 32, 3, 5) на VHDL выглядит примерно так:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity testcnt is
Port
(
clk : in std_logic;
clr : in std_logic;
carry32 : out std_logic;
carry3 : out std_logic;
carry5 : out std_logic
);
end testcnt;
architecture testcnt of testcnt is
signal s_carry32 : std_logic;
signal s_carry3 : std_logic;
signal s_carry5 : std_logic;
signal s_clkdiv32 : std_logic_vector(5 downto 0);
signal s_clkdiv3 : std_logic_vector(1 downto 0);
signal s_clkdiv5 : std_logic_vector(3 downto 0);
begin
process(clk)
begin
if(rising_edge(clk))then
-- neio?iiiue na?in
if(clr='0')then
s_clkdiv32 <= (others => '0');
s_clkdiv3 <= (others => '0');
s_clkdiv5 <= (others => '0');
s_carry32 <= '0';
s_carry3 <= '0';
s_carry5 <= '0';
else
case s_clkdiv32(5) is
when '0' =>
-- n?ao iiea s_clkdiv32(5) a 0
s_clkdiv32 <= s_clkdiv32 + 1 ;
s_carry32 <= '0';
s_carry3 <= '0';
s_carry5 <= '0';
when '1' =>
s_clkdiv32 <= (others => '0');
s_carry32 <= '1';
if s_clkdiv3 = 2 then
s_carry3 <= '1';
s_clkdiv3 <= (others => '0') ;
if s_clkdiv5 = 4 then
s_carry5 <= '1';
s_clkdiv5 <= (others => '0') ;
else
s_clkdiv5 <= s_clkdiv5 + 1 ;
end if;
else
s_clkdiv3 <= s_clkdiv3 + 1 ;
end if;
when others=> null;
end case;
end if;
end if;
end process;
carry32 <= s_carry32;
carry3 <= s_carry3;
carry5 <= s_carry5;
end testcnt;
После добавления файла с кодом к проекту его можно откомпилировать и отсимулировать. Как это делается? Для начала нужно инициализировать симулятор
Затем добавляем New Waveform, нажав на соответствующую заметную кнопку на панели программы и после появления пустой диаграммы перетаскиваем мышкой на нее нужные сигналы.
Далее достаточно назначить параметры клока и сброса и запустить симулятор на исполнение.
Исполнение начнется при нажатии на кнопку Run. Перед этим нужно не забыть выставить длину шага типа 500 000 нсек. Вот собственно и вся музыка, в простейшем варианте конечно-же. Ну а ниже по тексту ссылка на выше представленный проект.
К данной статье нет комментариевЭлектроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)