一位数据
entity top_test is
Port (
clk : in std_Logic;
rst : in std_logic;
A : in std_logic;
B : out std_logic
);
end top_test;
architecture Behavioral of top_test is
begin
process(clk,rst)
begin
if rst = '0' then
B <= '0';
elsif rising_edge(clk) then
B <= A;
end if;
end process;
end Behavioral;
三位数据
entity top_test is
Port (
clk : in std_Logic;
rst : in std_logic;
A : in std_logic_vector(2 downto 0);
B : out std_logic_vector(2 downto 0)
);
end top_test;
architecture Behavioral of top_test is
begin
process(clk,rst)
begin
if rst = '0' then
B <= (others=>'0');
elsif rising_edge(clk) then
B <= A;
end if;
end process;
end Behavioral;
其中原语
IBUF:IBUF是输入缓存,一般vivado会自动给输入信号加上,IBUFDS是IBUF的差分形式,支持低压差分信号(如LVCMOS、LVDS等)。在IBUFDS中,一个电平接口用两个独特的电平接口(I和IB)表示。一个可以认为是主信号,另一个可以认为是从信号。主信号和从信号是同一个逻辑信号,但是相位相反
BUFG:全局时钟缓冲。它的输入是IBUFG的输出,BUFG的输出到达FPGA内部的IOB、CLB、选择性块RAM的时钟延迟和抖动最小。BUFG连接的是芯片中的专用时钟资源,能减少信号的传输延时,提高驱动能力。BUFG可以到达设备上的任何时钟点