第六周实验1--- FPGA设计入门

一、设计原理

1、认识全加器和半加器

全加器是用门电路实现两个二进制相加并求出和的组合线路,成为一位全加器,一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。
Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和
在这里插入图片描述
半加器:
在这里插入图片描述
在这里插入图片描述

实验准备

实验目的:

基于Quartus-II软件完成一个1位全加器的设计,分别采用:原理图输入以及Verilog编程 这两种设计方法。

开发环境

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

1.1创建项目

之前做过,具体步骤在:第四周—数字电路基础与Quartus-II入门
选择目标芯片:CycloneIVE系列的EP4CE115F29C7
在这里插入图片描述

1.2 输入原理图

1.新建,然后选择Block Diagram,输入and2
在这里插入图片描述
在这里插入图片描述
2.调入xnor、输入输出引脚input、output
3.连接好电路图,并修改输入输出引脚名字
在这里插入图片描述
4.保存并编译

1.3. 将设计项目设置成可调用的元件

为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf 设置成可调用的元件。

选择菜中File中的Create/Update→Create Symbol Files for Current File项,即可将当前文件half_adder. bdf变成一个元件符号存盘,以 待在高层次设计中调用。

1.4. 新家全加器原理图文件

新建方法同第二步新建半加器原理图文件方法一样
在弹出的“symbol”窗的“name”栏输入底层文件半加器的存储名“half_adder” 调出半加器
在这里插入图片描述
设计原理图如下:
在这里插入图片描述

1.5. 将设计项目设置成顶层文件并编译仿真

将顶层文件full_adder.bdf设置为顶层文件的方法:选中full_adder.bdf文件,然后project→set as top_level entity

仿真前:
在这里插入图片描述
仿真后:

在这里插入图片描述

1.6. 引脚绑定及硬件下载测试

① 选择目标芯片:cycloneIVE系列的EP4CE11529C7 ,在菜单中选择,“assignments→device…”(同新建工程所选择的型号一样)
② 引脚绑定
先从菜单中选择“assignments→pin planner”,然后进行如下配置:
在这里插入图片描述
选定了引脚之后原理图文件一定要再编译一次,才能真正把引脚绑定上
在这里插入图片描述
③ 把开发板接上电源,USB 接口接电脑, 然后点击Programmer按钮,然后弹出一个下载界面。

如果第一次下载需安装 硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB
blaster”,再点击“ok”,则硬件被安装上。
如果找不到,请先在电脑设备管理器中配置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

3.保存并编译文件
4.Tools->Netlist->RTL Viewer
在这里插入图片描述

2.3 进行仿真

  1. 新建波形文件
  2. 输入波形文件
  3. 设置输入波形取值
    在这里插入图片描述
  4. 保存
  5. 功能仿真
    在这里插入图片描述
  6. 时序仿真
    在这里插入图片描述

参考

Verilog设计1位全加器
图像压缩编码——香农/哈夫曼编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值