реклама на сайте
подробности

 
 
> Устройство мигания светодиодов (VHDL)
lyzifer
сообщение Jul 13 2017, 11:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 13-07-17
Пользователь №: 98 133



Устройство моргания 4-мя светодиодами.По сути,программа очень простая.Но у меня в итоге светодиоды "бегают" (т.е. загорелся первый,потом сразу же следующий с частотой 1 Гц).А мне нужно чтобы диод загорелся,потух,а только потом,через 1 с, следующий. Заранее благодарен.
вот реализация и временная диаграмма:

Код
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity LED is
port( CLK : in std_logic;
L_D : out std_logic_vector(3 downto 0)); -- поправил у меня 4 светодиода подключены
end LED;

architecture A_LED of LED is
signal counter : std_logic_vector(20 downto 0):= (others => '0');
signal LED_temp : std_logic_vector(3 downto 0) := (0 => '1',others =>'0'); -- поправил на 4 светодиода
signal res : std_logic := '0';
begin
count : process(CLK,res)
begin
if(res = '1') then
counter <= (others => '0');
elsif(rising_edge(CLK)) then
counter <= counter +1;
end if;
end process;

L : process(counter)
begin
if(counter = 2000000) then
res <= '1';
LED_temp <= LED_temp(2 downto 0) & LED_temp(3);
-- вращаю выходной вектор по кругу налево, постоянно смещая на 1 разряд
else
res <= '0';
end if;
end process;

L_D <= led_temp; -- выдаю информацию из регистров в порт

end A_LED;


На выходе получаю



а надо:




Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flip-fl0p
сообщение Jul 14 2017, 08:44
Сообщение #2


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



А есть ли особый смысл в этих строчках ?
Код
    else
      NULL;
    end if;

Go to the top of the page
 
+Quote Post
Tausinov
сообщение Jul 14 2017, 09:16
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 19-10-13
Пользователь №: 78 795



Цитата(Flip-fl0p @ Jul 14 2017, 11:44) *
А есть ли особый смысл в этих строчках ?
Код
    else
      NULL;
    end if;



Нет, просто привычка, чтобы задуматься, а не должно ли что-то по else зануляться, например. Несколько раз обжигался на том, что пропускал такие моменты.

Цитата(lyzifer @ Jul 14 2017, 11:57) *
дело в том,что я работаю в Vivado и ISE.поэтому,к сожалению, принципиально важно работать на VHDL.
Да,это задание можно выполнить и с меньшим кол-ом програмного кода. но спасибо за интерес)))


Обе среды же прекрасно Верилог поддерживают.

Цитата(AVR @ Jul 14 2017, 11:08) *
Не буду назойливым, просто меня шокировал объем кода для такой-то простой задачи...


На VHDL тоже можно написать компактнее, а на Верилоге даже длиннее. Суть не в языке описания, а в логике работы. Выше предложили, например, красивый вариант с удвоенным сдвиговым регистром и управлением диодиками каждым вторым битом - его еще компактнее можно сделать. Но у автора цель, как я понимаю, разобраться в логике работы, а не в том, чтобы сэкономить пару килобайт на жестком диске)
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jul 14 2017, 10:45
Сообщение #4


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Tausinov @ Jul 14 2017, 13:16) *
На VHDL тоже можно написать компактнее, а на Верилоге даже длиннее.

Не верю sm.gif

VHDL - это просто жуткое количество совершенно лишнего текста.

Verilog же - компактный и красивый язык.
Ещё бы заменили begin\end чем нибудь кототеньким... sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lyzifer   Устройство мигания светодиодов (VHDL)   Jul 13 2017, 11:52
- - iosifk   Цитата(lyzifer @ Jul 13 2017, 14:52) Устр...   Jul 13 2017, 11:58
|- - lyzifer   Цитата(iosifk @ Jul 13 2017, 14:58) Это з...   Jul 13 2017, 12:02
- - Tausinov   Ввести дополнительный сигнал signal phase : std_lo...   Jul 13 2017, 13:51
|- - lyzifer   Цитата(Tausinov @ Jul 13 2017, 16:51) Вве...   Jul 13 2017, 14:32
|- - Tausinov   Цитата(lyzifer @ Jul 13 2017, 17:32) Блин...   Jul 13 2017, 15:18
|- - lyzifer   Цитата(Tausinov @ Jul 13 2017, 18:18) Вс...   Jul 13 2017, 15:32
- - Tausinov   Дизайн: Кодlibrary ieee; use ieee.std_logic_1164...   Jul 13 2017, 15:58
|- - lyzifer   Цитата(Tausinov @ Jul 13 2017, 18:58) о...   Jul 13 2017, 18:23
|- - Maverick   lyzifer, это не программа, а описание цифровой схе...   Jul 13 2017, 18:37
- - Stewart Little   Цитата(lyzifer @ Jul 13 2017, 14:52) А мн...   Jul 13 2017, 16:17
|- - Tausinov   Цитата(Stewart Little @ Jul 13 2017, 19:1...   Jul 13 2017, 16:26
|- - lyzifer   Цитата(Tausinov @ Jul 13 2017, 19:26) ЕЕ...   Jul 14 2017, 07:41
|- - AVR   Цитата(lyzifer @ Jul 14 2017, 10:41) ЕЕЕЕ...   Jul 14 2017, 08:08
|- - lyzifer   Цитата(AVR @ Jul 14 2017, 11:08) Будет ли...   Jul 14 2017, 08:57
- - AVR   Вопрос автору темы: обязательно ли VHDL? Видя это ...   Jul 14 2017, 06:24
|- - lyzifer   Цитата(Tausinov @ Jul 14 2017, 12:16) Обе...   Jul 14 2017, 09:59
||- - Tausinov   Цитата(lyzifer @ Jul 14 2017, 12:59) Я И ...   Jul 14 2017, 10:36
|||- - lyzifer   Цитата(Tausinov @ Jul 14 2017, 13:36) Ва...   Jul 17 2017, 12:08
|||- - Tausinov   Что-то странное вы пытаетесь сделать, если честно....   Jul 17 2017, 12:42
|||- - lyzifer   Цитата(Tausinov @ Jul 17 2017, 15:42) Что...   Jul 17 2017, 12:45
|||- - lyzifer   Цитата(Tausinov @ Jul 17 2017, 15:42) Все...   Jul 17 2017, 14:20
||- - iosifk   Цитата(lyzifer @ Jul 14 2017, 12:59) Я И ...   Jul 14 2017, 10:40
||- - Огурцов   Цитата(iosifk @ Jul 14 2017, 10:40) цель ...   Jul 15 2017, 04:20
||- - iosifk   Цитата(Огурцов @ Jul 15 2017, 07:20) цель...   Jul 15 2017, 14:11
|- - AVR   Цитата(sonycman @ Jul 14 2017, 13:45) Не ...   Jul 14 2017, 10:47
||- - Maverick   Цитата(AVR @ Jul 14 2017, 13:47) Я просто...   Jul 16 2017, 12:04
|- - yoggy   Цитата(sonycman @ Jul 14 2017, 13:45) ......   Jul 15 2017, 02:45
- - Tausinov   Как-то так, например. Тестбенч : Кодlibrary ieee; ...   Jul 17 2017, 14:59
|- - lyzifer   Цитата(Tausinov @ Jul 17 2017, 17:59) Бл...   Jul 18 2017, 13:52
|- - iosifk   Цитата(lyzifer @ Jul 18 2017, 16:52) Блин...   Jul 18 2017, 13:59
|- - lyzifer   Цитата(iosifk @ Jul 18 2017, 16:59) Два р...   Jul 18 2017, 14:04
- - Tausinov   Один из диодов в начале горит, т.к. регистр инициа...   Jul 18 2017, 15:53
|- - lyzifer   Цитата(Tausinov @ Jul 18 2017, 18:53) Оди...   Jul 18 2017, 18:50
- - AVR   Я не выдержал, моё решение (сам модуль примерно 25...   Jul 18 2017, 19:56
|- - lyzifer   Цитата(AVR @ Jul 18 2017, 22:56) Я не выд...   Jul 19 2017, 07:08
- - Tausinov   Так осталось просто тоже самое переписать на VHDL....   Jul 19 2017, 08:39
|- - lyzifer   Цитата(Tausinov @ Jul 19 2017, 11:39) Так...   Jul 19 2017, 08:45
- - Tausinov   Кодlibrary ieee; use ieee.std_logic_1164.all; ...   Jul 19 2017, 09:31


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.0142 секунд с 7
ELECTRONIX ©2004-2016