FPGA设计入门

目标任务

基于Quartus-II软件完成一个1位全加器的设计,分别采用:
1)原理图输入 以及
2)Verilog编程 这两种设计方法。
软件基于quartusII 13.0版本,开发板基于Intel DE2-115。

原理图输入

打开quartus
新建工程,按照对应开发板的型号
1.新建一个Block Diagram/Schematic File文件
按照下图构建原理图,使用器件的name为两个half_adder一个OR2
在这里插入图片描述
2.编译一遍查看是否报错
3.new一个University Program VWF文件,并添加pins
在这里插入图片描述
模拟一遍查看是否有误

在这里插入图片描述
4.无误进入下一步
进入Assignment—pin planner
在这里插入图片描述
按照开发板与个人需求设置对应的管脚
在这里插入图片描述
然后保存
5.下一步烧录程序
在这里插入图片描述
刚进来发现什么都没有
在这里插入图片描述
需要我们安装USB—Blaster驱动
进入设备管理器从本地安装
USB—Blaster驱动安装目录为你安装Quartus目录下的某个目录
具体路径为D:\Quartus\quartus\drivers\usb-blaster(以我的目录为例)
只要安装了Quartus就有这个

接下来就可以烧录了,下图为完成的截图

在这里插入图片描述
实际结果如下:
在这里插入图片描述
与预期相符

Verilog编程

参考资料:https://blog.csdn.net/sinat_42483341/article/details/89005636
新建一个Verilog HDL File文件
在这里插入图片描述

全加器的门级Verilog语言描述:

//source program
module myadd(sum,cout,a,b,cin);	//output,output,input,input
	input a,b;		//I change a from 4-bit to 1-bit
	input cin;
	output cout;
	output sum;		//I change sum from 4-bit to 1-bit
assign {count,sum} = a+b+cin;	//to always give value
endmodule

全加器的行为描述:

//Simulation program
`timescale 1ns/1ns 
`include "MyFirstVerilog.v"
module myadd_tb; 	//测试模块的名字
	reg a,b;		//测试输入信号定义为 reg 型
	reg cin; 		//测试输入信号进位设置为 reg 型
	wire sum;		//测试输出信号定义为 wire 型
	wire cout;		//测试输出信号进位定义为 wire 型
	integer i,j;
	
	myadd adder(sum,cout,a,b,cin); //调用测试对象(实例化)
	
	always #5 cin=~cin;//每5ns对cin进行一次取反
	
	//赋值
	initial
	begin  a=0;b=0;cin=0; 
	#10   a<=1;b<=1;//这里使用非阻塞赋值,如果使用阻塞赋值a=1;b=1无法成功赋值
	end 
	
	//定义结果显示格式
	initial
	begin 
	$monitor($time,,,"%d + %d + %b={%b,%d}",a,b,cin,cout,sum);//控制台输出
	#20
	$finish; 
	end 
	
endmodule 

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值