首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA开发全攻略连载之十三:FPGA实战开发技巧(12)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA开发全攻略连载之十三:FPGA实战开发技巧(12)
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-12-5 22:16
|
只看该作者
FPGA开发全攻略连载之十三:FPGA实战开发技巧(12)
软件设计
,
计数器
,
嵌入式
,
源文件
,
技巧
5.6 大规模设计的调试经验
在大规模设计的调试应该按照和设计理念相反的顺序,从底层测试,主要依靠ChipScope Pro 工具。下面主要介绍ChipScope Pro、FPGA Editor 组件的使用方法。
5.6.1 ChipScope Pro组件应用实例
在赛灵思软件设计工具中,ISE 可集成赛灵思公司的所有工具和程序。ChipScope Pro 也不例外,在ISE 中将其作为一类源文件,和HDL 源文件、IP Core 以及嵌入式系统的地位是等同的。本节在Xilinx Spartan3E-D开发板上实现一个计数器模块,基于该模块详细介绍如何在ISE 中新建ChipScope 应用以及观察、分析数据的详细操作。
例5.6.1 :在ISE 中实现一个8 比特计数器,利用ChipScope 分析其逻辑输出。
(1) 新建用户工程,添加mycounter.v 的源文件,其内容如下所列:
module mycounter(clk, reset, dout);
input clk;
input reset;
output [7:0] dout;
reg [7:0] dout;
always @(posedge clk) begin
if (reset == 0)
dout <= 0;
else
dout <= dout + 1;
end
endmodule
然后根据电路连接,添加相应的管脚约束。
(2) 综合工程,然后在ISE 工程管理区,单击右键,选择“Add New Source”命令,在弹出的对话框中选择“ChipScope Definition and Connection File” 类型, 并在“File Name” 栏输入ChipScope 设计名称mychipscope,如图5-41所示。
图5-41 添加ChipScope设计示意图
图5-42 测试模块选择界面
单击“Next”按键,进入分析文件选择界面,这里会将该文件夹里所有的HDL 设计、原理图设计都罗列出来( 包括顶层模块和全部底层模块),供用户挑选,用鼠标单击即可选中,本例选择mycounter,如图5-42 所示。单击“Next”按键进入小结页面,单击“Finish”按键完成添加。
(3) 双击工程区mycounter.v 下的子模块mychipscope.cdc,可自动打开Chipscope Pro Core Insterser软件,添加触发单元和触发位宽。其中触发类型选为Basic,位宽为8比特;设置采样深度为4096,各步骤如图5-43到图5-46所示。
图5-43 调试工程配置界面
图5-44 ICON核配置界面
图5-45 触发信号配置界面
图5-46 采集深度配置界面
(4) 点击“Next”进入网表连接显示页面,如图5-47 所示。其中如果用户定义的触发和时钟信号线有未连接的情况,则图中“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”等字样以红色显示;正确完成连接后则变成黑色。
图5-47网表连接提示界面
点击图5-47 中“Modify Connection”的按键,进入连接页面,时钟和数据的连接如图5-48、图5-49所示。需要注意的是,ChipScope Pro 只能分析FPGA 设计的内部信号,因此不能直接连接输入信号的网表,所以输入信号网表全部以灰色显示。如果要采样输入信号,可通过连接其输入缓冲信号来实现,时钟信号选择相应的BUFGP,普通信号选择相应的IBUF。如图5-48 中所示,选择采样时钟时,选择了CLK_BUFGP。
图5-48 时钟网表连接界面
图5-49 触发网表连接界面
连接完成后,单击“OK”按键返回连接显示界面,发现所有提示字符“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”没有红色,则单击“Return Project Navigator”,退出Chipscope,返回到ISE 中。否则需要再次点击“Modify Connection”按键重新连接。
(5) 在工程中加入UCF 文件,约束时钟、数据管脚位置。为了简化也可以只添加clk 和reset 这两个控制信号的管脚约束,其内容如下:
NET "clk" LOC = "C9" | IOSTANDARD = LVCMOS33 ;
# Define clock period for 50 MHz oscillator (40%/60% duty-cycle)
NET " clk " PERIOD = 20.0ns HIGH 40%;
NET "reset" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN ;
(6) 在ISE 过程控制区中双击“Implement Design”和“Generate Programming File”, 可以完成实现以及生成可编程文件,并将设计人员插入的各类核也将被包含在比特文件中。生成配置文件后,双击图5-50所示的“Analyze Design Using Chipscope”图标,可自动打开Chipscope Pro Analyzer 软件。
图5-50 Chipscope Pro Analyzer启动操作示意图
(7) 在Chipscope Analyzer 用户界面上点击工具栏上图标“ ”,初始化边界扫描链。等扫描完成后,单击“Device”菜单下“DEV: 0 My Device0(XC3S500E) → Configure”命令选择.bit 文件配置FPGA。
(8) 芯片配置完成后,选择“File”菜单的“Import”命令,可弹出CDC 文件加载页面,选择相应的CDC 文件,将会把所有以“Dataport”的名称修改为综合后的线网名称。
(9) 组合cnt 总线信号。可按住“Ctrl”键,选择多个总线信号,单击右键,选择“Add to Bus”命令,将其组合成相应的总线信号,如图5-51 所示。
图5-51 添加总线操作示意图
(10) 不设定触发条件采集数据。点击工具栏的“ ”图标,开始采集数据。整体结果如图5-52 所示,单击工具栏的“ ”按键,可放大信号,局部结果如图5-53 所示。从分析结果可以看出,本设计在FPGA中成功地完成了8 比特计数器的功能。
图5-52 Analyzer分析结果整体示意图
图5-53 Analyzer分析结果局部示意图
(11) 设定触发条件采集数据。在“Trigger Setup”栏Match 区域的“M0: Trigger Port0”行的Value 列输入触发条件“0000_0000”,如图5-54 所示。
图5-54 触发条件设置界面
点击工具栏的“ ”图标,开始采集数据,可以看到,采集结果的第一个数为0,如图5-55 所示。当然,
用户可以根据需要设置更复杂的触发条件。
图5-55 触发条件设置界面
(12) 利用Bus Plot 功能绘制输出信号波形。在工程区双击“Bus Plot”命令,然后在弹出窗口的“Bus Selection”区域选中“dout”,则会将采集数据以图形方式显示出来,如图5-56 所示。由于本设计是8 比特加1 计数器,因此其波形就是幅度为0 到255 的锯齿波。
图5-56 8计数器的波形示意图
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议