当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]当然,我们可以尝试通过遵循良好的FPGA开发过程来减少这种情况,从而实现结构化方法。这样的方法可以完成高质量的设计。通常,该开发过程将包含几个不同的阶段、过程和审查,以执行结构化方法

最有趣的行业统计数据之一是,84%的FPGA设计至少存在一个错误。

当然,我们可以尝试通过遵循良好的FPGA开发过程来减少这种情况,从而实现结构化方法。这样的方法可以完成高质量的设计。通常,该开发过程将包含几个不同的阶段、过程和审查,以执行结构化方法,包括:

•系统需求评审——评审系统需求和验证方法,以及符合/不符合矩阵。

•初步设计评审——根据要求对建筑设计进行评审,以确保满足要求。审查架构的可行性和技术风险。

•关键设计评审——根据需求和体系结构评审已实现的设计及其验证包、仿真和定时关闭/实现报告。

遵循这个过程,当然,需要审查阶段的检查表和与供应商规则一致的优秀编码/设计指南,例如超快编码方法。

一旦FPGA设计完成,项目离完成还有很长的路要走。

设计必须集成到硬件中,与现实世界的传感器、执行器、驱动器和应用软件接口。

在此阶段,在产品发布之前,有几个技术挑战/风险可能导致需要在硬件上执行调试。

在硬件上进行调试需要能够理解逻辑设计、应用软件和现实世界之间的交互——不幸的是,有时现实世界与验证设计的方式是不同的——例如,不同的时序、操作模式或意想不到的硬件/软件交互。

当这种情况发生时,我们需要能够找到问题的根本原因并采取纠正措施。在集成过程中发现的任何东西都应该反馈到模拟中,以确保未来的产品更新/回归测试不会忘记实验室的惨痛教训。

为了做到这一点,作为工程师,我们有几个工具-从简单的万用表测量电压和电流,到逻辑分析仪/模式发生器和示波器。

然而,有时我们想要内部查看我们的SoC/FPGA,以了解IP核或嵌入式硬核和软核处理器之间的交互。

AMD ChipScope是集成到Vivado设计套件中的片上调试和验证工具包。它使开发人员能够实时观察,捕获FPGA或SoC设计的内部信号并与之交互,而无需外部探针或逻辑分析仪。

ChipScope工具包的关键要素之一是集成逻辑分析仪。

什么是ILA

集成逻辑分析仪(ILA)是嵌入在AMD fpga和soc中的硬件调试工具,允许工程师捕获和分析内部数字信号。

ILA提供实时硬件调试功能,允许用户设置触发条件并直接在FPGA结构上捕获信号数据。ILA能够捕获具有一系列接口定义的信号,从简单的逻辑信号和矢量到AXI和AXI流接口。

System ILA是一个增强版本,可以跨多个接口和时钟域进行更全面的系统级调试。它提供监视AXI接口、内存控制器和其他系统互连的功能。

与基本ILA相比,系统ILA可以捕获更长的跟踪缓冲区,支持更复杂的触发条件,并同时监视更多数量的信号。这使得它对于调试复杂的片上系统(SoC)设计特别有价值,其中多个组件通过不同的接口和协议相互交互。

调试方法

在调试应用程序时,我们需要采用逻辑方法。因此,在使用System ILA或ILA时,我们应该理解FPGA设计是一个迭代过程,如果我们从逻辑上解决问题,这是最成功的。

最好的方法是:

•把问题分解成更小的部分

•通过减少变量和变化来简化

•做一个预测,然后验证结果

•在设计周期的早期计划如何以及在哪里进行调试

插装方法

当在实际设计中使用集成逻辑分析仪(ILA)时,重要的是要有策略地使用仪器来平衡调试可见性和FPGA资源使用。

ILAs消耗逻辑和块RAM,这在已经接近容量的设备中成为一个关键问题。

捕获深度和被监测信号的宽度直接影响BRAM的使用——更宽的探针和更长的捕获窗口会迅速耗尽可用内存。

在早期的版本中,遵循上面概述的方法,重点关注关键控制信号、重置线和状态或错误指示器,因为这些通常提供对系统行为的直接洞察,并帮助在调试周期的早期识别问题。

系统内的关键AXI总线,特别是那些最接近处理系统接口的总线,如Zynq UltraScale+ mpsoc上的M_AXI_HPM_FPD(高性能主)和S_AXI_HP_FPD(高性能从),也应该考虑用于仪器仪表。

虽然这些宽总线是资源密集型的,但它们承载着可编程逻辑和处理系统之间的基本流量,并且可以揭示数据处理和系统集成中的微妙问题。

从精心选择的控制、复位、状态/错误和这些关键AXI接口的混合开始,在适当的捕获深度提供了对系统级行为的有价值的可见性,同时为迭代调试改进保留了空间。

演示项目

为了演示如何在FPGA设计中利用ila提供的功能,我们将创建一个简单的演示项目。

该项目将针对安富利ZU板,并连接到Digilent ZMod AWG以生成简单的模拟输出。

在这个项目中,我将使用两种不同的ILA来帮助确保正确的操作。

•ILA -用于监控时钟向导锁定信号、DAC初始化信号和DAC错误信号

•系统ILA -监控系统中的AXI和AXI流数据

第一步是创建一个新项目。如果未安装ZU板,则使用Vivado中的Boards选项卡下载。

一旦创建了项目,下一步就是创建Vivado设计。要做到这一点,第一步是创建一个块设计。

随着块设计的开放,添加Zynq UltraScale+ MPSoC处理系统。

运行块自动化配置处理系统为ZU板定义。

在配置了处理系统之后,我们可以从Vivado库中添加ZMod AWG控制器。

双击IP并选择“将IP添加到块设计”。

ZMod AWG需要一个轴流输入,而处理系统有一个AXI4输出。然而,Vivado能够实现必要的内存映射到流转换架构。连接ZMod AWG输入数据流端口到处理系统的h0 - fpd端口。

这将打开一个连接自动化对话框。对于时钟,从处理系统中选择100 MHz输出时钟。

这将生成如下图所示的图表。将系统时钟连接到与DAC I/O时钟相同的时钟,因为两者都将处于100 MHz。

重新定义轴流FIFO并取消启用传输控制选项。

添加一个新的时钟向导并按如下所示进行配置;我们想要一个100 MHz的输出偏移距输入90度。

如图所示,将时钟连接到ZMod AWG的DAC CLK输入端。

连接复位。

增加一个常数块设置为DAC使能的逻辑高。

添加一个常数块设置为逻辑低禁用测试模式。

除了ZMod AWG块上的顶部两个端口,并将它们标记为外部。

添加系统ILA;我们将使用它来监视系统中的AXI和axis - stream数据。

按如下方式配置System ILA属性;启用其触发输入和输出端口。这将使我们能够与Vitis Unified的软件开发进行交叉探索。

0号槽位保持当前配置不变。

改变槽1的属性来监控轴流。

如下所示连接System ILA插槽0和插槽1,以及时钟和复位。

重新定制处理系统以禁用HPM1,并启用PS到PL和PL到PS的交叉触发。这种交叉触发允许ILA和Vitis Unified环境相互触发。

输出触发是指在Vitis中遇到断点时,也可以同时触发所连接的ILA,以观察断点触发时硬件的行为。

输入触发是指当ILA到达它的触发器时,处理器上的软件执行也停止,使得软件的状态也可以被观察到。

如图所示连接Trigger端口。

添加一个ILA;我们将用它来监测设计中的一些简单的逻辑信号。

用三个输入探针配置ILA,如下所示。

如下所示连接ILA;我们将监视时钟向导锁定信号,DAC初始化信号和DAC错误信号。

最终的设计应该如下所示。

验证设计,创建包装器,并使用下面提供的XDC文件构建比特流。

HW设置

确保硬件设置如下所示,将ZU板通过PL HSIO端口连接到ZMod DAC。DAC通道1 SMA的输出应使用SMA- bnc电缆连接到示波器。

此外,确保ZU板通过USB- c连接供电,并通过USB JTAG连接到开发机器。

SW设计

为了开始软件设计,我们首先需要确保ZU板上的启动模式设置为JTAG。我们将使用JTAG端口访问ILAs。如果您正在使用PetaLinux,您也可以通过以太网进行访问,如本项目所示;然而,这超出了本项目的范围。

在Vitis Unified中,基于刚刚导出的XSA创建一个新的硬件平台。

选择刚刚从Vivado导出的XSA。

选择一个独立的操作系统和第一个A53处理器。

完成平台的创建。

下一步是创建应用程序项目。对于这个项目,我们将使用Hello World模板,并将其命名为AWG_Example。

选择刚刚创建的平台。

按照指示离开域。

完成应用程序的创建。

下一步是构建应用程序并使用应用程序的启动配置交叉探测。json文件。

要添加交叉探测(我们需要添加两个,每个方向一个),选择add Item选项。

我们将设置的第一个交叉探针使触发器能够使用FTM从A53-0处理器转到可编程逻辑,从而转到系统ILA。

一旦设置了第一个交叉探测,我们需要添加另一个从可编程逻辑到A53处理器的交叉探测。

现在,我们可以调试标准的Hello World应用程序,以确保该流程按预期工作,并提前查看ZMod AWG状态。

我们将在终端中看到输出;这有助于证明我们有一个具有基本功能的构建。

在开发主应用软件之前,下一步是确认ZMod AWG已被正确配置和初始化。这里的任何错误都表明时钟或控制信号映射有问题。

在Vivado中,打开硬件管理器,并在ILA1上,仔细检查时钟向导是否被锁定并且DAC已初始化。由于这些是静态信号,我们可以立即触发ILA。

如果我们看到一个配置错误,我们将需要进一步研究ZMod AWG的接口和时钟。

下一步是在系统ILA上启用触发器并武装它。

然后我们可以开发主应用软件,对于本例,它将向DAC中写入一个斜坡计数。这是一种通常在集成早期执行的测试,以确保DAC没有丢失的位或卡住的代码。

应用程序代码如下:

下一步是使用System ILA检查数据是否正确地传输到轴流FIFO。

在for循环中添加一个断点来执行写操作。

当遇到断点时,ILA也将触发,并且可以观察到AXI写入。

这证明数据正在写入轴流FIFO。现在我们需要检查数据是否从FIFO输出。

在Vivado中,更改System ILA触发器,并将其设置为在axis - stream上有效的数据上升沿触发,然后武装ILA。

重新启动应用程序软件,ILA将随着软件的停止而触发,就像在断点处一样。我们可以看到数百个数据包正在输出。

放大后,您可以看到斜坡的值和值按预期增加。

在Vitis中,您还将看到该软件已被停止。

当我们将输出驱动到DAC时,这应该会导致DAC输出端出现模拟输出。然而,在连接到硬件的示波器上,没有观察到任何信号。

我们知道处理系统正在生成数据,我们知道它正在被发送到ZMod DAC驱动程序,我们知道ZMod被正确初始化-但是作用域中没有出现任何东西。

让我们看看ZMod AWG用户指南,看看我们是否遗漏了什么。该指南的链接在这里。

阅读文档,我们看到了这个问题:目前,测试波形被放置在较低的位,但ZMod AWG期望它在较高的位。

纠正这个错误(很有帮助,这是一个软件修复)可以再次在ILA中验证;但是,我们现在可以在作用域输出中看到结果。

由于DAC代码是有签名的,因此将计数器从0调到最大刻度将导致作用域显示一个正斜坡,然后在设置MSB后显示一个负斜坡。

总结

本项目展示了我们如何使用AMD ChipScope调试解决方案、ILAs和System ILAs在实时项目中发现问题并快速识别它们。该项目还概述了如何通过使用交叉探测功能来调试硬件和软件交互,从而可以轻松地分析集成问题。

ChipScope, ILA和System ILA是开发人员可以用来快速轻松地调试应用程序的重要元素。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭