我有一个在 Digilent Nexys 3 Spartan-6 板上运行的小型 VHDL 项目。代码的实体之一将外部接收的时钟除以因子 2。外部时钟信号不是很好。它看起来更像正弦波而不是矩形,但这是一个不同的问题。这是除法器的 VHDL 代码 - 它没有太多作用:
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 的引脚上的输出信号,与我的预期相比,上升和下降时间看起来非常糟糕。每个大约 70ns。PlanAhead 中的“回转类型”和“驱动强度”设置不会改变这一点。除了示波器,Nexys 3 板上的 PMOD 排针没有任何连接。谁能给我一个关于尝试什么的提示?谢谢!