FPGA Design with MATLAB,Part 3: Architecting Efficient Hardware

这份学习资料来自MATLAB官网,主要介绍如何利用MATLAB/Simulink生成HDL代码,以用于FPGA或者ASIC硬件。下面为学习过程中对教程的翻译,以及学习中的心得。

内容
第一个视频简要介绍了HDL 自学教程;第二个视频建立了脉冲检测算法的Simulink模型实施过程。

在这一部分中,我们将准备Simulink模型用于代码生成,并重点介绍优化硬件微架构的技术。

我们重命名并保存模型,然后再命令行输入HDLSETUP,该命令可以确认几种模型参数以用于HDL代码生成。其中一个参数,sample time对应对应于一个区域采样数据的速度,这是通过颜色代码可视化的。在FPGA上,这通常转化为时钟速率,即数据通过流水线级时钟的速度,它协调信号穿越并行路径时的信号时序。

更新模型时,采样时间不同的块以不同的颜色显示。在我们的模型中,采样时间是相同的,在更新时,块和信号线将显示为红色。

把Filter、Compute Power和局部峰值系统封装为顶层子系统,并命名为脉冲检测器。这个新子系统将作为待测单元(DUT),包含我们将产生HDL代码的算法。

HDL编码器软件提供了架构选项,扩展了对硬件设计实现中速度和面积权衡的控制。我们将展示多种插入流水线级的方法,以平衡并行路径并以较高的时钟频率运行。

我们将从改变滤波器结构到直接形式来获得更好的时序性能,并插入额外的输入/输出管道寄存器。类似地,添加一级输入和输出管道寄存器,并通过HDL块属性将Compute Power子系统的“adaptivepipelineing”设置为ON。

自适应流水线自动插入特定操作的流水线寄存器,从而提高时钟速度。时钟速度的提高是通过流水线级之间较少的逻辑操作实现的。这种优化技术取决于目标设备和频率设置。

当我们在最后一步从模型生成HDL代码时,我们可以查看插入到各个块中的延迟。管道寄存器影响模型的整体模拟,为了模拟效果,可以手动插入延迟。

这就是我们在Simulink模型设计中添加数据有效性检查作为控制信号时要做的。我们创建有效的输入和输出端口,并向并行路径添加管道延迟。一个在数据输入/输

猜你喜欢

转载自blog.csdn.net/zhanshen112/article/details/107781401