首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 可编程逻辑 > Vivado 开发教程(四) 行为仿真

Vivado 开发教程(四) 行为仿真

  • 资源大小:350.3KB
  • 上传时间:2022-01-09
  • 下载次数:0次
  • 浏览次数:80次
  • 资源积分:1积分
  • 标      签: Vivado

资 源 简 介

作者:falwat版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/falwat/article/details/86171571本文介绍如何在教程(三)基础上,关联ELF输出文件并使用vivado对系统进行行为仿真。关联ELF文件在vivado开发教程(三)在SDK中创建应用工程中,新建的工程经构建最终会生成ELF输出文件.ELF文件是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件(参考:百度百科).可以在教程(三)中新建的"test"工程和导入的例程下找到.切回Vivado,在块设计文件"system.bd"上右键,选择菜单"AssociateELFFiles..."关联ELF文件.在弹出的对话框中,点击"SimulaTIonSources|sim_1|system_i|microblaze_0"树右侧的"..."按钮,弹出选择文件对话框.点击"AddFiles..."按钮,添加ELF文件.切换目录至"D:/Projects/test/test.sdk/test_bsp_xgpio_low_level_example_1/Debug",选中"test_bsp_xgpio_low_level_example_1.elf",添加至列表中,选中新加入的ELF文件并点击"OK"完成.在工程管理视图|"Sources"窗口|"SimulaTIonSources"文件集|sim_1|ELF下能够看到刚刚关联上去的ELF文件.新建激励文件点击"Sources"窗口顶部的"+"按钮,打开添加源文件对话框.选中"AddorcreatesimulaTIonsources",点击"Next"继续.点击"CreateFile"按钮,在创建源文件对话框中,输入文件名.点击"OK",点击"Finish".在弹出的"DefineModule"对话框中,点击"OK"即可.激励文件不需要有定义输入输出端口.双击打开"sim_system.v"文件,复制"system_wrapper.v"文件中的如下内容到"sim_system.v"的模块中.wire[7:0]led_8bits_tri_o;wirereset;wirers232_uart_rxd;wirers232_uart_txd;wiresysclk_125_clk_n;wiresysclk_125_clk_p;systemsystem_i(.led_8bits_tri_o(led_8bits_tri_o),.reset(reset),.rs232_uart_rxd(rs232_uart_rxd),.rs232_uart_txd(rs232_uart_txd),.sysclk_125_clk_n(sysclk_125_clk_n),.sysclk_125_clk_p(sysclk_125_clk_p));修改sim_system.v"文件中,system_i的输入信号为"reg"类型,编写"iniTIal"块对输入信号进行初始化,为时钟信号编写激励,将"timescale"设置为"1ns/1ns".最终生成的代码如下所示:`timescale1ns/1nsmodulesim_system;wire[7:0]led_8bits_tri_o;regreset;regrs232_uart_rxd;wirers232_uart_txd;regsysclk_125_clk_n;wiresysclk_125_clk_p=~sysclk_125_clk_n;systemsystem_i(.led_8bits_tri_o(led_8bits_tri_o),.reset(reset),.rs232_uart_rxd(rs232_uart_rxd),.rs232_uart_txd(rs232_uart_txd),.sysclk_125_clk_n(sysclk_125_clk_n),.sysclk_125_clk_p(sysclk_125_clk_p));initialbeginreset=1;rs232_uart_rxd=1;sysclk_125_clk_n=0;#100;reset=0;//复位完成endalways#4sysclk_125_clk_n=~sysclk_125_clk_n;//125Mendmodule从"Source"窗口中,选中激励文件"sim_system.v",右键选择菜单"SetasTop",将激励文件设置为顶层.点击左侧"FlowNavigator"工具窗口中的"Simulation"|"RunSimulation",点击"RunBehavioralSimulation",运行行为仿真.编译成功后会自动打开仿真("SIMULATION")视图,主工具栏会增加如下几个工具图标:为了能够快速看出仿真效果,缩短仿真时间,在SDK中修改"xgpio_low_level_example.c"文件中的宏常量"LED_DELAY"改为1000并保存,SDK在保存后会自动进行编译,更新ELF文件.#defineLED_DELAY1000切回Vivado,点击重新仿真("RelaunchSimulation")按钮.设置仿真时间为500us,点击运行指定时间("Runfor500us")按钮.最终的仿真时序图如下所示.
VIP VIP