1 / 40
文档名称:

FPGA开发流程及编程思想PPT课件.ppt

格式:ppt   大小:193KB   页数:40页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FPGA开发流程及编程思想PPT课件.ppt

上传人:yzhfg888 2017/12/2 文件大小:193 KB

下载得到文件列表

FPGA开发流程及编程思想PPT课件.ppt

相关文档

文档介绍

文档介绍:FPGA开发流程及编程思想
简化的开发流程
需求定义
设计输入
设计综合
设计实现
配置下载
功能仿真
系统测试
设计验证
实际的开发流程
需求定义
设计输入
设计综合
设计实现
配置下载
综合结果分析
实际电路验证
静态时序分析
时序仿真
系统整合验证
功能仿真
需求定义
需求决定设计
“这个设计是做什么用的?”
“要实现什么功能?”
“有什么要注意的地方?”
需求是容易发生变更的
大师说过,没有哪个设计需求更改少于三次的,唯一一次只更改过两次需求的情况,是那个可怜的家伙在送第三次变更需求来的路上,被车给撞了。
你不能决定需求是否发生变更,但你可以做到当需求更改时,你所需要做出的调整最小。
设计输入
原理图输入(对大型设计很少使用)
硬件描述语言VerilogHDL,VHDL
HDL语言是硬件描述语言,不是硬件设计语言
用硬件电路设计思想来编写HDL
先有鸡,还是先有蛋?
always@(posedge clk)
if(!rst_n)
a <= 8’b0;
else
a <= a + 1’b1;
? 是因为,我们这样写了,a就会被综合成同步计数器;
√还是因为,这样写a会被综合成同步计数器,我们才如上写。
你知道它们会综合成什么?
代码1:
always @ (posedge clk)
begin
if (ce)
b <= {in, b[0:14]};
end
assign out <= b[15];
代码2:
reg [31:0] c[511:0] ;
always @ ( posedge clk)
begin
addr_reg <= addr;
if (we)
c[addr] <= din;
end
assign out = c[addr_reg];
综合结果分析
看看综合结果,了解你的代码消耗了多少reg、lut资源,综合估计频率多快,最差路径是哪条。
尽量消除每一个warning,如果warning无法消除,请确认该warning于结果无害。
有没有这种情况:代码A比代码B,速度更快、消耗资源更少、功能更强、运行更稳定?
功能仿真
仿真工具
Altera: QuartusII
Xilinx: ISE
Lattice: IspLever
第三方Monter:ModelSim