FPGA编程入门

文章详细介绍了如何使用QuartusII软件设计1位全加器,包括从原理图输入到Verilog代码实现的过程,并展示了如何通过Verilog语言编写的全加器模块。此外,还提到了4位全加器的设计,以及在实验过程中遇到的技术挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、1位全加器

1.输入原理图实现1位加法器

创建工程过程
启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。
在这里插入图片描述
在这里插入图片描述

(一)半加器原理图输入

绘制过程实现
首先选择File->New,进入后选择Block Diagram/Schematic File
在这里插入图片描述
选择元件,添加输入输出,完成效果
在这里插入图片描述
保存文件,并编译
通过tool->Netlist Viewers->RTL Viewer,查看电路图
在这里插入图片描述
仿真实现
创建一个向量波形文件,选择菜单项 File→New->VWF
在这里插入图片描述
在这里插入图片描述

(二)全加器原理图输入

利用半加器元件实现全加器

将设计项目设置为可调用的元件
在打开半加器原理图文件half_adder.bdf的情况下,选择菜中File中的Create/Update→CreateSymbolFilesforCurrentFile项,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待在高层次设计中调用
在这里插入图片描述
绘制过程实现
首先选择File->New,进入后选择Block Diagram/Schematic File
选择元件,添加输入输出,完成效果
在这里插入图片描述
保存文件,并编译
通过tool->Netlist Viewers->RTL Viewer,查看电路图

2.Verilog实现1位加法器

创建Verilog文件
在这里插入图片描述
代码实现\

module fulladder(
	//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位
	input ain,bin,cin,
	//输出信号,cout表示向高位的进位,sum表示本位的相加和
	output reg cout,sum

);
reg s1,s2,s3;
always @(ain or bin or cin) begin
	sum=(ain^bin)^cin;//本位和输出表达式
	s1=ain&cin;
	s2=bin&cin;
	s3=ain&bin;
	cout=(s1|s2)|s3;//高位进位输出表达式
end
endmodule

保存并编译文件
通过tool->Netlist Viewers->RTL Viewer,查看电路图
在这里插入图片描述

二、4位全加器

调用1位全加器元件设计4位加法器的原理图。如图即为设计的电路图。
在这里插入图片描述
代码

module add_4
(
input[3:0] a,b,
output[3:0] sum,
output cout,
input cin
);
assign{cout,sum} = a+b+cin;
endmodule

三、小结

此次实验在实验室进行时出现了一些技术上的问题,因此未能完整做出项目,所以本次报告显得非常不完整,在此后的实验中,尽量继续完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值