基于Arria 10 SoC的控制模块设计和开发事项

最佳方法导致成功
大型 fpga 设计的先决条件通常包括客户、开发人员、pcb 制造商、电路板制造商和 fpga 制造商之间的密切合作和密集的信息交流。为了执行这些任务,heitec 定义了一种方法,该方法非常强调明确的定义、全面的文档和持续的审查,尤其是在项目的早期阶段。必须从头开始指定概念,并且必须明确定义所需的功能和架构,以便开发过程可以有效地进行,而无需进行大量的重新设计。详细记录项目的每个阶段尤为重要。与客户的初步讨论是基于需求的设计的基础。目标是需求规范,即 通过制定要求表,包括功能和性能参数,以及电气、机械和热性能。接下来的步骤是概念规范、功能规范、开发和实施以及使用系统仿真验证和确认功能。
概念规格
第一步是概念规范,它定义了所有要求、实现概念、fpga 选择和数据传输模型。对于高度复杂的项目,这可能会持续数周甚至数月,并产生包含有时超过 100 页的描述、高级块图像和表格的详细文档。在这个阶段,确定功能划分,即定义哪些功能是在硬件或软件中实现的,以及使用哪些硬件组件(cpu、fpga、asic、soc)。对于不同的解决方案,会创建一个决策矩阵来选择基本组件,例如 cpu、soc、高速 i/o 接口、内存接口等。
在这里,也确定将使用哪些 ip。例如,可能需要将用于控制和调试任务的处理器集成到 fpga 中,因为在高速下,芯片上的常规测量有时不再可能,并且必须通过适当的软件和模式生成器执行内部自检。 相应的状态寄存器、错误计数器、错误位等可用于确定是否已实现所需功能并能够逐步纠正故障。在概念阶段,系统性能和实时能力以及电气、机械和热性能也正在评估中。在这个阶段特别重要的是整个项目的时间和成本估算,包括规格、fpga和电路板开发,
功能规范
功能规范定义了硬件和固件设计规范。硬件设计规范涉及 fpga 以及板上的所有基本组件。它包括定义 fpga 架构、选择和描述 fpga 组件、估计电路板和 fpga 的电源和电压要求、详细的功能框图、模块描述、流程图、映射 fpga i/o 引脚、时钟和复位概念,硬件和软件接口以及所需的测试环境。
作为固件设计规范的结果,提供了详细的流程图、操作系统的选择、引导概念以及低级驱动程序和测试例程的定义。此外,它还规定了交互测试、应用程序详细信息、固件/软件接口、诊断支持和错误处理。
质量保证
随着实际设计的开始,为质量保证采取进一步的综合措施至关重要。仔细审查是合适的方法,因为这已经识别出规范和代码中的许多错误。这可能看起来很麻烦,但它非常有效并且可以在早期阶段提高质量。开发人员之间通过审查和检查交流经验自动意味着在项目的各个阶段增加开发知识。这些措施得到了广泛的清单和一致的版本管理的补充。mentor hdl designer 等高级设计输入工具用于实施,
经验证的 asic 设计概念
asic 成功开发的关键在于,在将数据移交给 asic 制造商之前,设计的整体功能已经过全面验证。最终设计中的故障非常困难,最重要的是,由于口罩的精心生产,修复起来非常昂贵。相比之下,fpga 在修复设计缺陷和实现功能更改方面具有更大的灵活性。然而,为了能够满足高度复杂的 fpga 设计通常紧缩的时间表和成本框架,这里描述的设计方法是必不可少的。
这是避免回顾性的唯一方法,通常只能进行复杂的可实施功能更改以及冗长且昂贵的故障分析。此外,从早期设计阶段的一开始,就可以在概念、fpga 架构、i/o 引脚和 vhdl 编码中严格考虑高速方面。良好的编码指南以及熟练的流水线和注册在后期综合和 p&r 期间获得回报。
因此,heitec 开发人员也始终如一地利用他们在 asic 设计方面的多年经验来设计高速 fpga 解决方案。
最初,开发团队分析了系统规格。在具有 arria 10 的系统中,fpga 通常在整个系统中发挥重要作用,并影响系统设计的其余部分。通过为系统和 fpga 创建详细的设计规范,并通过定义与系统其余部分的 fpga 输入和输出接口,尽可能透明地说明设计过程非常重要。
密集的数据处理包括多个发送和接收路径,其中大量数据处理可能导致数值输出的高动态性。指定的发送和接收路径越多,当然要求就越高。硬浮点功能对此非常有帮助,提供了更高的稳定性,并且在 1.5 ghz 时比以前的技术更强大。
借助 arria 10 中的硬浮点 dsp 模块,fpga 系统能够克服许多性能限制挑战并显着降低功耗。该架构消除了 100% 通常使用 fpga 资源实现的 ieee 754 浮点逻辑。首先,所有必要的要求都记录在硬化的 dsp 模块中。这消除了使用宝贵的 fpga 资源创建非规范化和规范化逻辑的需要。过去,硬件实施不可能立即实现。通常,该算法必须分几个步骤转换为最适合 fpga 架构的定点实现。简化的实现消除了复杂的调试并显着缩短了开发时间。
各种考虑因素在设计过程中发挥了特殊作用:指定 fpga 的 i/o 接口、识别不同的时钟域、定义基本设计功能的框图、集成 ip 块、制定功能的验证/测试计划整个团队(可制造性设计)。此外,通用设计目录结构是有益的,因为它促进了不同级别的集成。这个概念的目标是通过 jtag 端口进行 fpga 编程,并通过 gui-pc 以太网接口加载 fpga 配置的更新以及 hps cpu 软件。


小米Note2真机谍照曝光:首款双曲面屏手机登台
以太坊在未来有希望成为下一代交易网络
基于LM35和LM3914的室温温度计的制作
博泰车联网荣获“2021-2022年度(第五届)中国IC独角兽”称号
iPhone8什么时候上市?iPhone8最新消息:iPhone8外观确定,Phone8配件钢化膜现5孔?iPhone8命名三大揭秘
基于Arria 10 SoC的控制模块设计和开发事项
使用RDREC读取诊断数据记录的编程示例
西门子发布新型物联网网关:用于过程工业、独立于控制系统
AI助手让输入更智能
裸板介绍及裸板测试的重要性
基于嵌入式操作系统uClinux的虹膜图像采集以及预处理
食用油过氧化值检测仪的产品特点是怎样的
建博会完美收官 | 罗曼斯全面升级,绽放品牌实力!
汽车存储市场的国产机遇
盘古大模型是干什么的,一文浅谈盘古大模型
美国银行认为数字货币和区块链技术对其构成了行业风险
如何设计保护这些系统的电路
人们能否生活在一个AI和量子计算运行模拟的宇宙中?
小米6和荣耀9哪个好?釉白PK炫黑谁更胜一筹?小米店前门庭若市,华为冷冷清清,究竟为何?
新能源汽车整车动力总成系统的测试