




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
生成代码前准备工作在从模型生成HDL代码前,你应该作如下工作: 在生成代码前,用hdlsetup功能(详见Initializing Model Parameters with hdlsetup)来对你要生成HDL代码的模型进行设置。 用hdllib功能来创建目前支持HDL代码生成的模块库(详见Show Blocks Supported for HDL Code Generation)通过用这个库里的模块来构建模型,你的模型就会兼容HDL。支持的模块集合在今后的版本会改变,所以你每次安装新版本的本产品时应该重建支持的模块库。 用Run Compatibility Checker选项(详见Selecting and Checking a Subsystem for HDL Compatibility)来检查你模型或者DUT的HDL兼容性并生成HDL Code Check Report。你也可以调用chekhdl函数(见checkhdl)来运行兼容性检查器。练习简介 HDL Coder支持生成代码,用户可以选择以下环境:1. MATLAB命令窗口支持用makehdl,makehdltb和其他函数生成代码2. Simulink GUI (配置参数对话框和/或模型浏览器) 提供模型仿真参数/代码生成参数和函数的集成视图这个实践练习通过在以上两种环境使用中相同的模型,介绍HDL代码的生成和仿真机制。在这一系列步骤中,你将:1. 构建一个简单模型用于生成代码2. 从模型中的子系统生成代码3. 生成适用于Mentor Graphics ModelSim仿真器的VHDL测试台来实现模型的仿真4. 在仿真器中编译和执行模型和测试台5. 用同样的模型生成并仿真Verilog代码6. 检查模型和HDL Coder的兼容性stir_fixed模型 这些练习用sfir_fixed模型作为HDL代码生成源。该模型模拟一对称有限脉冲响应滤波器算法,通过定点数计算实现。 该模型里的模块支持HDL代码生成,并且模型参数已进行配置以适于代码生成。想了解更多关于模型准备以进行代码生成,参考Prepare Simulink Model For HDL Code Generation. 下图为模型的顶层级别描述。 该模型采用了任务分解,有助于HDL设计: 用于执行滤波算法的symmetric_fir子系统是被测器件。一个HDL实体将从这个子系统被创建、测试,最终综合。 驱动该子系统的顶层模型元件是测试台。 顶层模型生成symmetric_fir子系统的16位定点输入信号。Signal From Workspace模块生成一个用于滤波器的测试输入(激励)信号。四个常数模块提供滤波器系数。Scope模块仅用来仿真,这些虚拟的模块不会生成HDL代码。下图描述了symmetric_fir子系统。 定点数数据类型在子系统里传递。输入继承了被送过来的信号的数据类型。在需要的地方,给定输入的数据类型并采取操作后,模块的内部规则决定了输出的数据类型。 滤波器在y_out管脚输出一个定点数结果,并在delayed_x_out复制其输入(在经过若干个延迟阶段后)。 在接下来的例程里,你将会生成将symmetric_fir当成一个实体实现的VHDL代码。然后你会从顶层级别模型生成一个测试台。这个测试台用从Signal From Workspace产生的激励数据驱动生成的实体完成指定的时钟步数。用HDL Workflow Advisor生成代码(该法不能生成测试台代码) 这个例程展示了如何用HDL Workflow Advisor从Simulink模型生成HDL代码。 本例程中的模型,stir_fixed已经被准备好用于代码生成。 本例程采用Xilinx ISE综合工具,我们假设你的工具路径已设置好。你也可以用Altera Quartus II来进行本例程。 创建工作文件夹并复制模型 用HDL Workflow Advisor生成代码 执行FPGA综合和分析创建工作文件夹并复制模型1. 启动MATLAB2. 创建一名为sl_hdlcoder_work的文件夹。比如:sl_hdlcoder_work文件夹将被用于保存例程中模型的拷贝和HDL Coder生成的文件夹及代码。这个文件夹的位置不重要,但是不能在MATLAB的文件夹树下。3. 将sl_hdlcoder_work文件夹设置为工作文件夹。比如:4. 打开sfir_fixed模型。5. 将sfir_fixed复制到sl_hdlcoder_work文件夹下。用HDL Workflow Advisor生成代码1. 右键点击symmetric_fir子系统,选择HDL Code HDL Workflow Advisor。2. 在步骤Set Target Set Target Device and Synthesis Tool, 在Synthesis tool 选择Xilinx ISE并点击 Run This Task。3. 右键点击Prepare Model For HDL Code Generation并选择Run All,HDL Workflow Advisor检查模型的代码生成兼容性。4. 在步骤HDL Code Generation Set Code Generation Options Set Basic Options,选择如下选项,然后点击Apply: 在 Language, 选择Verilog. 使能 Generate traceability report. 使能Generate resource utilization report.5. 浏览Optimization和Coding style 标签下的可用选项。这些选项可以用来修改所生成代码的实现和格式。6. 右键点击HDL Code Generation Generate RTL Code and Testbench step,选择Run to Selected Task。 代码生成报告自动被打开,它包括资源使用和可追溯性报告。资源使用报告描述你的设计对硬件资源的使用情况。可追溯性报告允许你在模型和生成的代码之间操作。执行FPGA综合和分析1. 在 FPGA Synthesis and Analysis Perform Synthesis and P/R Perform Place and Route任务下,取消对Skip this task的勾选并点击Apply。2. 右键点击Annotate Model with Synthesis Result并选择Run to Selected Task。3. 观察模型中被注释的关键步骤。关键步骤以青色显示。 用命令行生成代码 概览 创建一文件夹和本地模型文件 用hdlsetup 初始化模型参数 从子系统生成VHDL实体(VHDL Entity) 生成VHDL测试台代码(Test Bench Code) 检验生成的代码 生成一个Verilog Module 和测试台概览 这一例程提供代码和测试台生成指令、其参数和代码生成器创建的文件的详细步骤介绍。该例程假设读者已经熟悉了例程模型(参见The sfir_fixed Model)。创建一文件夹和本地模型文件 创建案例模型的一本地拷贝并将其保存在工作文件夹下,如下所示:1. 启动MATLAB。2. 创建一名为sl_hdlcoder_work的文件夹。比如:mkdir C:worksl_hdlcoder_work sl_hdlcoder_work文件夹将被用于保存例程中模型的拷贝和HDL Coder生成的文件夹及代码。这个文件夹的位置不重要,但是不能在MATLAB的文件夹树下。3. 将sl_hdlcoder_work文件夹设置为工作文件夹。比如:cd C:worksl_hdlcoder_work4. 打开例程模型,在MATLAB命令行下输入如下指令:sfir_fixed5. 在Simulink中,选择FileSave As,将sfir_fixed模型另存一本地拷贝到工作文件夹中。6. 保持sfir_fixed打开,继续下面的进程。用hdlsetup 初始化模型参数 在生成代码前,模型必须进行配置。你可以使用hdlsetup指令从而避免手动配置模型。Hdlsetup指令使用set_param函数来配置模型以快速并可靠地生成HDL代码。配置模型以进行代码生成:1. 在MATLAB命令行,输入:hdlsetup(sfir_fixed)2. 在File菜单下选择Save,从而保存模型及其新的设置。在继续进行代码生成前,考虑hdlsetup在模型中应用的设置。Hdlsetup配置HDL Coder推荐或要求的求解器(Solver)选项,它们是: 类型(Type): 固定步长(Fixed-step)。 (HDL Coder目前支持特定条件下的可变步长求解器。参见 hdlsetup) 求解器(Solver): 离散(Discrete,无连续状态)。也可以选择其他的固定步长求解器,但用于仿真离散系统这一选项通常是最佳的。 任务模式(Tasking mode): 单任务(SingleTasking)。 HDL Coder目前不支持执行多任务的模型。不要将Tasking mode 设置为Auto。Hdlsetup也配置模型开始和结束时间以及固定步长,如下所示: 开始时间(Start Time): 0.0 s 结束时间(Stop Time): 10 s 固定步长(Fixed step size) (基本采样周期时间): auto 如果Fixed step size被设置为自动(auto),步长大小就根据模型中指定的采样时间被自动选择 。在示例模型中,只有Signal From Workspace模块指定了明确的采样时间(1s);其余模块继承这一采样时间。 模型的开始和结束时间决定了测试台仿真总时长。这也进一步决定了产生的用于为生成的测试台提供激励和输出数据的数据阵列的大小。对于例程模型,10秒的测试数据计算不会花费很多时间。更加复杂的模型的采样值的计算可能很费时间。在这种情况下,就需要考虑减少仿真时间。经hdlsetup配置的其余参数控制错误严重性级别,数据纪录和模型显示选项。如果想查阅与hdlsetup有关的完整模型参数集合,在MATLAB Editor中打开hdlsetup.m 。由hdlsetup提供的模型参数默认值是有用的,但对用户的模型来说并不一定是最优的。比如,hdlsetup设置的Simulation stop time 默认值为10s。对例程模型sfir_fixed的测试 来说,1000s的仿真时间会更加现实。如果想修改仿真时间,在Simulink窗口中Simulation stop time 区域输入目标值。模型参数概要请参照Smulink资料中Model and Block Parameters区域的Model Parameters 表格。从子系统生成VHDL实体(VHDL Entity) 在这一部分,你将使用makehdl函数从例程模型的symmetric_fir子系统生成VHDL实体的代码。makehdl也生成用于第三方HDL仿真和综合工具的脚本文件。 makehdl 允许你指定多种特征用以控制生成的代码的各种特性。在这一例程中,你将使用makehdl默认的特征参数。 在生成代码前,请确定已完成了创建一文件夹和本地模型文件及用hdlsetup 初始化模型参数的步骤。生成代码:1. 在MATLAB窗口下的桌面菜单选择Current Folder。这样会显示Matlab的Current Folder browser,使你能快速打开工作文件夹和将要在其中生成的文件。2. 在Matlab命令行,输入指令:makehdl(sfir_fixed/symmetric_fir)这条指令命令HDL Coder从sfir_fixed模型下的symmetric_fir子系统用默认参数生成代码。3. 在代码生成时,HDL Coder显示进程消息。这个进程应该以下面的信息结束:# HDL Code Generation Complete.观察到进程消息中生成的文件的名字被超链接。在代码生成完成时,你可以点击这些超链接来查看MATLAB Editor里的文件。Makehdl在代码生成前编译模型。代码生成后模型的外观可能发生改变,这取决于模型的显示选项(比如端口数据类型等)。4. Makehdl默认生成VHDL代码。代码文件和脚本被写入目标文件夹。默认的目标文件夹是工作文件夹下的子文件夹,名称为hdlsrc。在Current Folder browser中可以看到一个hdlsrc文件的文件夹图标。要看生成的代码和脚本文件,双击这个hdlsrc文件夹图标。5. Makehdl在hdlsrc文件夹下生成的文件有: symmetric_fir.vhd:VHDL代码。该文件包含一个entity定义和一个用于执行symmetric_fir 滤波器的RTL架构。 symmetric_fir_compile.do:Mentor Graphics ModelSim编译脚本(vcom command)用于编译生成的VHDL代码。 symmetric_fir_synplify.tcl:Synplify综合脚本。 symmetric_fir_map.txt:映射文件。这个报告文件将生成的实体(或模块)映射到用于生成它们的子系统(参照Trace Code Using the Mapping File)。6. 要在Matlab Editor中查看生成的VHDL代码,在Current Folder browser中双击symmetric_fir.vhd文件夹图标。7. 在进行下一步之前,关闭在编辑器中打开的文件。然后,点击Current Folder browser中的Go Up One Level按钮来将当前文件夹重新设置为sl_hdlcoder_work文件夹。8. 保持sfir_fixed model处于打开状态,进行下面的步骤。生成VHDL测试台代码 在这一部分,你使用测试台生成函数makehdltb来生成VHDL测试台代码。这个测试台的目的是驱动和验证上一部分生成的symmetric_fir 实体的运行。生成的测试台包括: 由信号源产生的连接到被测entity源激励数据。 由被测entity生成的输出数据。当测试台运行时,该数据与VHDL模型比较来实现验证目的。 用于驱动被测entity的时钟,复位和信号使能。 一个被测entity的部件例示 用于驱动被测entity和比较其输出与期望输出的代码 另外,makehdltb生成Mentor Graphics ModelSim脚本来编译和执行测试台。 这个练习假设你的工作文件夹和上一部分使用的相同。这个文件夹现在包含一个之前生成的代码的文件夹hdlsrc。 生成测试台:1. 在Matlab命令行输入指令:makehdltb(sfir_fixed/symmetric_fir)这个指令生成一个测试台,该测试台用来连接并验证从symmetric_fir(或从有着相同功能接口接口的子系统)生成的代码。默认地,VHDL测试台代码和脚本一样是在hdlsrs目标文件夹里被生成。2. 在测试台的生成进行时,HDL Coder显示进程信息。这一进程应以下面的信息结束:# HDL TestBench Generation Complete.3. 要查看生成的测试台和脚本文件,在Current Folder browser双击hdlsrc文件夹。作为另外一种选择,你也可以点击code test bench generation progress messages下的被超链接的生成的文件名。这些被makehdltb生成的文件是: symmetric_fir_tb.vhd: VHDL测试台代码和生成的测试和输出数据。 symmetric_fir_tb_compile.do: Mentor Graphics ModelSim编译脚本(vcom指令)。这个脚本编译并加载要测试的entity(symmetric_fir.vhd)和测试台代码(symmetric_fir_tb.vhd)。 symmetric_fir_tb_sim.do: Mentor Graphics ModelSim脚本,用于初始化仿真器,设置波形窗口信号显示和运行仿真。4. 如果你想要在Matlab Editor中查看生成的测试台代码,双击Current Folder browser 中的symmetric_fir_tb.vhd文件图标。你在查阅makehdltb参考文件(reference documentation)时可能想了解代码,这个参考文件介绍了测试台生成器的默认操作。5. 在进行下一步以前,关闭你在editor中打开的文件。然后,点击Current Folder browser中的Go Up One Level按钮来将当前文件夹重新设置为sl_hdlcoder_work文件夹。验证生成的代码 你现在可以将之前生成的代码和测试台放到一个HDL仿真来进行仿真并验证结果。参考Simulating and Verifying Generated HDL Code(即下文部分)来查看一个怎么在Mentor Graphics ModelSim仿真器中用生成的测试台代码和脚本文件的例子。生成一个Verilog模块和测试台 生成Verilog的步骤和生成VHDL的步骤仅有轻微差别。这一部分提供了指令语法和生成的文件的概述。 生成一个Verilog模块。默认地,makehdl生成VHDL代码。要修改默认值并生成Verilog代码,你必须向makehdl传递一特性/数值对,从而将TargetLanguage特性设置成verilog,如下例所示。makehdl(sfir_fixed/symmetric_fir,TargetLanguage,verilog) 这条指令在默认目标文件夹hdlsrc下生成Verilog源代码和用于仿真及综合工具的脚本。生成的这些文件是: symmetric_fir.v: Verilog代码。这个文件包括一个Verilog模块用于执行symmetric_fir子系统。 symmetric_fir_compile.do: Mentor Graphics ModelSim编译脚本(vlog command)用于编译生成的Verilog代码。 symmetric_fir_synplify.tcl: Synplify综合脚本。 symmetric_fir_map.txt: 这个报告文件将生成的实体(或模块)映射到用于生成它们的子系统(参照Trace Code Using the Mapping File)。生成和执行一个Verilog测试台。用于修改目标语言的makehdltb句法和makehdl完全一样。下面这个例子在默认目标文件夹下生成Verilog测试台代码来驱动Verilog模块symmetric_fir。makehdltb(sfir_fixed/symmetric_fir,TargetLanguage,verilog) 这些生成的文件是: symmetric_fir_tb.v: Verilog测试台代码和生成的测试和输出数据。 symmetric_fir_tb_compile.do: Mentor Graphics ModelSim编译脚本(vlog指令)。这个脚本编译并加载要测试的entity(symmetric_fir.v)和测试台代码(symmetric_fir_tb.v)。 symmetric_fir_tb_sim.do: Mentor Graphics ModelSim脚本,用于初始化仿真器,设置波形窗口信号显示和运行仿真。The following listing shows the commands and responses from a test bench session using the generated scripts:ModelSim do symmetric_fir_tb_compile.do# Model Technology ModelSim SE vlog 6.0 Compiler 2004.08 Aug 19 2004# - Compiling module symmetric_fir# # Top level modules:# symmetric_fir# Model Technology ModelSim SE vlog 6.0 Compiler 2004.08 Aug 19 2004# - Compiling module symmetric_fir_tb# # Top level modules:# symmetric_fir_tbModelSimdo symmetric_fir_tb_sim.do# vsim work.symmetric_fir_tb # Loading work.symmetric_fir_tb# Loading work.symmetric_fir# * Test Complete. *# Break at C:/work/sl_hdlcoder_work/vlog_code/symmetric_fir_tb.v line 142# Simulation Breakpoint:Break atC:/work/sl_hdlcoder_work/vlog_code/symmetric_fir_tb.v line 142# MACRO ./symmetric_fir_tb_sim.do PAUSED at line 14用配置参数对话框生成HDL代码HDL Coder GUI概述 你可以在配置参数对话框或在模型浏览器(Model Explorer)中编辑影响HDL代码生成的选项和参数。 下面的图展示了配置参数对话框中的第一级HDL Code Generation面板。 下面的图展示了模型浏览器(Model Explorer)中第一级HDL Code Generation选项。 在下面的代码生成练习中,你使用配制参数对话框来查看和设置HDL Coder选项和控制。这个练习在基本代码生成和验证步骤使用sfir_fixed模型。创建一个文件夹和本地模型文件 在这部分中你将设置文件夹和例程模型的本地拷贝。创建一个文件夹。首先设置工作文件夹。1. 启动Matlab。2. 创建一个名为sl_hdlcoder_work的文件夹,如:mkdir C:worksl_hdlcoder_work你将使用sl_hdlcoder_work文件夹来保存例程模型的本地拷贝以及HDL Coder生成的文件夹和代码。这个文件夹的位置不重要,但不能在Matlab的文件夹树下。3. 将sl_hdlcoder_work设置为工作文件夹,如:cd C:worksl_hdlcoder_work创建例程模型的本地拷贝。接着,拷贝sfir_fixed模型:1. 在Matlab命令行输入下面指令以打开模型:sfir_fixed2. 将sfir_fixed模型另存为一本地拷贝到工作文件夹中。3. 保持sfir_fixed打开状态然后进行下面的部分。在配制参数对话框中查看代码选项 HDL Coder选项设置在模型的激活的配置设置中以一个类别显示。你可以在配置参数对话或Model Explorer中查看并编辑这些选项。这个例程采用配置参数对话框。 打开HDL Coder设置:1. 打开配置参数对话框。2. 选择HDL Code Generation面板。HDL Code Generation面板包括用于控制HDL 代码生成进程的第一级选项和按钮。在HDL Code入口中还有可用的好几个其他的选项类别。这个练习用这些选项的一小部分,其他的采用默认设置。用hdlsetup初始化模型参数 在生成代码前,你必须设置模型的一些参数。用hdlsetup指令来避免手动设置。Hdlsetup指令用set_param函数来快速可靠地设置模型用于HDL代码生成。 设置模型参数:1. 在Matlab命令行,输入:hdlsetup(sfir_fixed)2. 保存模型及其新的设置。在继续进行代码生成前,考虑hdlsetup在模型中应用的设置。Hdlsetup配置HDL Coder推荐或要求的求解器(Solver)选项,它们是: 类型(Type): 固定步长(Fixed-step)。 (HDL Coder目前支持特定条件下的可变步长求解器。参见 hdlsetup) 求解器(Solver): 离散(Discrete,无连续状态)。也可以选择其他的固定步长求解器,但用于仿真离散系统这一选项通常是最佳的。 任务模式(Tasking mode): 单任务(SingleTasking)。 HDL Coder目前不支持执行多任务的模型。不要将Tasking mode 设置为Auto。Hdlsetup也配置模型开始和结束时间以及固定步长,如下所示: 开始时间(Start Time): 0.0 s 结束时间(Stop Time): 10 s 固定步长(Fixed step size) (基本采样周期时间): auto 如果Fixed step size被设置为自动(auto),步长大小就根据模型中指定的采样时间被自动选择 。在示例模型中,只有Signal From Workspace模块指定了明确的采样时间(1s);其余模块继承这一采样时间。 模型的开始和结束时间决定了测试台仿真总时长。这也进一步决定了产生的用于为生成的测试台提供激励和输出数据的数据阵列的大小。对于例程模型,10秒的测试数据计算不会花费很多时间。更加复杂的模型的采样值的计算可能很费时间。在这种情况下,就需要考虑减少仿真时间。经hdlsetup配置的其余参数控制错误严重性级别,数据纪录和模型显示选项。如果想查阅与hdlsetup有关的完整模型参数集合,在MATLAB Editor中打开hdlsetup.m 。由hdlsetup提供的模型参数默认值是有用的,但对用户的模型来说并不一定是最优的。比如,hdlsetup设置的Simulation stop time 默认值为10s。对例程模型sfir_fixed的测试 来说,1000s的仿真时间会更加现实。如果想修改仿真时间,在Simulink窗口中Simulation stop time 区域输入目标值。模型参数概要请参照Smulink资料中Model and Block Parameters区域的Model Parameters 表格。选择和检查子系统的HDL兼容性 HDL Coder要么为当前的模型生成代码,要么为当前模型的根级别的子系统生成代码。使用Generate HDL for来选择为要生成代码的模型或子系统。菜单中的每个入口显示模型或其某一子部件的完整路径。 sfir_fixed模型已经配置好选择其sfir_fixed/symmetric用于代码生成。如果不是这种情况,确保symmetric_fir被选择用于代码生成,如下所示:1. 从Generate HDL for菜单选择sfir_fixed/symmetric_fir。2. 点击Apply。检查该子系统的HDL兼容性。1. 点击Run Compatibility Checker按钮。2. HDL兼容性检查器检查Generate HDL for菜单选择的系统的兼容性问题。在该例程中,选择的子系统完全兼容HDL。兼容性检查器显示如下消息:# Starting HDL Check.# HDL Check Complete with 0 errors, warnings and messages.兼容性检查器也在新窗口中显示一个报告。生成VHDL代码 第一级HDL Code Generation选项被设置为如下所示: Generate HDL for部分指定sfir_fixed/symmetric_fir子系统用于代码生成。 Language部分指定生成(默认)VHDL代码。 Folder指定一个用于存储生成的代码和对脚本的目标文件夹。默认的文件夹是工作文件下的一个名为hdlsrc的子文件夹。在生成代码前,选择Matlab窗口中的Desktop菜单下的Current Folder。这将显示Current Folder browser,使你可以进入工作文件夹以及在其中生成的文件。生成代码:1. 点击Generate按钮。2. 在代码生成时,HDL Coder显示进程消息。这个进程应该以下面的信息结束:# HDL Code Generation Complete. 观察到进程消息中生成的文件的名字被超链接。在代码生成完成时,你可以点击这些超链接来查看MATLAB Editor里的文件。 Makehdl在代码生成前编译模型。代码生成后模型的外观可能发生改变,这取决于模型的显示选项(比如端口数据类型等)。3. 在Current Folder browser中可以看到一个hdlsrc文件的文件夹图标。要看生成的代码和脚本文件,双击这个hdlsrc文件夹图标。4. Makehdl在hdlsrc文件夹下生成的文件有: symmetric_fir.vhd:VHDL代码。该文件包含一个entity定义和一个用于执行symmetric_fir 滤波器的RTL架构。 symmetric_fir_compile.do:Mentor Graphics ModelSim编译脚本(vcom command)用于编译生成的VHDL代码。 symmetric_fir_synplify.tcl:Synplify综合脚本。 symmetric_fir_map.txt:映射文件。这个报告文件将生成的实体(或模块)映射到用于生成它们的子系统(参照Trace Code Using the Mapping File)。5. 要在Matlab Editor中查看生成的VHDL代码,在Current Folder browser中双击symmetric_fir.vhd文件夹图标。6. 在进行下一步之前,关闭在编辑器中打开的文件。然后,点击Current Folder browser中的Go Up One Level按钮来将当前文件夹重新设置为sl_hdlcoder_work文件夹。生成VHDL测试台代码 在这一部分,Generate HDL for,Language和Folder选项都和上一部分的设置相同。相应地,你现在可以生成用于驱动之前生成的sfir_fixed/symmetric_fir子系统的VHDL代码的VHDL测试台代码。该代码会被写入同一目标文件夹。 生成VHDL测试台:1. 选择HDL Code GenerationTest Bench面板。2. 选择HDL test bench。3. 点击Generate Test Bench按旧。4. 在测试台的生成进行时,HDL Coder显示进程信息。这一进程应以下面的信息结束:# HDL TestBench Generation Complete.5. 这些在hdlsrc文件夹中生成的文件是: symmetric_fir_tb.vhd: VHDL测试台代码和生成的测试和输出数据。 symmetric_fir_tb_compile.do: Mentor Graphics ModelSim编译脚本(vcom指令)。这个脚本编译并加载要测试的entity(symmetric_fir.vhd)和测试台代码(symmetric_fir_tb.vhd)。 symmetric_fir_tb_sim.do: Mentor Graphics ModelSim脚本,用于初始化仿真器,设置波形窗口信号显示和运行仿真。验证生成的代码 你现在可以将之前生成的代码和测试台放到一个HDL仿真来进行仿真并验证结果。参考Simulating and Verifying Generated HDL Code(即下文部分)来查看一个怎么在Mentor Graphics ModelSim仿真器中用生成的测试台代码和脚本文件的例子。生成Verilog模型和测试台代码 生成Verilog代码和生成VHDL代码一样(看Generating a VHDL Entity from a Subsystem 和Generating VHDL Test Bench Code),除了在HDL Code Generation选项下的Language选择Verilog。仿真和验证生成的HDL代码 注意:这部分需要使用Mentor Graphics ModelSim仿真器。 这部分假设你已经从下面任意一个练习中用sfir_fixed模型中生成了代码: Generate HDL Code Using the Command Line Generate HDL Code Using the Configuration Parameters Dialog Box 在这个部分你将编译并运行之前生成的模型和测试台代码的仿真。HDL Coder生成的脚本允许你通过几条指令实现完成这个步骤。不管你是从命令行还是GUI环境中生成的代码,这一步骤都是相同的。 运行仿真:1. 启动Mentor Graphics ModelSim软件。2. 将之前生成代码的文件夹设置为工作空间:ModelSimcd C:/work/sl_hdlcoder_work/hdlsrc3. 用生成的编译脚本来编译和加载生成的模型和。下面的列表展示了命令和响应。ModelSimdo symmetric_fir_tb_compile.do# Model Technology ModelSim SE vcom 6.0 Compiler 2004.08 Aug 19 2004# - Loading package standard# - Loading package std_l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同协议怎么转让
- 民事合同与行政协议诉讼
- 公司出差培训合同协议
- 保洁服务合同协议青浦
- 合同过渡协议
- 工地合同护栏协议
- 培训学校兼职合同协议
- 合同计划协议sap
- 协议合同律师咨询
- 合同协议多久才失效
- 外研版(2025新版)七年级下册英语期中复习:Unit 1~3+期中共4套学情调研测试卷(含答案)
- 成人重症患者人工气道湿化护理专家共识 解读
- 人教版八年级上册:《芦花荡》课文原文
- 超星尔雅学习通《婚恋职场人格(武汉理工大学)》章节测试附答案
- ISO9001质量管理体系培训(共60页).ppt
- 商业票据与核算
- (完整版)PHQ-9抑郁症筛查量表
- 山中问答教学设计
- 基于高中思想政治学科核心素养的教学研究与实践PPT课件
- 矿山及其他工程破损山体植被恢复技术(DOC25页)
- 铝合金门窗、百叶施工组织设计
评论
0/150
提交评论