问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Verilog 仿真流程详解

创作时间:
作者:
@小白创作中心

Verilog 仿真流程详解

引用
1
来源
1.
https://yang-xijie.github.io/BLOG/ElectronicEngineering/verilog-simulation/

Verilog是一种硬件描述语言,主要用于描述数字电路的逻辑连接关系。本文将详细介绍Verilog仿真的基本流程,包括编写Verilog代码、查看电路图、编写测试文件以及进行仿真验证。通过本文的学习,读者将能够掌握Verilog仿真的基本方法和步骤。

Verilog 仿真流程

  • 首先明确,Verilog是硬件描述语言,描述的是数字电路信号的逻辑连接关系。
  • 其次明确,Verilog只是描述电路,没有说具体的实现。实现电路时可以用基础门连接、可以用查找表等。
  • 仿真是用软件模拟一些信号,测试所设计电路。综合就是把硬件描述语言,转换成实际的电路。

编写Verilog

以下面的反相器模块为例:

module Inverter(in, out);
input in;
output out;
assign out = ~in;
endmodule

在Vivado中,该文件被称作design source,后缀为.v。

查看电路图

在Vivado的RTL Analysis中,点击Schematic中可以看到该模块的一种电路实现:

可以看到这里就是用一个非门实现了实际的电路。

编写测试文件

Verilog分为可综合的部分和不可综合的部分。我们在编写testbench(测试文件)的时候会使用一些不可综合的语法。

`timescale 1ns/1ps
`define PERIOD 10
module Inverter_TB();
reg clk;
wire out;
initial
begin
    forever #(`PERIOD/2) clk = ~clk;
end
initial
begin
    clk = 1'b0;
end
Inverter myInverter(.in(clk), .out(out));
endmodule

测试文件在Vivado中被称作simulation source。

仿真

在Vivado中展开Simulation菜单,点击Run Simulation,可以得到模块的输入输出随时钟信号的变化。

可以看到反相器的功能验证正确。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号