"); //-->
在一数控系统的项目中,需要一单片机将外部接收到的数据进行预处理后再给FPGA进行运算。在单片机与FPGA的硬件接口中采用总线连接的方式;由于单片机总线接口的数据与地址低8位是复用的,因此FPGA需要根据单片机的总线时序模拟一个EBI的总线接口将地址和数据分离开来,才能与单片机进行正常通讯。
如下图硬件连接:
为了保证模拟总线逻辑的正确性,必须监测A0~A15和D0~D7的输出,是否与单片机端写入的值一致。
调试的方法有很多种,可以在Quartus II下新建波形文件,创建输入条件后,监测输出的波形,也可以直接用Quartus II自带的嵌入式逻辑分析仪Signal Tap II来监测引脚信号;前者是单纯的根据逻辑仿真,而后者是物理仿真,它能真实的将系统运行过程中的信号实时的通过JTAG传送到Quartus II的显示界面。
使用SignalTap II的一般流程是:设计人员在完成设计并编译工程后,建立SignalTap II (.stp)文件并加入工程、配置STP文件、编译并下载设计到FPGA、在Quartus II软件中显示被测信号的波形;在测试完毕后将该逻辑分析仪从项目中删除。
现在我们开始介绍在Quartus II下用Signal Tap II进行调试的详细步骤。
首先,在你已经创建的工程下新建一个Signal Tap文件,并加入工程
再设置SignalTap II 文件,如下图
配制完成后,再编译综合,并下载
点击运行
此时FPGA工作时的单片机发送程序如下:
while (1)
{
(*(volatile unsigned char *)0x2345)=0X43; //向0x1234地址入写0x43
(*(volatile unsigned char *)0x5812)=0X12; //向0x5812地址入写0x12
}
由上图仿真的波形可见,在WR为低电平的第一个周期Addr=0x2345,Data=0x43;在WR为低电平的第二个周期Addr=0x5812,Data=0x12;很显然,与单片机那边的发送程序是一致的。
有一点需要提出,由于编译器的优化问题,在添加被测信号的时候,有些你想要引出的wire或者reg不能被添加进来,这需要在代码中进行设置,告诉编译器不要将该wire或reg优化。如:
wire [7:0] xmc_data_in /*synthesis keep*/;
wire [7:0] xmc_data_out /*synthesis keep*/;
wire [15:0] xmc_addr_out /*synthesis keep*/; //用于测试,不优化该线网
(本来,该工程中的xmc_data_in、xmc_data_out和xmc_addr_out这三个线网在 “Add Nodes”的 list中是显示不出来的,后来在代码中加了/*synthesis keep*/;才显示出来)
关于如何在Signal Tap II中添加更多的Wire和reg可参考
http://www.cnblogs.com/oomusou/archive/2008/10/17/signaltap_ii_reg_wire.html
关于STP文件分配的信号
在STP文件中,可以分配下面两种类型的信号:
(1) Pre—synthesis:该信号在对设计进行Analysis&Elaboration操作以后存在,这些信号表示寄存器传输级(RTL)信号。
(2) Post-fitting:该信号在对设计进行物理综合优化以及布局、布线操作后存在。
当选择第一种时,在添加被测信号时,只需要增量式编译就可以了,这样省了很多时间。当然添加完被测信号后,在下载入FPGA之前,还是需要全编译一次的。
两种类型同时只能使用一种,
红圈处不打勾时选第一种类型,红圈处打勾时选第二种类型。
选择好的调试方法非常重要,它能帮助设计者更快更准确的找出程序中的bug,高效的完成设计。当然在FPGA的设计过程中,需要多种方法和工具相结合来完成不同阶段的调试,熟练运用这些工具和方法非常的关键。
附件里是Quartus II 7.1下的工程代码
代码参考来源:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3353506&bbs_page_no=1&bbs_id=1029
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
基于单片机的等精度数字测频
韩国与SUN合作 采用Java平台作为无线互联网标准
电容式触控IC解决方案及产品发展状况
米尔NXP i.MX 91核心板开发板,赋能新一代入门级Linux应用
尼得科精密检测科技参展JPCA Show 2025
单片机的EMC测试及EMC故障排除
IC项目示例:连接评估板与PMODACL板读取XYZ轴加速度数据
基本电路
KPMG:9成半导体业者自认今年收益会续增
升压配置中的TPS61042
拓展覆盖,提升容量:毫米波固定无线接入的未来图景
Microsoft Windows CE .NET 4.2操作系统已投入生产
增加两个元件(Q1和D2)到典型的升压DC-DC稳压器的电路配置中,使其变为降一升压变换器
典型的降压拓扑结构电源
<<无线电>>杂志2003.5期上的自制51编程器资料下载
“零关税”效应突显 首季上海口岸手机“大进出”
金升阳LM-R2S系列机壳电源焕新上市
正式官宣!美国限制芯片设计软件、化学品和关键零部件对中国的销售
单片机的常用名词
连接世界的SOC设计
单片机的多串口扩展技术的设计
车厂& 零部件厂大咖说:48V先进电源系统创新技术及产业化突破
新一代的晶圆代工服务与你共赢新兴的中国半导体市场
物联网与RFID芯片
常用三极管、场效应管资料下载
品英Pickering公司产品确保低空航空器的航电和电池安全可靠
负反向相拓扑结构的典型应用
单片机的通信性能分析及其评价方法
协作创新平台——IBM微电子和Power架构
【技术浅谈】如何设计一款高可靠性的汽车CAN总线(3)