什么是硬件设计?
硬件设计是将功能编程到自定义电路中所遵循的过程。系统和算法开发人员通常在 Simulink® 和 MATLAB® 中开始硬件设计,然后编写一个规范文档,以供硬件设计团队用来手动创建硬件描述语言 (HDL) 实现。该 HDL 实现随后用来对 FPGA 或 ASIC 硬件进行编程。该硬件通常是片上系统 (SoC) 的一部分。
手动编写底层 HDL 代码会限制硬件设计团队探索不同架构的广度,增加引入的 bug 数量,并使算法难以在其他工程中复用。
借助 MATLAB 和 Simulink,您可以探索各种算法,并确定哪些算法最耗费计算资源,可能会从硬件设计中受益。探索之后,您可以使用 SoC Blockset™ 对 SoC 架构进行仿真。
硬件设计细化
您还可以通过下面几个步骤来细化硬件设计,其中每个步骤都可以对照前一个步骤或原始算法进行验证:
- 调整算法以处理连续的数据流。在硬件设计中,数据通常是以连续流的形式进行传输和处理的。
- 通过硬件设计组件的定点量化或浮点 实现,在数值准确性和效率之间进行权衡。
- 添加微架构,如并行机制、时序、反馈回路和实现硬件设计所需的其他功能。
硬件设计验证
硬件设计的代码生成
在全连接的硬件设计工作流中,您可以使用 HDL Coder™ 生成功能正确的 Verilog、SystemVerilog 或 VHDL 代码,以开始硬件设计实现过程。这种方法还有一项优势,那就是具有从设计到模型和需求的完全可追溯性。这对于功能安全型工作流(如 DO-254、ISO® 26262 和 IEC 61508)至关重要。
示例和操作方法
应用
软件参考
另请参阅: 使用 MATLAB 进行 FPGA、ASIC 及 SoC 开发, HDL Coder, SoC Blockset, HDL Verifier, Deep Learning HDL Toolbox, DSP HDL Toolbox, Vision HDL Toolbox, Wireless HDL Toolbox