【中科亿海微EQ6HL45开发平台测评体验】+03.流水灯仿真和上板测试(zmj)
[复制链接]
【中科亿海微EQ6HL45开发平台测评体验】+03.流水灯仿真和上板测试(zmj)
中科亿海微EQ6HL45开发平台提供了非常丰富的接口测试DEMO。
本节通过LED流水灯的仿真和上板测试,了解elinx软件开发FPGA的开发流程和仿真流程,同时也检验板上LED灯是否正常。
//------主要参考文档
//------eLinx软件使用手册
UG102_eLinx_Design_Suite_User_Guide_ehiway_v2021.11.pdf
//------中科亿海微EQ6HL45开发板DEMO手册
EQ6HL45FPGA开发平台用户手册.pdf
02_sim_led
1. 准备工作
中科亿海微的亿灵思®设计套件(eLinx Design Suite)使用第三方软件Mentor公司的ModelSim作为仿真工具。因此开始仿真前需要安装Modelsim,并且配置好eLINX的库文件。
1.1 ModelSim软件安装
我的电脑使用的是ModelSim-10.0c,具体安装过程此处不做额外展开描述。
//------ModelSim安装教程
//------ModelSim安装教程
https://www.bilibili.com/read/cv14582310?from=search
//------其他
1.笔记本:w7系统 64位;
2.软件:modelsim-win64-10.6d-se(安装文件及破解文件)
3.百度网盘下载地址
链接:https://pan.baidu.com/s/1dGcmGHL2q1wzh2vX1OMm5w
提取码:ox09
1.2 亿灵思软件eLINX仿真设置
安装好ModelSim之后,还需要指定仿真库和仿真软件的索引目录。
其中仿真库(Simulation_Library)为第三方软件提供FPGA的IP模型等内容,如果是纯RTL代码仿真的话可以无需设置此项。
//------亿灵思软件eLINX仿真设置
//------亿灵思软件eLINX仿真设置(根据实际路径进行填写)
//---仿真库设置Simulation_Lib:
C:/Program Files (x86)/eHiWay/eLinx2.0/Simulation/elinx_lib
//---第三方仿真软件ModelSim设置:
C:/altera/modeltech64_10.0c/win64
1.3 工程代码
工程代码flow_led如下所示:
`timescale 1 ps/ 1 ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 10-28-2021 09:38:40
// Design Name:
// Module Name: flow_led
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module flow_led(
input sys_clk , //系统时钟
input sys_rst_n, //系统复位,低电平有效
output reg [3:0] led //4个LED灯
);
//reg define
reg [23:0] counter;
//*****************************************************
//** main code
//*****************************************************
//计数器对系统时钟计数,计时0.2秒
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
counter <= 24'd0;
else if (counter < 24'd1000_0000)
counter <= counter + 1'b1;
else
counter <= 24'd0;
end
//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @(posedge sys_clk or negedge sys_rst_n) begin
if (!sys_rst_n)
led <= 4'b0001;
else if(counter == 24'd1000_0000)
led[3:0] <= {led[2:0],led[3]};
else
led <= led;
end
endmodule
2. 仿真
2.1 仿真代码
仿真代码sim_led如下所示:
`timescale 1 ns/ 1 ps
module sim_led( );
//------parameter
parameter PERIOD_100M = 10 ;//100MHz = 10ns
//------
reg sys_clk ;//100MHz
reg sys_rst_n ;//active low
wire [03:00] led ;
//------
initial begin
sys_clk = 0 ;
end
always #(PERIOD_100M / 2) sys_clk = ~sys_clk ;
initial begin
sys_rst_n = 0 ;
$display("************************************************");
$display("//---This is a simulation for flow_led.");
$display("************************************************");
#1_000;
sys_rst_n = 1 ;
$display("//---Simulation is start.");
$display("//---...");
#1000_000_000 ;//1000ms
$display("//---Simulation is stop.");
$stop();
#1_000_000 ;//1ms
$finish;
end
//------
flow_led u_flow_led(
.sys_clk (sys_clk ),//系统时钟
.sys_rst_n (sys_rst_n ),//系统复位,低电平有效
.led (led ) //4个LED灯
);
endmodule
2.2 添加仿真代码
添加仿真代码步骤如下:
//------添加仿真代码
a.双击flow_Led.epr,打开流水灯工程。
b.右键Simulation_Sources,选择添加文件Add_Sources。
c.创建sim_led文件。
2.3 执行仿真
上述步骤完成之后,可以进行仿真功能测试。
双击“Run_Behavioral_Simulation”,ModelSim自动仿真(注意:自动执行仿真代码,very-nice),仿真OK。
//------运行仿真步骤:
a.进入工程目录,双击flow_Led.epr,打开流水灯工程。
b.创建或者添加仿真文件sim_led.v。
c.运行仿真Run_Behavioral_Simulation。
d.此时会自动打开ModelSim,并自动执行仿真指令“run -all”开始执行仿真代码。
3. 上板测试
上板测试步骤如下所示,上板验证OK:
//------上板测试
//---准备:
a.编译工程生成Bitstream;
b.JTAG烧录器连接开发板,打开板卡电源。
//---JTAG烧录bit步骤:
a.Auto-Detect:JTAG扫描FPGA,此处扫描到EQ6HL45;
b.Add-Files:添加烧录文件flow_led.jpsk;
c.勾选“Program/Configure”;
d.点击“Start”开始烧录。
//------END
|