【发布时间】:2016-04-12 17:22:56
【问题描述】:
我有一个在 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 排针没有任何连接。 谁能给我一个关于尝试什么的提示?谢谢!
【问题讨论】:
-
示波器屏幕截图:image 黄色是作为 FPGA 输入的外部时钟,红色是具有奇怪上升和下降时间的输出。