欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Quartus联合modelsim和Signaltap仿真

程序员文章站 2022-07-12 22:36:35
...

Quartus联合modelsim和Signaltap仿真

工具:Quartus Ⅱ9.0、modelsim10.4
项目:流水灯
  1. 仿真项目文件(flowLed.v)
module flowLed
(
input clk,            //系统时钟   
input rst_n,          //系统复位,低电平有效  
 
output reg [7:0] led  //8个LED灯   
);
reg [26:0] count;    

//流水灯计数器
always @ (posedge clk or negedge rst_n) 
begin
if (!rst_n)                       //低电平状态
      count <= 27'd0;
  else if (count < 27'd1000_0000)   //时间调节
      count <= count + 1'b1;
  else
      count <= 27'd0;                   
end 
//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @ (posedge clk or negedge rst_n) 
begin
if(!rst_n) 
led <=8'b11111111;     
else 
begin
case(count) 
 3'b000: led <= 8'b11111110;        
 3'b001: led <= 8'b11111101;    
 3'b010: led <= 8'b11111011;   
 3'b011: led <= 8'b11110111;   
 3'b100: led <= 8'b11101111;       
 3'b101: led <= 8'b11011111;   
 3'b110: led <= 8'b10111111; 
 3'b111: led <= 8'b01111111;       
default: led <= led;  
endcase
end
end    
endmodule 

激励文件(flowLed.vt)

`timescale 1 ps/ 1 ps 
module flowLed_vlg_tst(); 
//constants                                          
// general purpose registers 
reg eachvec; 
// test vector input registers reg
clk;
reg rst_n; 
//wires                                              
wire [7:0] led
// assign statements (if any)                         
flowLed i1 (
.clk(clk),
.led(led),
.rst_n(rst_n)
);
initial                                               
begin                                                 
 clk = 0;
 rst_n = 1;
 #20 rst_n = 0;
 #60 rst_n =1;                      
end                                                   
always                                                
#10 clk = ~clk;                                                
endmodule
  1. modelsim仿真:
    modelsim仿真结果
    Quartus联合modelsim和Signaltap仿真

仿真实现流程

  1. 首先新建一个工程,命名为flowLed
  2. 设置设备数据
    Quartus联合modelsim和Signaltap仿真
  3. 创建项目文件,顶层设计文件,它的实体名一定要与顶层设计文件名一致。
  4. 编写仿真测试文件testbench。processing->start->start Test Bench Temple writer
    Quartus联合modelsim和Signaltap仿真
  5. 根据flowLed.v文件修改testbench
  6. 对工程进行一些设置:让quartus调用modelsim 点击Tools->Options…
    Quartus联合modelsim和Signaltap仿真
  7. 开始仿真测试 Assignments->settings…->EDA Tool Settings->simulation->compile tset
    bench->Tset Benchs…

    Quartus联合modelsim和Signaltap仿真
    8.开始编译仿真Tools->Run EDA Simulation Tool->EDA RTL Simulation,会自动打开modelsim。
    Quartus联合modelsim和Signaltap仿真
    signaltapⅡ仿真:
    signaltapⅡ仿真结果:
    Quartus联合modelsim和Signaltap仿真

仿真实现流程

  1. 连接好开发板,Tools->SignalTap Ⅱ Logic Analysizer进入Signaltap仿真页面
  2. 选择硬件
    Quartus联合modelsim和Signaltap仿真
  3. 添加采样时钟和信号
    Quartus联合modelsim和Signaltap仿真
    Quartus联合modelsim和Signaltap仿真
  4. 设置采样方式,深度设为128,模式为连续采样, Type 选择Continuous。
  5. 重新编译 Quartus II 工程。
  6. 添加并下载 SOF 文件。
  7. 点击运行键,开始捕获信号。