FPGA学习记录(一)vivado简单仿真全加器

**

FPGA学习记录(一)vivado简单仿真全加器

**

1.先写一个全加器

在这里插入图片描述

`timescale 1ns / 1ps
// 时间单位  /  时间精度

module full_adder(

    input IN1,
    input IN2,
    input IN3,
    output cout,
    output sum
    
);
    
    assign{cout,sum}=IN1+IN2+IN3;
    
endmodule

**

2.在Sources下的Simulation Sources新建一个 .v 文件,文件名为 tb_full_adder, tb表示仿真文件

**
描述
**

3.仿真文件内容.

**

`timescale 1ns / 1ps

module tb_full_adder();
//模拟仿真,所以没有输入输出端口

reg in1;
reg in2;
reg in3;

wire cout;
wire sum;

//例化,有点像C语言 实例化一个类
full_adder fd1(
    .IN1(in1),
    .IN2(in2),
    .IN3(in3),
    .cout(cout),
    .sum(sum)
);

initial                           //激励关键字,只执行一次(always则是一直激励),通常用来赋初值
begin							  //只有在begin-end之间的代码是串行执行
#100 in1<=0;in2<=0;in3<=0;        //#100指的是100秒后
#100 in1<=0;in2<=0;in3<=1;        //使用非阻塞赋值
#100 in1<=0;in2<=1;in3<=0;        //阻塞赋值和非阻塞赋值不要在一个module里出现
#100 in1<=0;in2<=1;in3<=1;
#100 in1<=1;in2<=0;in3<=0;
#100 in1<=1;in2<=0;in3<=1;
#100 in1<=1;in2<=1;in3<=0;
#100 in1<=1;in2<=1;in3<=1;
#100 $finish;
end


endmodule

**

4.开始仿真

**
左键单击Run Simulation->Run Behavioral Simulation, 等待片刻,在写代码的文件旁边会新建仿真结果(第一次运行时差点没找到)
在这里插入图片描述
**

5.仿真结果

**
在这里插入图片描述
符合全加器逻辑

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值