cheebeez 0 20 мая, 2018 Опубликовано 20 мая, 2018 (изменено) · Жалоба Доброго времени суток. Решил усложнить "hello world" и умножить входящую частоту 12МГц с отладочной платы до 24МГц с помощью mmcm. Вопрос: какие нужно сделать манипуляции, что бы использовать эту частоту c clk_out1_0 в конструкции rising_edge. Сейчас это выглядит так: process(CLK12MHZ) begin if rising_edge(CLK12MHZ) then count <= count + 1; end if; end process; Цель: process(CLK24MHZ) begin if rising_edge(CLK24MHZ) then count <= count + 1; end if; end process; Изменено 20 мая, 2018 пользователем cheebeez Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 15 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Доброго времени суток.Интересно, когда народ перестанет использовать эту несуразную фразу? Простое "Здравствуйте" содержит меньше букв. Решил усложнить "hello world" и умножить входящую частоту 12МГц с отладочной платы до 24МГц с помощью mmcm. Вопрос: какие нужно сделать манипуляции, что бы использовать эту частоту c clk_out1_0 в конструкции rising_edge. Сейчас это выглядит так: process(CLK12MHZ) begin if rising_edge(CLK12MHZ) then count <= count + 1; end if; end process; Цель: process(CLK24MHZ) begin if rising_edge(CLK24MHZ) then count <= count + 1; end if; end process; И в чём у вас проблемы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cheebeez 0 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Интересно, когда народ перестанет использовать эту несуразную фразу? Простое "Здравствуйте" содержит меньше букв. И в чём у вас проблемы? Хай! VHDL не дает читать из out. Это с одной стороны логично, с другой стороны я пока не понимаю как "взять" эту частоту для использования в process/rising_edge. Спс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Amurak 0 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Хай! VHDL не дает читать из out. Это с одной стороны логично, с другой стороны я пока не понимаю как "взять" эту частоту для использования в process/rising_edge. Спс. Чтобы "читать из out", объявляете еще один сигнал. Выдаете его на out и его же можно спокойно использовать внутри entity. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Чтобы "читать из out", объявляете еще один сигнал. Выдаете его на out и его же можно спокойно использовать внутри entity. Или используйте стандарт VHDL2008 ;) P.S. Правда поддержка этого какая-то кривая. То САПР ругается, то нет.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cheebeez 0 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Чтобы "читать из out", объявляете еще один сигнал. Выдаете его на out и его же можно спокойно использовать внутри entity. Спасибо. Не подскажете как это будет выглядеть в контексте этого кода: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity blinky is port( CLK12MHZ : in std_logic; CLK24MHZ : buffer std_logic; led : out std_logic_vector(3 downto 0) ); end entity blinky; architecture behavioral of blinky is signal count : std_logic_vector(27 downto 0); component design_1_wrapper is port ( sys_clock : in STD_LOGIC; clk_out1_0 : out STD_LOGIC ); end component design_1_wrapper; begin newfreq: design_1_wrapper port map ( clk_out1_0 => CLK24MHZ, sys_clock => CLK12MHZ ); process(CLK24MHZ) begin if rising_edge(CLK24MHZ) then count <= count + 1; end if; end process; led(0) <= count(24); led(1) <= count(25); led(2) <= count(26); led(3) <= count(27); end architecture behavioral; В данном случае Vivado ругается, что CLK24MHZ не назначен пин в constraints. Или используйте стандарт VHDL2008 ;) P.S. Правда поддержка этого какая-то кривая. То САПР ругается, то нет.... Угу, код во врапере начинает подсвечивается красным в рандомных местах, пока решил не связываться с VHDL2008. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cheebeez 0 20 мая, 2018 Опубликовано 20 мая, 2018 · Жалоба Спасибо. Не подскажете как это будет выглядеть в контексте этого кода: Разобрался. На 2 уровня ниже, в файле design_1.vhd есть нужный сигнал: signal clk_wiz_0_clk_out1 : STD_LOGIC; clk_out1_0 <= clk_wiz_0_clk_out1; Всем спасибо. Надеюсь эта тема пригодится слоупокам типо меня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 21 мая, 2018 Опубликовано 21 мая, 2018 · Жалоба Всем спасибо. Надеюсь эта тема пригодится слоупокам типо меня. Самое главное - это сделать вывод о том, что проектирование на FPGA начинается не с написания HDL - а с карандаша и бумаги, где все блок схемы, структура устройства описываются и продумываются заранее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться