主要内容

定义定制的董事会和参考英特尔SoC设计工作流

这个例子展示了如何定义并注册一个定制的董事会和参考设计的高密度脂蛋白编码器™英特尔®SoC工作流。

介绍

使用这个示例,您将能够注册Terasic DE1-SoC开发工具包和一个自定义参考英特尔SoC设计的高密度脂蛋白工作流顾问工作流程。

这个示例使用Terasic个SoC,但以同样的方式,您可以定义和注册一个定制板或一个自定义为其他英特尔SoC设备参考设计。

需求

  1. 第四的英特尔®',支持版本中列出金宝appHDL语言支持,支持第三方金宝app工具和硬件

  2. 英特尔SoC嵌入式设计套件

  3. Terasic DE1-SoC开发工具包

  4. 高密度脂蛋白编码器为金宝app英特尔SoC设备支持包

  5. 为英特尔SoC设备嵌入式编码器®金宝app支持包

建立了英特尔SoC硬件和工具

1。理解上的特性Terasic DE1-SoC通过阅读参考手册。

2。设置Terasic DE1-SoC如下图所示:

3所示。确保您已经正确地安装了USB串行通讯端口设备驱动程序在您的计算机上。

4所示。连接UART和USB导火线港口Terasic DE1-SoC到你的电脑。

5。连接Terasic DE1-SoC电脑使用以太网电缆。默认Terasic DE1-SoC IP地址192.168.1.101

6。下载Terasic DE1-SoC Linux映像文件,提取广州存档,然后写原始microSD卡光盘映像文件。插入连接器的microSD卡J11

7所示。建立了英特尔第四的工具路径通过使用下面的命令:

hdlsetuptoolpath (“ToolName”、“阿尔特拉第四的二世”、“路径”,“C: \ intelFPGA \ 20.1.1 \第四的\ bin64 \ quartus.exe ');

使用自己的英特尔第四的安装路径时执行的命令。

8。设置Terasic DE1-SoC硬件连接通过使用下面的命令:

h = alterasoc (“192.168.1.101”,“根”,“cyclonevsoc”);

参考设计创造使用英特尔第四的'

一个参考设计抓住了SoC设计的完整结构,定义不同的组件和它们之间的联系。高密度脂蛋白编码器SoC工作流程生成一个IP核心集成参考设计,然后用于程序一个SoC的董事会。下图描述了参考设计之间的关系,一个高密度脂蛋白IP核和一个SoC

在本节中,我们概述创建所需的基本步骤和出口使用英特尔第四的一个简单的参考设计和转换频率的环境。关于转换频率系统集成工具的更多信息,参阅阿尔特拉英特尔®/文档。

1。使用新项目向导创建一个空的第四的项目与设备零件号如下图所示

2。初始化转换频率在第四的导航工具- - >转换频率如以下图所示

3所示。选择Cyclone-V硬处理器系统(HPS)&阿尔特拉锁相环IP的IP目录项目创建的转换频率。使HPS-to-FPGA用户0时钟(h2f_user0_clock)和连接refclk阿尔特拉的锁相环如下列图所示

完成所需的其他设置硬盘处理器系统等外围销组和模式设置。

4所示。保持h2f_axi_master端口连接打开,以连接到DUT IP工作流过程中IP集成。完成剩下的阿尔特拉之间的连接锁相环IP和HPS IP如下列图所示

5。保存转换频率文件。这个文件将使用当你创建参考设计插件。

在高密度脂蛋白注册DE1-SoC董事会工作流顾问

在本节中,我们概述所需的步骤注册Terasic DE1-SoC开发工具包在高密度脂蛋白工作流顾问。

1。创建一个委员会登记文件的名字hdlcoder_board_customization.m并将其添加到MATLAB®路径。

董事会登记文件包含板插件的列表。板插件是一个MATLAB软件包包含董事会定义文件和文件夹所有参考设计插件与董事会相关联。

下面的代码描述的内容板登记文件,其中包含板插件DE1SoCRegistration注册Terasic DE1-SoC开发工具包在高密度脂蛋白工作流顾问。

函数r = hdlcoder_board_customization%板插件注册文件% 1。任何注册文件与这个名字在MATLAB路径将会捡起% 2。注册文件返回一个单元阵列指向的位置%的插件% 3。板插件必须包文件夹从MATLAB访问路径,%和包含一个定义文件
r = {“DE1SoCRegistration.plugin_board”,};结束

2。创建定义文件。

董事会SoC的定义文件包含信息。

下面的代码描述DE1-SoC板定义文件的内容plugin_board.m驻留在板插件DE1SoCRegistration

FPGA的I / O销位置信息(“FPGAPin”)和标准(“IOSTANDARD”)从销计划获得英特尔Quartus-II。

房地产BoardName定义的名称是1 SoC董事会Terasic DE1-SoC开发工具包在高密度脂蛋白工作流顾问。

函数hB = plugin_board ()%板定义
%建立董事会对象hB = hdlcoder.Board;
hB。BoardName =“Terasic DE1-SoC开发工具包”;
% FPGA设备信息hB。FPGAVendor =“阿尔特拉”;hB。FPGAFamily =“气旋V”;hB。FPGADevice =“5 csema5f31c6”;hB。FPGAPackage =;hB。FPGASpeed =;
%的工具信息hB。金宝appSupportedTool = {“阿尔特拉第四的二世”};
% FPGA JTAG链的位置hB。JTAGChainPosition = 2;
% %添加接口%的标准“外部端口”界面hB.addExternalPortInterface (“IOPadConstraint”,{”IO_STANDARD 2.5 v”});
%定义外部I / O接口板hB.addExternalIOInterface (“InterfaceID”,led通用的,“InterfaceType”,“出”,“PortName”,gpl授权的,“PortWidth”10“FPGAPin”,{“V16”,“W16”,“15,17”,“V18”,“W17”,“W19”,“Y19”,“W20”,“21”,“Y21”},“IOPadConstraint”,{”IO_STANDARD 3.3 - v LVTTL”});
hB.addExternalIOInterface (“InterfaceID”,“开关”,“InterfaceType”,“在”,“PortName”,“西南”,“PortWidth”10“FPGAPin”,{“AB12”,“AC12”,“AF9”,“AF10”,“AD11”,“AD12”,“AE11”,“AC9”,“AD10”,“AE12”},“IOPadConstraint”,{”IO_STANDARD 3.3 - v LVTTL”});
hB.addExternalIOInterface (“InterfaceID”,“按钮”,“InterfaceType”,“在”,“PortName”,“关键”,“PortWidth”4“FPGAPin”,{“AA14”,“AA15”,“W15”,“造成”},“IOPadConstraint”,{”IO_STANDARD 3.3 - v LVTTL”});

在高密度脂蛋白注册自定义参考设计工作流的顾问

在本节中,我们概述所需的步骤在高密度脂蛋白工作流注册自定义参考设计顾问。

1。创建一个参考设计注册文件命名hdlcoder_ref_design_customization.m包含一个参考设计列表插件与一个SoC委员会有关。

一个参考设计插件是一个MATLAB软件包包含参考设计定义文件和文件夹与SoC设计项目相关的所有文件。参考设计注册文件必须包含相关委员会的名称。

下面的代码描述的内容DE1-SoC参考设计包含参考设计插件注册文件DE1SoCRegistration.qsys_base_170与董事会Terasic DE1-SoC开发工具包

函数[rd, boardName] = hdlcoder_ref_design_customization%参考设计插件注册文件% 1。具有该名称的注册文件内部董事会插件文件夹中%将捡起% 2。任何注册文件与这个名字在MATLAB路径也会捡起% 3。注册文件返回一个单元阵列指向的位置%的参考设计插件% 4。注册文件还返回相关董事会的名字% 5。参考设计插件必须可以从一个包文件夹% MATLAB路径,包含一个参考设计定义文件
rd = {“DE1SoCRegistration.qsys_base_170.plugin_rd”,};
boardName =“Terasic DE1-SoC开发工具包”;结束

2。创建参考设计定义文件。

参考设计定义文件定义了自定义参考之间的接口设计和高密度脂蛋白HDL编码器产生的IP核心将SoC工作流。

下面的代码描述的内容DE1-SoC参考设计定义文件plugin_rd.m与董事会Terasic DE1-SoC开发工具包驻留在参考设计插件DE1SoCRegistration.qsys_base_170。房地产ReferenceDesignName定义的名字参考设计演示系统在高密度脂蛋白工作流顾问。

函数hRD = plugin_rd ()%参考设计的定义
%构造设计对象的引用hRD = hdlcoder.ReferenceDesign (“SynthesisTool”,“阿尔特拉第四的二世”);
hRD。ReferenceDesignName =“演示系统)”;hRD。BoardName =“Terasic DE1-SoC开发工具包”;
%的工具信息hRD。金宝appSupportedToolVersion = {“17.0”,“17.1”};
% %添加自定义设计文件%添加自定义转换频率的设计hRD.addCustomQsysDesign (“CustomQsysPrjFile”,“system_soc.qsys”);
% %添加接口%添加时钟接口hRD.addClockInterface (“ClockConnection”,“pll_0.outclk0”,“ResetConnection”,“hps_0.h2f_reset”,“DefaultFrequencyMHz”,50岁,“MinFrequencyMHz”5,“MaxFrequencyMHz”,500,“ClockModuleInstance”,“pll_0”,“ClockNumber”,0);
%添加AXI4和AXI4-Lite奴隶接口hRD.addAXI4SlaveInterface (“InterfaceConnection”,“hps_0.h2f_axi_master”,“BaseAddress”,“0 x0000”);

DE1-SoC参考设计的插件文件夹DE1SoCRegistration.qsys_base_170必须包含转换频率文件system_soc.qsys保存以前的英特尔第四的主要项目。DE1-SoC参考设计定义文件plugin_rd.m确定了SoC设计项目文件通过以下声明:

hRD.addCustomQsysDesign (“CustomQsysPrjFile”,“system_soc.qsys”);

除了SoC设计项目文件,plugin_rd.m还定义了自定义参考之间的接口连接设计和高密度脂蛋白IP核心显示在下面的图通过语句:

hRD.addClockInterface (“ClockConnection”,“pll_0.outclk0”,“ResetConnection”,“hps_0.h2f_reset”,“DefaultFrequencyMHz”,50岁,“MinFrequencyMHz”5,“MaxFrequencyMHz”,500,“ClockModuleInstance”,“pll_0”,“ClockNumber”,0);hRD.addAXI4SlaveInterface (“InterfaceConnection”,“hps_0.h2f_axi_master”,“BaseAddress”,“0 x0000”);

执行的SoC工作流Terasic DE1-SoC

前面的章节讨论的步骤定义和注册Terasic DE1-SoC HDL工作流和一个自定义的参考设计顾问SoC工作流。在本节中,我们使用自定义董事会和参考设计注册系统生成一个高密度脂蛋白IP核心闪烁led Terasic DE1-SoC。

1。添加Terasic DE1-SoC注册文件到MATLAB路径。

解压缩(“DE1SOC.zip”)目录(genpath (“DE1SOC”));

2。打开模型模型,实现金宝app了LED闪烁使用命令,

open_system (“hdlcoder_led_blinking”);

生成一个使用高密度脂蛋白HDL IP核心工作流的顾问

1。使用IP核心生成工作流在高密度脂蛋白工作流顾问可以自动生成一个可共享的和可重用IP核心模块从仿真软件模型。金宝app高密度脂蛋白编码器从模型生成HDL代码块,和阿喜还生成HDL代码接口逻辑连接金宝app的IP核心的嵌入式处理器。HDL编码包所有生成的文件到一个IP核心文件夹。然后您可以生成的IP核与更大的FPGA嵌入式集成设计英特尔转换频率的环境。

2。启动IP核心代工作流。

2.1。打开HDL工作流的顾问hdlcoder_led_blinking / led_counter子系统通过右击led_counter子系统,并选择HDL代码>高密度脂蛋白工作流顾问

2.2。设定目标>设置目标设备和合成工具任务,为目标工作流程中,选择IP核心代

2.3。目标平台中,选择Terasic DE1-SoC开发工具包

2.4。点击运行这个任务运行设置目标设备和合成工具的任务。

3所示。1.2在任务,设置目标参考设计默认系统被选中。点击运行这个任务

4所示。配置目标接口。

DUT的每个端口映射到IP核心目标接口之一。在本例中,输入端口Blink_frequencyBlink_direction被映射到AXI4。的领导输出端口映射到一个外部接口,led通用[0:9],连接到导致硬件Terasic DE1-SoC开发工具包。

5。遵循步骤3和步骤4生成一个使用高密度脂蛋白HDL IP核心工作流的顾问的部分开始使用针对英特尔SoC设备示例生成IP核心并查看IP核心生成报告。

6。遵循步骤1与英特尔集成IP核心转换频率的环境的部分开始使用针对英特尔SoC设备示例集成IP核心的参考设计和创建转换频率项目。

7所示。现在让我们检查英特尔转换频率项目完成后由SoC的工作流创建项目下任务嵌入式系统集成。下面的图显示了SoC项目,我们已经强调了HDL IP核心。比较是有益的这个项目与以前的项目中使用自定义参考设计插件更深入地理解之间的关系自定义参考设计和高密度脂蛋白IP核心。

8。按照步骤2、3和4与英特尔集成IP核心转换频率的环境的部分开始使用针对英特尔SoC设备示例生成软件界面模型,分别生成FPGA比特流和项目目标设备。

9。上的led Terasic DE1-SoC加载比特流后将开始闪烁。此外,您将能够控制LED闪烁频率和方向通过执行软件界面模型。指生成一个软件界面模型的部分开始使用针对英特尔SoC设备例子来控制LED闪烁频率和方向从生成的软件接口模型。