Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по VHDL
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Levard
Есть код инициализации дисплея и вывод на него символов с клавы - это всё работает
ВОПРОС : после ввода информации после нажатия Ентера осуществляется сдвиг вправо\влево в зависимости от тумблера, так вот как мне в elsife осуществить зацикливание ( знаю что при помощи while loop, но как это сочитать? )
Код
elsif A = '1' and B = '1' then
        if k = 0 then
                if RESET = '1'    then
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00000001";
                    k := 1;
                elsif dout = "00000000"    then
                    d1 := dout;
                elsif dout = "11111111" and S = '0 then  -- проверка на ентер и команда Сдвиг вправо
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00011100";
                    k := 1;
                elsif dout = "11111111" and S = '1' then -- Сдвиг влево
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00011000";
                    k := 1;            
                elsif dout /= d1 then
                    A0 <= '1';
                    RW <= '0';
                    INDATA <= dout;
                    d1 := dout;
                    k := 1;
                end if;
                    
            elsif k = 8 then
                E <= '0';       -- команда пишется в ЖК дисплей по спаду сигнала Е
                k := k + 1;
            elsif k = 28 then
                E <= '1';
                k := k + 1;
            elsif k = 3528 then
                k := 0;
            else k := k + 1;
            end if;
nikolascha
Не знаю как другие, а я не понял в чём ваш вопрос....
M@kar
Цитата
Не знаю как другие, а я не понял в чём ваш вопрос....
Присоединяюсь
tolik1
Цитата(Levard @ Dec 20 2011, 19:34) *
Есть код инициализации дисплея и вывод на него символов с клавы - это всё работает
ВОПРОС : после ввода информации после нажатия Ентера осуществляется сдвиг вправо\влево в зависимости от тумблера, так вот как мне в elsife осуществить зацикливание ( знаю что при помощи while loop, но как это сочитать? )
Код
elsif A = '1' and B = '1' then
        if k = 0 then
                if RESET = '1'    then
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00000001";
                    k := 1;
                elsif dout = "00000000"    then
                    d1 := dout;
                elsif dout = "11111111" and S = '0 then  -- проверка на ентер и команда Сдвиг вправо
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00011100";
                    k := 1;
                elsif dout = "11111111" and S = '1' then -- Сдвиг влево
                    A0 <= '0';
                    RW <= '0';
                    INDATA <= "00011000";
                    k := 1;            
                elsif dout /= d1 then
                    A0 <= '1';
                    RW <= '0';
                    INDATA <= dout;
                    d1 := dout;
                    k := 1;
                end if;
                    
            elsif k = 8 then
                E <= '0';       -- команда пишется в ЖК дисплей по спаду сигнала Е
                k := k + 1;
            elsif k = 28 then
                E <= '1';
                k := k + 1;
            elsif k = 3528 then
                k := 0;
            else k := k + 1;
            end if;


VHDL(да и Verilog) - язык описания функционирования. Фактически вы на языке рисуете схему. И зациклить опрос в том виде как это делается на языках программирования(С, Pascal...) нельзя. Структура языка while loop фактически размножает некую типовую конструкцию.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.