AVNET 南京办 蔡键龙 - eetrend.com

74
AVNET 南京办 蔡键龙

Transcript of AVNET 南京办 蔡键龙 - eetrend.com

Page 1: AVNET 南京办 蔡键龙 - eetrend.com

AVNET 南京办

蔡键龙

Page 2: AVNET 南京办 蔡键龙 - eetrend.com
Page 3: AVNET 南京办 蔡键龙 - eetrend.com
Page 4: AVNET 南京办 蔡键龙 - eetrend.com
Page 5: AVNET 南京办 蔡键龙 - eetrend.com
Page 6: AVNET 南京办 蔡键龙 - eetrend.com
Page 7: AVNET 南京办 蔡键龙 - eetrend.com

选定所用的器件

Page 8: AVNET 南京办 蔡键龙 - eetrend.com
Page 9: AVNET 南京办 蔡键龙 - eetrend.com

源代码输入

调用及例化IP

功能仿真

Chipscope例化

时钟约束

管脚锁定

工程实现

生成bit文件

Page 10: AVNET 南京办 蔡键龙 - eetrend.com

PLL CLK_OSC

Counter

DDS Chipscope

50MHz

100MHz

200MHz

port

port

FPGA

IP IP

源代码

Debug

Page 11: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

右键菜单

Page 12: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

Page 13: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

Page 14: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

输入顶层文件名

Page 15: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

Page 16: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

Page 17: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

双击打开文件

Page 18: AVNET 南京办 蔡键龙 - eetrend.com

输入源代码

双击打开文件

Page 19: AVNET 南京办 蔡键龙 - eetrend.com

调用IP-PLL时钟

双击打开

Page 20: AVNET 南京办 蔡键龙 - eetrend.com

调用IP-PLL时钟

时钟输入频率

Page 21: AVNET 南京办 蔡键龙 - eetrend.com

调用IP-PLL时钟

时钟输入频率

Page 22: AVNET 南京办 蔡键龙 - eetrend.com

调用IP-PLL时钟

对信号重命名,方便辨识。

Page 23: AVNET 南京办 蔡键龙 - eetrend.com

PLL的生成结果

Page 24: AVNET 南京办 蔡键龙 - eetrend.com

时钟 IP例化

Copy到 源代码文件里

Page 25: AVNET 南京办 蔡键龙 - eetrend.com

时钟 IP例化

信号声明

IP例化

Page 26: AVNET 南京办 蔡键龙 - eetrend.com
Page 27: AVNET 南京办 蔡键龙 - eetrend.com
Page 28: AVNET 南京办 蔡键龙 - eetrend.com
Page 29: AVNET 南京办 蔡键龙 - eetrend.com

输入需要的频率

Page 30: AVNET 南京办 蔡键龙 - eetrend.com
Page 31: AVNET 南京办 蔡键龙 - eetrend.com

信号声明

IP例化

Page 32: AVNET 南京办 蔡键龙 - eetrend.com

在插入Chipscope ILA模块时,可以直接找到Debug变量。

Page 33: AVNET 南京办 蔡键龙 - eetrend.com

启动代码模板

Page 34: AVNET 南京办 蔡键龙 - eetrend.com

搜索”debug”关键字

Copy到代码里面

Page 35: AVNET 南京办 蔡键龙 - eetrend.com

声明为”DEBUG”,即使

没有连接到其他模块,也不会被优化掉。

Page 36: AVNET 南京办 蔡键龙 - eetrend.com

DEBUG变量的实现

Page 37: AVNET 南京办 蔡键龙 - eetrend.com

声明时赋初始值; 不要使用reset赋值方式!

Page 38: AVNET 南京办 蔡键龙 - eetrend.com

点击它

Page 39: AVNET 南京办 蔡键龙 - eetrend.com

选择“Open Synth. Design”

然后OK。

Page 40: AVNET 南京办 蔡键龙 - eetrend.com

选择Debug界面模式

Debug信号列表

Page 41: AVNET 南京办 蔡键龙 - eetrend.com

点击,启动Debug向导

Page 42: AVNET 南京办 蔡键龙 - eetrend.com
Page 43: AVNET 南京办 蔡键龙 - eetrend.com

采样时钟

Page 44: AVNET 南京办 蔡键龙 - eetrend.com

右键,可以选择你希望的Clock信号

Page 45: AVNET 南京办 蔡键龙 - eetrend.com

选择你希望的Clock信号

Page 46: AVNET 南京办 蔡键龙 - eetrend.com

添加设计中的其它信号,即使你没有对它标记“DEBUG”

Page 47: AVNET 南京办 蔡键龙 - eetrend.com

输入你想看的信号

Page 48: AVNET 南京办 蔡键龙 - eetrend.com
Page 49: AVNET 南京办 蔡键龙 - eetrend.com
Page 50: AVNET 南京办 蔡键龙 - eetrend.com
Page 51: AVNET 南京办 蔡键龙 - eetrend.com

Debug向导窗口大概是这个样子。

将locked信号的时钟源改一下。

Page 52: AVNET 南京办 蔡键龙 - eetrend.com
Page 53: AVNET 南京办 蔡键龙 - eetrend.com

2

2

Page 54: AVNET 南京办 蔡键龙 - eetrend.com

自动设置Debug相关的core。

Page 55: AVNET 南京办 蔡键龙 - eetrend.com

所有信号应该都已经Assigned。

Page 56: AVNET 南京办 蔡键龙 - eetrend.com
Page 57: AVNET 南京办 蔡键龙 - eetrend.com

将界面切换到I/O管脚分配模式

Page 58: AVNET 南京办 蔡键龙 - eetrend.com

大概是这个样子

主要操作区域

Page 59: AVNET 南京办 蔡键龙 - eetrend.com

直接在界面里面输入管脚位置;

适用于先有硬件,再设计代码;

输入管脚位置名称,如 “AC3”

一定要选择对应的IO电平

Page 60: AVNET 南京办 蔡键龙 - eetrend.com

将INPUT、OUTPUT信号直接拖放到管脚上;

适用于先有代码,再出原理图、PCB;

Page 61: AVNET 南京办 蔡键龙 - eetrend.com

点按某个信号,直接拖放到管脚上。

一定要选择对应的IO电平

Page 62: AVNET 南京办 蔡键龙 - eetrend.com

将设计里的所有管脚分配好。

Page 63: AVNET 南京办 蔡键龙 - eetrend.com

单击,打开

Page 64: AVNET 南京办 蔡键龙 - eetrend.com

定制MMCM IP时,已经产生主时

钟以及派生的时钟约束,无需再添加

如果有其他时钟需要添加,按照Create Clock向导一步步输入即可。

Page 65: AVNET 南京办 蔡键龙 - eetrend.com

没Save,约束只是存在于内存中,并没有回写到XDC文件中,必须手动Save。

Page 66: AVNET 南京办 蔡键龙 - eetrend.com
Page 67: AVNET 南京办 蔡键龙 - eetrend.com

Implement完成之后,可以直接打开Implement结果。

也可以点击

Page 68: AVNET 南京办 蔡键龙 - eetrend.com
Page 69: AVNET 南京办 蔡键龙 - eetrend.com

点击

Page 70: AVNET 南京办 蔡键龙 - eetrend.com
Page 71: AVNET 南京办 蔡键龙 - eetrend.com

不满足的时序会以红色显示

Page 72: AVNET 南京办 蔡键龙 - eetrend.com

定制MMCM时钟IP所隐含的时序

Page 73: AVNET 南京办 蔡键龙 - eetrend.com
Page 74: AVNET 南京办 蔡键龙 - eetrend.com