🌍首页
📁归档
⏳时光机
🚩友链
📫留言
📧订阅
🌟推荐
📕考研课程
🏜️ 免费壁纸
❤ 捐助本站
💰资助名单
🎵音乐实验
Search
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
20,112 阅读
2
论文写作中如何把word/wps里面所有数字和字母替换为新罗马字体
10,669 阅读
3
【高数】形心计算公式讲解大全
9,058 阅读
4
Vivado-FPGA Verilog烧写固化教程
7,990 阅读
5
【概论】一阶矩、二阶矩原点矩,中心矩区别与概念
7,825 阅读
🪶微语&随笔
励志美文
我的随笔
工作办公
📡电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
⌨️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
/
注册
工作记录(共2篇)
找到
2
篇与
工作记录
相关的结果
【随笔】航空电子 FPGA 开发中的需求层级:从 PRD 到 HDD 一张图看懂
摘要:本文介绍了航空电子FPGA开发中的需求层级,从PRD到HDD,通过一张图和通俗比喻,帮助读者理解这些文档在DO-254/ARP4754体系中的位置和作用,以及FPGA工程师在需求追溯中的角色和职责。目录 一、为什么要搞懂这些文档?(立住规矩) 二、需求层级全景图(自上而下) 三、各层级详解(FPGA 工程师视角)1. SRD — System Requirements Document(系统需求文档) 2. ERD — Equipment Requirements Document(设备需求文档) 3. HRD — Hardware Requirements Document(硬件需求文档) 4. HDD — Hardware Design Description(硬件设计描述) 四、那 PRD 是什么? 五、FPGA 工程师的日常:需求追溯怎么落地?实际工作流示例 六、新手容易踩的坑 七、一句话总结 参考标准 写给 FPGA 新人的话:刚入行航空电子时,相比新人会被一堆缩写搞懵了——SRD、ERD、HRD、HDD、PRD…… 本文试图用一张图和几个通俗比喻,帮你理清这些文档在 DO-254/ARP4754 体系中的位置和作用。一、为什么要搞懂这些文档?(立住规矩) 在航空领域,FPGA 不是"写完了能跑就行"。适航标准(主要是 DO-254)要求你必须证明:每一个硬件功能都有明确的需求来源,每一个需求都被设计实现,每一个设计都被测试验证。 这个过程叫做 需求追溯(Traceability)。而追溯的链条,就是靠一层层的需求文档串起来的。 pmzShTJ.png图片 二、需求层级全景图(自上而下) 如果把一架飞机比作一个人,需求分解的过程就像是从"这个人要做什么"逐步细化到"每个细胞怎么工作"。 flowchart TD classDef aircraft fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000 classDef system fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000 classDef equipment fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000 classDef hardware fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000 classDef design fill:#fce4ec,stroke:#880e4f,stroke-width:2px,color:#000 classDef fpgaRole fill:#fffde7,stroke:#f57f17,stroke-width:1px,stroke-dasharray: 5 5,color:#000 A["🛫 飞机级需求<br/>Aircraft Level Requirements<br/>『飞机要能自动着陆』"]:::aircraft B["📋 SRD<br/>System Requirements Document<br/>系统需求文档<br/>ARP4754A 管辖<br/>『自动着陆系统接收 GPS/ILS 信号』"]:::system C["📦 ERD<br/>Equipment Requirements Document<br/>设备需求文档<br/>ARP4754A / DO-254 交界<br/>『导航计算机输出位置数据,20Hz』"]:::equipment D["🔧 HRD<br/>Hardware Requirements Document<br/>硬件需求文档<br/>DO-254 核心管辖<br/>『FPGA 实现 UART 115200 8N1』"]:::hardware E["💻 HDD<br/>Hardware Design Description<br/>硬件设计描述<br/>DO-254 实现层<br/>Verilog/VHDL、原理图、约束文件"]:::design P["📑 PRD<br/>Product/Project Requirements Document<br/>产品/项目需求文档<br/>公司内部定义(非 DO-254 标准术语)"]:::system R3["👤 FPGA 工程师<br/>✍️ 核心编写工作"]:::fpgaRole R4["👤 FPGA 工程师<br/>✍️ 核心设计实现"]:::fpgaRole A -->|"分解为"| B B -->|"分配到设备"| C C -->|"细化到硬件"| D D -->|"设计实现为"| E P -.->|"可能分解为"| C D -.-> R3 E -.-> R4 E -.->|"向上追溯"| D D -.->|"向上追溯"| C C -.->|"向上追溯"| B B -.->|"向上追溯"| A三、各层级详解(FPGA 工程师视角) 1. SRD — System Requirements Document(系统需求文档) 这是谁写的? 系统工程师。 FPGA 工程师需要做什么? 读它,理解系统要做什么。 SRD 描述的是系统层面的功能和性能。比如"飞行管理系统(FMS)要能在 5 秒内完成航路计算"。这时候 FPGA 还只是系统框图里的一个"黑盒子",可能标注为"信号处理模块"。 关键认知:SRD 通常不会直接提到 FPGA 内部的寄存器或时序,它关心的是系统输入输出。 2. ERD — Equipment Requirements Document(设备需求文档) 这是谁写的? 设备/模块级工程师。 FPGA 工程师需要做什么? 参与评审,确认分配给 FPGA 的功能边界。 ERD 把 SRD 的系统功能分解到具体的设备(LRU,Line Replaceable Unit)。比如"导航计算机"作为一个设备,它要包含电源板、接口板、FPGA 处理板。 ERD 会定义: 设备的物理接口(连接器型号、引脚定义) 设备的性能指标(延迟、吞吐量) 设备的环境要求(温度、振动) 对 FPGA 的意义:ERD 是你 FPGA 所在"盒子"的顶层约束。如果 ERD 说"接口延迟必须小于 1ms",你的 FPGA 设计就必须满足这个。 3. HRD — Hardware Requirements Document(硬件需求文档) 这是谁写的? 硬件工程师(就是你!)。 这是 DO-254 的 C 级审查核心。 HRD 把 ERD 中分配给 FPGA/硬件的功能进一步细化,变成可验证的硬件需求。HRD 里的每一条需求,最终都要在测试用例里被覆盖。 HRD 的典型内容: 需求 ID需求描述来源(追溯)HRD_001FPGA 应实现 1 路 RS422 接收,波特率 115200,8N1ERD_042HRD_002数据解析模块应在收到帧头后 10μs 内输出有效标志ERD_055HRD_003内部 FIFO 深度应不小于 1024 字系统安全性分析关键认知: HRD 必须用可验证的语言写。避免"高性能"、"快速"这种模糊词。 每一条 HRD 都必须能向上追溯到 ERD/SRD。 DO-254 审查官会随机抽 HRD 条目,检查它是否有设计实现和测试覆盖。 4. HDD — Hardware Design Description(硬件设计描述) pasted_1787295560129_x2nj6o.png图片 这是谁写的? 还是你,FPGA 工程师。 这是需求的"实现层"。 HDD 不是一份单独的"文档",而是所有设计产物的集合: HDL 源代码(Verilog/VHDL) 原理图和 PCB 布局 时序约束文件(SDC/XDC) 设计说明文档(模块划分、状态机描述、算法流程) HDD 与 HRD 的关系: HRD 说"要什么"(What) HDD 说"怎么做"(How) DO-254 要求 HDD 能向下覆盖 HRD。简单说:HRD 里的每一条需求,你都要在 HDD 里找到对应的设计实现。 四、那 PRD 是什么? 在 DO-254 和 ARP4754A 的标准术语里,并没有 PRD 这个缩写。 但在实际项目中,你看到的 PRD 通常指以下几种之一: 可能的含义解释在层级中的位置Product Requirements Document(产品需求文档)公司某款"产品"(如某型飞行控制计算机)的顶层需求,向下分解为多个 ERDERD 之上Project Requirements Document(项目需求文档)某个具体项目/合同的交付要求,包含进度、合规、配置管理要求与 ERD 平行或之上Process Requirements Document(过程需求文档)定义开发过程、工具链、编码规范等过程域,非功能需求建议:如果你在公司文档里看到 PRD,先查一下公司的《术语表》或《需求管理计划》,确认具体定义。不同公司用法不同,不要假设。 五、FPGA 工程师的日常:需求追溯怎么落地? 作为 FPGA 工程师,你不需要写 SRD 和 ERD,但你要深刻理解它们。你的核心工作是在 HRD ↔ HDD ↔ 测试 之间建立闭环。 实际工作流示例 flowchart TD %% ========== 样式定义 ========== classDef read fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000 classDef write fill:#fff8e1,stroke:#f9a825,stroke-width:2px,color:#000 classDef design fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000 classDef test fill:#fce4ec,stroke:#c2185b,stroke-width:2px,color:#000 classDef review fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px,color:#000 classDef trace fill:#e0f2f1,stroke:#00695c,stroke-width:1px,stroke-dasharray: 5 5,color:#000 classDef milestone fill:#ffebee,stroke:#b71c1c,stroke-width:3px,color:#000 %% ========== 步骤 1:读需求 ========== S1["📖 Step 1:读 SRD / ERD<br/>理解系统要求"]:::read S1_Detail["每秒处理 1000 个雷达回波<br/>(系统级指标)"]:::read %% ========== 步骤 2:写 HRD ========== S2["✍️ Step 2:写 HRD<br/>硬件需求文档"]:::write S2_Detail["FPGA 雷达接口模块<br/>以 1MHz 速率接收 ADC 采样数据"]:::write T1["🔗 追溯至 ERD_xxx"]:::trace %% ========== 步骤 3:写 HDD(设计)========== S3["💻 Step 3:写 HDD<br/>硬件设计描述"]:::design S3_Detail["module adc_interface<br/>SPI 接收 + FIFO 缓冲 + 状态机"]:::design T2["🔗 追溯:HRD_xxx 由<br/>adc_interface 实现"]:::trace %% ========== 步骤 4:写测试 ========== S4["🧪 Step 4:写 Test Cases<br/>测试验证"]:::test S4_Detail["Testbench 注入 1MHz 数据<br/>检查 FIFO 不溢出"]:::test T3["🔗 追溯:覆盖 HRD_xxx<br/>测试通过 ✓"]:::trace %% ========== 步骤 5:审查 ========== S5["🔍 Step 5:适航审查"]:::review S5_Q["审查官:HRD_xxx 这条需求<br/>设计在哪?测了吗?"]:::review S5_A["出示 HDD 代码 + 测试报告<br/>链路闭合 ✓"]:::review DONE["🎉 DO-254 需求追溯闭环"]:::milestone %% ========== 流程连接 ========== S1 --> S1_Detail S1_Detail -->|"分解"| S2 S2 --> S2_Detail S2_Detail --> T1 T1 -->|"驱动"| S3 S3 --> S3_Detail S3_Detail --> T2 T2 -->|"验证"| S4 S4 --> S4_Detail S4_Detail --> T3 T3 -->|"审查"| S5 S5 --> S5_Q S5_Q --> S5_A S5_A --> DONE %% ========== 双向追溯示意 ========== DONE -.->|"向上追溯<br/>Trace Up"| T3 T3 -.-> T2 T2 -.-> T1 T1 -.->|"追溯到源头"| S1_Detail六、新手容易踩的坑 pasted_1787295645472_ckx8zi.png图片 坑为什么危险怎么办HRD 写得太像设计把"用什么算法"写进需求,导致设计变更时必须改需求HRD 只写"要什么",不写"怎么做"需求没有唯一 ID无法追溯,审查时找不到对应关系所有需求必须有全局唯一编号(如 HRD_FPGA_001)需求不可验证"处理速度尽量快"——怎么算通过?用数字说话:"延迟 ≤ 5μs"忽略 ERD 的接口定义FPGA 引脚分配错误,导致板子改线早期就冻结接口需求,与硬件/结构对齐七、一句话总结 SRD 定义系统做什么,ERD 定义设备做什么,HRD 定义 FPGA 做什么,HDD 定义 FPGA 怎么做。PRD 可能是你们公司的"产品需求",先查内部定义。DO-254 的核心就是:每一层都能向上追溯、向下覆盖、中间有验证。参考标准 DO-254:《Design Assurance Guidance for Airborne Electronic Hardware》 ARP4754A:《Guidelines for Development of Civil Aircraft and Systems》 如有错误,欢迎指正交流。
工作办公
# 工作记录
刘航宇
2小时前
0
4
2
论文写作中如何把word/wps里面所有数字和字母替换为新罗马字体
摘要:在Word中(WPS同理),通过打开“查找和替换”窗口,输入特定格式代码替换所有字母和数字为Time New Roman字体。在比较正式的论文写作中,这些英文和数字的格式要求是Time New Roman。 1、在word中点击替换(WPS同理),或者使用快捷键Ctrl+H打开“查找和替换”窗口。 2、在查找内容中输入“([A-Z0-9]) ”(不包括引号,但包括小括号),这个意思是替换所有大写字母和数字,如果要替换小写字母,则输入为“([a-zA-Z0-9])”。然后点“更多”,勾选 “ 使用通配符“鼠标点击“替换为” 后面的白框 同理带有中括号的角标可以输入“[*]”进行替换 pmxgNAs.png图片 3、点击格式下拉选项–选择字体 选择西文格式中的“Time New Roman ”或者其他你想要的格式,然后点击确定就可以了 pmxgDjU.png图片 pmxgBcT.png图片
工作办公
# 工作记录
刘航宇
4年前
0
10,669
5