У меня есть небольшой проект VHDL, который работает на плате Digilent Nexys 3 Spartan-6. Одно из объектов кода делит внешние принимаемые часы на коэффициент 2. Внешний тактовый сигнал не очень хорош. Это больше похоже на синусоидальную волну, чем на прямоугольник, но это другая проблема. Это VHDL код делителя - это не делать:Spartan-6 FPGA время нарастания/падения выходного сигнала
library IEEE;
use IEEE.std_logic_1164.all;
entity mems_prescaler is
port(
aclkr : in std_logic; -- 6.144 MHz
mems_clk : out std_logic); -- 3.072 MHz
end mems_prescaler;
architecture Behavioral of mems_prescaler is
signal output : std_logic := '0';
begin
process(aclkr)
begin
if rising_edge(aclkr) then
output <= not output;
end if;
end process;
mems_clk <= output;
end Behavioral;
Я проверил выходной сигнал на выводе отображенной на mems_clk и рост и падение раз выглядят очень плохо по сравнению с тем, что я ожидал. Его около 70 нс каждый. Настройки «Тип поворота» и «Сила привода» в PlanAhead не изменяют это. Ничего не связано с заголовком вывода PMOD на плате Nexys 3, кроме области. Может ли кто-нибудь дать мне подсказку о том, что попробовать? Благодаря!
Снимок экрана из области: [изображение] (https://i.imgsafe.org/c21869f.jpg) Желтый - это внешние часы, которые являются входом в ПЛИС, красный - это выход со странным подъемом и падением раз. – Florian