第2节 FPGA设计流程回顾与例子
第2节 FPGA设计流程回顾与例子

举例:用简单的计数器实现分频
-
设计输入(VHDL)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity counter is
Port ( rst: in std_logic;
clk : in std_logic;
clkout : out std_logic_vector(3 downto 0)
);
end counter;
architecture Behavioral of counter is
signal temp: std_logic_vector(31 downto 0);
begin
process (clk)
begin
if rst='0' then
temp <= (others=>'0');
clkout <= (others=>'0');
elsif clk='0' and clk'event then
temp <= temp + 1;
clkout <= temp(3 downto 0);
end if;
end process;
end Behavioral;
设计流程
-
设计准备;
-
设计输入;
约束文件
--CLK P54
--RST P38
--LED1 P6
--LED2 P10
--LED3 P12
--LED4 P18 -
设计输入;
-
语法检查、功能仿真;
-
综合、布局布线;
-
时序仿真;
-
器件编程与调试。
输入波形文件
练习:IP核的使用
- 计数器IP;
- 数字时钟管理单元DCM IP核;
- FIFO;
- ……
设计流程是一样的,不同之处在于
- 参数化,并生成相应的IP核;
- 在设计输入阶段调用这些IP核。


