User Tag List

Страница 2 из 41 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 404

Тема: Изучение с "нуля" VHDL и ПЛИС Xilinx

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Если лишнюю подключить, но она не будет использоваться, это страшно?
    Это совсем не страшно
    Компилятор просто ею не воспользуется.

    ---------- Post added at 20:19 ---------- Previous post was at 20:15 ----------

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    так же не синтезируется, ругается на 33 строку, выдавая сообщение
    Попробуй заменить двоичные трехразрядные числа после when на обычные, 0,1,2,3...7.

    ---------- Post added at 20:21 ---------- Previous post was at 20:19 ----------

    Ты библиотеку свою arith подключил? Как в предыдущем примере.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Чтобы единица стала такого типа каким объявлен CNT, она и цвет сразу же изменила на такой же как "000"..."111" и "00000000"..."11111111", как я понял они стали одного типа.
    В Квартусе это не требуется. Так помаленьку и выловим все нюансы.
    Причем, как мне кажется, было бы кошернее написать не CNT + "1" а CNT + "001" чтобы соблюсти тогда уж и битовую размерность

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    На это она и ругалась как я понял, поэтому добавил строку:
    when others => Q_reg <= "00000000";
    Включаем хитрость и никаких строк не добавляем.
    просто последнюю строчку
    when "111" => Q_reg <= "01000010";
    подправляем на
    when others => Q_reg <= "01000010";
    Ведь мы не компилятор, и прекрасно знаем, что останется всего лишь один возможный вариант. А компилятор пускай думает, что он всех умней.

    ---------- Post added at 23:09 ---------- Previous post was at 23:05 ----------

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    А как правильно обромлять если "0", "1", то их хавает, а уже на "2" и остальные строки ругается
    А зачем ты кавычки ставил? Это просто десятичные числа, поэтому без кавычек.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #3

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Рекомендую все же проверить CNT + 1
    Фишка в том, что так писать принято, и в Верилоге в том числе. Закрыть уже этот вопрос и забыть.
    Ладно, до завтра!
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  5. #4

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Виктор, ушел в раздумья?
    Или подкинуть тебе пару задачек для самостоятельной работы?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #5

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давай попробуем несложное для начала...
    Дано - входящий клок 14МГц.
    Нужно получить частоты 7МГц, 3,5МГц.
    Обязательное условие - длина импульсов выходных частот должна быть равна длине входящих импульсов 14МГц. Т.е. скважность должна быть не 50%, а 25% и 12,5% соответственно. Понятно задание?

    Последний раз редактировалось Ewgeny7; 08.10.2014 в 22:23.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  7. #6

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    8 y : out std_logic; -- Выход тактовой частоты (3.5 МГц).
    Синтаксическая ошибка. В строчке, где описывается последний сигнал, после std_logic ставить точка_запятая не нужно. Убери, и всё заработает.

    ---------- Post added at 09:43 ---------- Previous post was at 08:19 ----------

    Сама программа под спойлером.
    Там всего три строчки кода. Попробуй самостоятельно написать, прежде чем заглядывать.



    Подсказка - там один счетчик, и два элемента простой логики И

    Скрытый текст


    Код:
    library IEEE; 
    use IEEE.std_logic_1164.all; 
    use IEEE.std_logic_unsigned.all;  
    
    entity led is
    	port(
    	CLK		: in std_logic;
    	CLK_7	: out std_logic;
    	CLK_35	: out std_logic
    	);
    end led;
    
    architecture led_arch of led is 
    
    signal CNT		: std_logic_vector(1 downto 0);
    
    begin
    
    CNT <= CNT+1 when (falling_edge(CLK));
    
    CLK_7 <= '1' when (CNT(0)='1' and CLK='1') else '0';
    CLK_35 <= '1' when (CNT(1)='1' and CNT(0)='1' and CLK='1') else '0';
    
    end led_arch;
    А две строчки логики можно еще упростить до булевой алгебры, синтаксис это позволяет:
    CLK_7 <= (CNT(0) and CLK);
    CLK_35 <= (CNT(1) and CNT(0) and CLK);

    [свернуть]
    Последний раз редактировалось Ewgeny7; 09.10.2014 в 11:29.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  8. #7

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Во-во, уже правильным путем идешь
    Счетчик разумеется должен быть двухразрядным.

    ---------- Post added at 11:36 ---------- Previous post was at 11:27 ----------

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Я долго смотрел и думал, а почему у тебя не стоит точка с запятой. Сбила эта скобочка на другой строчке.
    Здесь можно для полноты понимания записать всё в строчку, так сказать Верилог-стайл:

    port(Pin1: in std_logic; Pin2: out std_logic; Pin3: out std_logic);

    В таком виде понятней, почему точка_запятая не нужна.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  9. #8

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    a <= not b;

    ---------- Post added at 12:16 ---------- Previous post was at 12:14 ----------

    Только зачем ты "мыслишь триггерами", если есть готовые счетчики?

    ---------- Post added at 12:17 ---------- Previous post was at 12:16 ----------

    У тебя девборда уже есть? Какая?
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  10. #9

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Инверсный выход - это тот же выход, но только через инвертор.
    В принципе, его совсем не обязательно как-то обозначать и создавать, ты всегда можешь на элементе-потребителе просто сделать инверсный вход.
    Тоесть, применительно к твоему коду, например, A <= not q1;
    В языках синтеза нужно немножко перестраивать мозг, поначалу будешь действительно мыслить знакомыми микросхемами, но это муторно и тесно. А потом осознаёшь, что в действительности всё проще и просторней
    Загляни под спойлер. Там код безо всяких ТМ2 и ЛА3, простой, как три копейки
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  11. #10

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Viktor2312 Посмотреть сообщение
    Нет, пока нет, до реальной практике ещё очень далеко, тут бы в симуляторах, компиляторах, эмуляторах разобраться, чтобы правильно писать элементарный код...
    Зря... Лучше сразу практиковаться на реальной железяке. Это не только приятней, но еще и стимул дополнительный не бросать дело.

    ---------- Post added at 13:11 ---------- Previous post was at 12:49 ----------

    Моя девборда, с которой когда-то начинал

    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

Страница 2 из 41 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 172
    Последнее: 28.11.2017, 13:28
  2. Микроконтроллеры STM32, "с нуля".
    от Viktor2312 в разделе Для начинающих
    Ответов: 279
    Последнее: 07.11.2016, 19:45
  3. Техническая литература: Языки описания аппаратуры "AHDL, VHDL и Verilog"
    от Viktor2312 в разделе Техническая литература
    Ответов: 1
    Последнее: 14.09.2014, 22:29
  4. Ответов: 71
    Последнее: 31.07.2014, 19:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •