FPGA入门——1位全加器设计

一、原理图输入

环境:QuartusⅡ13.0 && 开发板:Intel DE2-115

1.1 创建工程

详细步骤请看另一篇博客:Quartus使用基础——D触发器仿真与时序波形验证

选择目标芯片:CycloneIVE系列的EP4CE115F29C7
在这里插入图片描述

1.2 原理图输入
  1. 新建Block Diagram,输入and2
    在这里插入图片描述
    在这里插入图片描述
  2. 调入xnor、输入输出引脚inputoutput
  3. 连接好电路图,并修改输入输出引脚名字
    在这里插入图片描述
  4. 保存编译
1.3 将设计项目设置成可调用的元件

为了构成全加器的项层设计,必预将以上设计的半加器full_adder.bdf设置成可调用的元件。在打开半加器原理图文件full_adder.bdf的情况下,选择File中的Create/Update→Create Symbol Files for Current File项,即可将当前文件full_adder. bdf变成一个元件符号存盘,以待在高层次设计中调用
在这里插入图片描述

1.4 半加器仿真
  1. 新建波形文件
  2. 输入波形文件
    在这里插入图片描述
  3. 设置输入波形取值
    在这里插入图片描述
  4. 仿真,先保存文件为half_adder.vwf,然后点击在这里插入图片描述
  5. 完成
    在这里插入图片描述
1.5 设计全加器顶层文件
  1. File->New->Block Diagram
  2. 选择底层文件半加器的存储名“half_adder”调出半加器
    在这里插入图片描述
  3. 再调出其他元件or2
  4. 连好电路图
    在这里插入图片描述
  5. 保存编译
  6. Tools->Netlist->RTL Viewer
    在这里插入图片描述
1.6 全加器仿真&同1.4

结果如下
在这里插入图片描述

1.7 硬件测试
  1. 引入pin引脚

网上查询相应引脚图

Assignments→Pin Planner或者点击如下图位置
在这里插入图片描述
在这里插入图片描述

  1. Tools->Programmer第一次下载需要安装硬件
    在这里插入图片描述
  2. 没有altera USB blaster的需要安装驱动,下面是下载到硬件完成
    在这里插入图片描述

二、Verilog编程

2.1 创建工程
2.2 Verilog代码
  1. 新建Verilog文件
    在这里插入图片描述
  2. 代码如下
module full_adder(
	//输入信号,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
  1. 保存并编译文件
  2. Tools->Netlist->RTL Viewer
    在这里插入图片描述
2.3 仿真
  1. 新建波形文件
  2. 输入波形文件
  3. 设置输入波形取值
    在这里插入图片描述
  4. 保存
  5. 功能仿真,出现错误
    在这里插入图片描述
  6. Tools->Launch Simulation Library Compiler,在下图位置选择保存文件的***\simulation\qsim位置,然后start compilation
    在这里插入图片描述
    在这里插入图片描述
  7. 重新功能仿真
    在这里插入图片描述
  8. 时序仿真
    在这里插入图片描述

Ending、参考资料

  1. FPGA——1位全加器的实现
  2. 嵌入式系统应用开发-实验1-FPGA编程入级
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值