FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
登录
首页-所有问题-其他-正文

2026年,作为自动化专业研一学生,导师项目偏理论,想独立完成一个能写在简历上的FPGA项目(比如基于FPGA的伺服电机位置环自整定PID控制器),该如何从Simulink模型定点化到Verilog实现,并完成硬件在环(HIL)验证?

电路板玩家小王电路板玩家小王
其他
3小时前
0
0
3
导师方向偏控制理论,实验室没有FPGA开发环境。我想自己动手做一个完整的伺服控制项目,作为找硬件工程师工作的项目经验。目前会用MATLAB/Simulink搭建PID和自整定算法模型,但对如何将浮点模型定点化、用Verilog实现、以及最后如何连接实物电机驱动器做硬件在环验证,完全没有头绪。希望有经验的前辈能分享一个从算法到硬件的完整实现路径,包括工具链选择(比如用HDL Coder还是手写RTL)、关键步骤和容易踩的坑。
电路板玩家小王

电路板玩家小王

这家伙真懒,几个字都不愿写!
71151.20K
分享:
2026年,想用一块AMD(Xilinx)的Versal HBM系列FPGA完成‘金融高频交易(HFT)策略硬件加速’的毕业设计,在实现低延迟网络协议栈、行情解码和交易算法时,如何最大化利用其HBM2e内存的超高带宽和片上AI引擎来突破CPU/GPU方案的延迟瓶颈?上一篇
2026年秋招尾声,还有哪些公司的‘FPGA原型验证工程师’或‘硬件仿真(Emulation)工程师’岗位可能还有机会?对于有数字IC设计或验证背景的应届生,没有原型验证项目经验,该如何在面试中证明自己快速上手Veloce/Palladium或FPGA原型平台的能力?下一篇
回答列表总数:3
  • EE学生一枚

    EE学生一枚

    同学你好,我也是自动化专业转FPGA的。针对你的情况,我分享一个更务实的思路:先别急着做完整的自整定PID,因为复杂度高容易卡住。建议先从基于FPGA的电机位置环控制做起,去掉自整定部分,等跑通了再加算法。定点化方面,Simulink里可以直接用Data Type Conversion模块设置定点数类型,比如fixdt(1,16,12)表示有符号16位、小数位12位。然后用手写Verilog实现,PID核心就三个部分:误差计算、积分微分运算、输出限幅。注意积分抗饱和处理,这是实际工程必须的。硬件验证环节,如果实验室没有电机平台,可以考虑先用PWM输出接LED灯看亮度变化,或者用ADC读取电位器模拟位置反馈,这样成本最低。等基本功能验证后,再买淘宝上的直流电机套件(约300元)连接测试。容易踩的坑:一是仿真时没考虑实际时钟延迟,导致算法不稳定;二是没做跨时钟域同步,编码器脉冲计数出错。建议每个模块单独仿真,再逐步集成。简历上可以写“基于FPGA的伺服电机位置环控制器设计与实现”,重点突出你从建模到硬件落地的全流程能力。

    1小时前
  • FPGA学员1

    FPGA学员1

    从你的描述看,痛点主要是缺乏从算法到硬件的完整路径认知。我建议分四步走:第一步,算法定点化。在Simulink里用Fixed-Point Tool把浮点模型转换,重点调整PID的系数和中间变量位宽,比如误差、积分项用18位有符号数,小数位根据精度需求定。第二步,RTL实现。如果你未来想找硬件工程师工作,强烈建议手写Verilog而不是用HDL Coder,因为面试官更看重手写能力。可以从状态机开始,把PID拆成乘加运算,注意时序逻辑设计。第三步,仿真验证。用Modelsim或Vivado自带的仿真工具,写testbench灌入数据,对比Simulink定点模型输出。第四步,硬件在环验证。你需要一块FPGA开发板(比如Zynq系列)、电机驱动器(支持PWM和编码器反馈)、一个小电机。自己写顶层模块连接PWM输出和编码器解码,然后用ChipScope或ILA在线调试。关键点:时钟域处理要小心,编码器信号需要滤波,PWM死区时间必须设置。工具链推荐Vivado+MATLAB组合,前期投入大概2000元买板子和配件。

    1小时前
  • 嵌入式开发萌新

    嵌入式开发萌新

    我当初做类似项目时也是从Simulink模型开始的,实验室同样没FPGA环境。我的路径是:先用MATLAB的Fixed-Point Designer把浮点模型转成定点,这一步关键是确定每个变量的位宽和小数点位置,可以先用仿真数据统计动态范围来辅助。然后我用HDL Coder直接生成Verilog代码,虽然代码风格比较冗长,但对初学者来说能保证功能正确性。生成后我在Vivado里建工程,用AXI接口封装成IP核,再写个简单的测试平台用ILA抓信号看波形。硬件验证部分,我买了个带PWM输出的FPGA开发板和一个小电机驱动器,自己用Verilog写了PWM模块和编码器计数模块,最后用示波器看输出波形是否正常。整个流程走下来大概花了三个月,最大的坑是定点化时精度没设好导致系统震荡,后来是边调参数边看波形才解决的。建议你先从简单的PWM生成做起,再逐步加入PID和自整定算法。

    1小时前
我要回答
回答被采纳奖励100个积分
FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
请先登录