FPGA一位全加器设计实验报告

合集下载

FPGA实验报告

FPGA实验报告

FPGA实验报告Xilinx FPGA及应⽤实验报告(⼀)实验⼀全加器⼀、实验⽬的1、编写简单门电路的RTL级描述程序;2、创建简单电路的结构级VHDL描述程序;3、实现全加器功能,由半加器组成,以元件⽅式调⽤。

⼆、实验环境1、ISE软件⼀套;2、PC机⼀台。

三、实验步骤1、创建⼀个新的⼯程(1)选择“开始->所有程序->Xilinx ISE 9.1i”或直接在桌⾯双击Xilinx ISE 9.1i的图标,打开ISE 9.1i集成环境。

(2)在ISE中,选择菜单栏中的File->New Project 打开创建新⼯程界⾯,在Project Name 中填⼊⼯程名,在Project Location中填⼊⼯程所在⽂件夹。

2、编写半加器的RTL级描述和全加器的结构级描述半加器源程序为:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity half isPort ( a : in STD_LOGIC;b : in STD_LOGIC;s : out STD_LOGIC;co : out STD_LOGIC);end half;architecture Behavioral of half issignal c,d : STD_LOGIC;beginc <= a or b;d <= a nand b;s <= c and d;co <= not d;end Behavioral;波形仿真结果为:全加器源程序为:library IEEE;use IEEE.STD_LOGIC_1164.ALL;entity full isPort ( a : in STD_LOGIC;b : in STD_LOGIC;cin : in STD_LOGIC;s : out STD_LOGIC;co : out STD_LOGIC);end full;architecture Behavioral of full is component halfPORT (a, b: IN std_LOGIC;s,co: OUT std_LOGIC);end component;signal u0_co,u0_s,u1_co:std_logic;beginu0:half port map(a,b,u0_s,u0_co);u1:half port map(u0_s,cin,s,u1_co);co<=u0_co or u1_co;end Behavioral;波形仿真结果为:\ 实验⼆12进制计数器⼀、实验⽬的1、熟悉Xilinx的ISE软件的使⽤和设计流程;2、初步了解VHDL的编程⽅法;3、使⽤VHDL语⾔创建、仿真并验证12进制计数器。

一位全加器实验报告

一位全加器实验报告

一位全加器实验报告一位全加器实验报告引言:全加器是数字电路中常用的逻辑门,用于将两个二进制数相加并输出和与进位。

本实验旨在通过搭建一位全加器电路并进行测试,加深对数字电路原理的理解。

一、实验背景数字电路是现代电子技术中的重要组成部分,其广泛应用于计算机、通信等领域。

全加器作为数字电路的基础,具有重要的意义。

全加器的设计和实现对于提高计算机的运算速度和效率至关重要。

二、实验目的1. 了解全加器的原理和工作方式;2. 掌握全加器的电路搭建方法;3. 进行全加器的测试,验证其正确性。

三、实验材料和器件1. 电路实验箱;2. 电源;3. 逻辑门集成电路(如74LS08、74LS32等);4. 连线和插线板。

四、实验原理全加器是由两个半加器和一个或门组成的。

半加器用于计算两个二进制位的和与进位,全加器则利用半加器的结果和第三个输入位的进位来计算三个二进制位的和与进位。

五、实验步骤1. 首先,将所需的逻辑门集成电路插入插线板中;2. 将电源连接到插线板上的电源接口上,并调整电源电压;3. 按照全加器的电路图,将逻辑门按正确的方式连接起来;4. 完成电路的搭建后,将输入信号接入逻辑门的输入端,将输出信号接入逻辑门的输出端;5. 打开电源,观察输出结果;6. 调整输入信号,测试多种情况下的输出结果。

六、实验结果与分析通过实验,我们得到了全加器的输出结果。

在输入信号为0、0、0的情况下,输出结果为0、进位为0;在输入信号为0、1、0的情况下,输出结果为1、进位为0;在输入信号为1、1、0的情况下,输出结果为0、进位为1;在输入信号为1、1、1的情况下,输出结果为1、进位为1。

实验结果与预期一致,说明全加器的电路搭建正确。

七、实验总结通过本次实验,我们深入了解了全加器的原理和工作方式,并通过实际操作验证了其正确性。

全加器作为数字电路中的重要组成部分,对于计算机等领域的应用具有重要意义。

通过实验,我们不仅加深了对数字电路原理的理解,还提高了实际操作的能力。

计算机组成原理一位全加器实验报告

计算机组成原理一位全加器实验报告
【实验目的】
1、熟悉原理图和HDL语言的编写。
2、验证全加器功能。
【实验原理】
设计一个一位全加器,能完成两个二进制位的加法操作,考虑每种情况下的进位信号,完成8组数据的操作。
【原理图设计】
【实验总结】
通过实验,学会了功能仿真如何做出,并且了解了自己在知识中不足的地方,通过自己动手,解决问题,提高了自己的动手能力。
原理图设计实验总结通过实验学会了功能仿真如何做出并且了解了自己在知识中不足的地方通过自己动手解决问题提高了自己的动手能力
实验二
姓名:钱相州班级:网工1201学号:1205110707
【实验环境】
1. Windows 2000或Windows XP
2. QuartusII、GW48-PK2或DE2-115计算机组成原理教学实验系统一台,排线若干。

实验五1位全加器的文本输入(波形仿真应用)

实验五1位全加器的文本输入(波形仿真应用)

实验五 1位全加器的文本输入(波形仿真用)1.实验目的通过此实验让学生逐步了解、熟悉和掌握FPGA开发软件Quartus II的使用方法及VHDL 的编程方法。

学习电路的仿真方法。

2.实验内容本实验的内容是建立一个1位全加器。

在实验箱上的按键KEY1~KEY3分别为A、B 和Cin,并通过LED1~LED3指示相应的状态。

输出Sum和Cout通过LED7和LED8指示。

3.实验原理1位全加器的真值表如下所示。

表1位全加器逻辑功能真值表4.实验步骤(1) 启动Quartus II,建立一个空白工程,然后命名为full_add.qpf。

(2) 新建full_add.vhd源程序文件,编写代码。

然后进行综合编译。

若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。

也可采用原理图文件的输入方式,建立半加器,然后在组成1位全加器。

原理图如下所示半加器设计1位全加器设计(3) 波形仿真步骤如下:① 在Quartus II 主界面中选择File → New 命名,打开新建文件对话框,从中选择V ector Waveform File ,如下图所示。

单击OK 建立一个空的波形编辑窗口。

选择File →Saveas 改名为full_add.vwf。

此时会看到窗口内出现如下图所示。

图 新建文件对话框 图 新建波形文件界面② 在上图所示的Name 选项卡内双击鼠标左键,弹出如图 所示的对话框。

在该对话框中单击Node Finder 按钮,弹出如图 所示的对话框。

图 添加节点对话框③ 按照下图所示进行选择和设置,先按下“list ”按钮,再按下“>>”按钮添加所有节点,最后按下“ok ”按钮。

图添加节点④波形编辑器默认的仿真结束时间为1us,根据仿真需要可以设置仿真文件的结束时间。

选择Edit→ End Time命令可以更改。

这里采用默认值不需更改。

图添加完节点的波形图⑤编辑输入节点的波形。

编辑时将使用到波形编辑工具栏中的各种工具。

FPGA一位全加器设计实验报告

FPGA一位全加器设计实验报告

题目:1位全加器的设计一.实验目的1.熟悉QUARTUSII软件的使用;2.熟悉实验硬件平台的使用;3.掌握利用层次结构描述法设计电路。

二.实验原理由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实验箱上SW0,SW1,SW2键作为输入,并将输入的信号连接到红色LED管LEDR0,LEDR1,LEDR2上便于观察,sum,cout信号采用绿色发光二极管LEDG0,LEDG1来显示。

三.实验步骤1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6;2.新建Verilog语言文件,输入如下半加器Verilog语言源程序;module half_adder(a,b,s,co);input a,b;output s,co;wire s,co;assign co=a & b;assign s=a ^ b;Endmodule3.保存半加器程序为half_adder.v,进行功能仿真、时序仿真,验证设计的正确性。

其初始值、功能仿真波形和时序仿真波形分别如下所示4.选择菜单Fil e→Create/Update→Create Symbol Files for current file,创建半加器模块;5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。

并将输入ain,bin,cin连接到FPGA的输出端,便于观察。

完成后另保存full_adder。

电路图如下6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。

其初始值、功能仿真波形和时序仿真波形分别如下所示7.下载采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察LEDR[0],LEDR[1],LEDR[2],LEDG[0],LEDG[1]亮灭验证全加器的逻辑功能。

一位全加器实验报告

一位全加器实验报告

实验题目
实验报告正文一律使用A4打印纸打印或手写,页眉上标明“《XXXX》课程实验”字样。

页面设置上边距2.5cm,下边距2 cm,右边距2 cm(左装订),多倍行距1.25倍。

正文用宋体5号字,页眉和页脚同宋体小5号字并居中。

1、实验内容
用MAX+plus II 10.1设计一位全加器
2、实验目的与要求
设计一位全加器,并且熟悉MAX+plus II 10.1使用环境。

3、实验环境
MAX+plus II 10.1
4、设计思路分析(包括需求分析、整体设计思路、概要设计)
用两个半加器和一个或门,设计一位全加器。

5、详细设计
一位全加器可以用两个半加器和一个或门连接而成,半加器由一个与门,一个非门,同或门来实现。

在MAX+plus II 10.1环境操作步骤如下:
1、半加器的设计
2、全加器的设计
3、分配管脚
4、编译
5、仿真
6、下载
7、观察结果
6、实验结果与分析
半加器原理图
半加器波形图
全加器原理图
全加器波形图
7、实验体会与建议
通过这次实验课的学习,我学会了MAX+plus 的使用。

了解了半加器和全加器的设计原理和在MAX+plus中的实现方法。

在操作过程中虽然遇到了很多的困难,但在同学的帮助下都克服了。

同学的帮助在学习的过程中是很重要的。

FPGA一位全加器设计实验报告

FPGA一位全加器设计实验报告

FPGA一位全加器设计实验报告
本实验的目的是学习使用FPGA设计一个全加器,通过实践掌握FPGA硬件描述语言和数字电路设计的一些基础知识和技能。

一、实验背景
数字逻辑电路是计算机硬件的基础,而硬件描述语言是数字电路设计的重要手段。

FPGA是可编程逻辑器件,它可以根据用户的需求进行编程,实现不同的数电逻辑电路。

全加器是组成加法器的重要单元,也是我们学习数字逻辑的重要基础。

二、实验设计
本实验我们将采用Verilog硬件描述语言来设计一个全加器。

代码如下:
module full_add(
input A,B,Cin,
output S,Cout
);
wire w1,w2,w3;
xor(S,w1,A^B);//A异或B
xor(Cout,w2,A&Cin);//A与Cin之后异或
xor(w3,B&Cin,A&Cin);//B与Cin之后异或
xor(Cout,Cout,w3);//再次异或
endmodule
三、测试结果
我们使用Quartus II软件进行仿真和综合。

通过对代码的仿真和波形分析,我们发现该全加器符合设计要求,并且可以正确地输出结果。

四、实验总结
本实验我们学习了FPGA硬件描述语言,掌握了数字电路设计的一些基础知识和技能。

通过设计全加器,我们更深入地理解了数字逻辑电路的原理和应用。

希望在今后的学习中,能够继续深入研究数字电路的知识,为我们掌握计算机硬件设计打下坚实的基础。

一位全加器的实验报告

一位全加器的实验报告

一位全加器的实验报告一位全加器的实验报告摘要:本实验旨在通过搭建一位全加器电路,探究数字电路中的加法运算原理。

通过实验,我们成功验证了全加器的功能,并观察到了其在二进制加法中的作用。

实验结果表明,全加器是一种重要的数字电路元件,能够实现多位二进制数的相加运算。

引言:全加器是一种常见的数字电路元件,用于实现二进制数的相加运算。

它能够处理两个输入位和一个进位位,并输出一个和位和一个进位位。

全加器的设计和实现对于数字电路的理解和应用具有重要意义。

本实验将通过搭建一位全加器电路,探究其工作原理和应用。

材料与方法:1. 逻辑门:与门、或门、异或门、非门2. 连线材料:导线、电源线3. 电源:直流电源4. 示波器:用于观察电路输出波形实验步骤:1. 按照电路图搭建一位全加器电路,包括两个输入位A和B,一个进位位Cin,一个和位S和一个进位位Cout。

2. 将电源线连接至电路,确保电路正常供电。

3. 分别将输入位A和B的电平信号输入到与门和异或门中,将进位位Cin的电平信号输入到与门中。

4. 将与门和异或门的输出信号输入到或门中,得到和位S的输出信号。

5. 将与门的输出信号输入到与非门中,得到进位位Cout的输出信号。

6. 使用示波器观察和位S和进位位Cout的波形。

结果与讨论:通过实验观察,我们得到了一位全加器的输出波形。

当输入位A和B均为0时,和位S和进位位Cout均为0;当输入位A和B均为1时,和位S为0,进位位Cout为1;当输入位A和B中有一个为1时,和位S为1,进位位Cout为0;当输入位A和B均为1时,和位S和进位位Cout均为1。

这一结果与全加器的逻辑运算规则相符,验证了全加器电路的正确性。

全加器在二进制加法中起到了关键作用。

通过将多个全加器连接起来,我们可以实现多位二进制数的相加运算。

在实际应用中,全加器被广泛应用于计算机的算术逻辑单元(ALU)中,用于实现加法和其他运算。

结论:通过本实验,我们成功搭建了一位全加器电路,并验证了其在二进制加法中的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:1位全加器的设计
一.实验目的
1.熟悉QUARTUSII软件的使用;
2.熟悉实验硬件平台的使用;
3.掌握利用层次结构描述法设计电路。

二.实验原理
由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实
验箱上SW0,SW1,SW2键作为输入,并将输
入的信号连接到红色LED管
LEDR0,LEDR1,LEDR2上便于观察,sum,cout
信号采用绿色发光二极管LEDG0,LEDG1来
显示。

三.实验步骤
1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6;
2.新建Verilog语言文件,输入如下半加器Verilog语言源程序;
module half_adder(a,b,s,co);
input a,b;
output s,co;
wire s,co;
assign co=a & b;
assign s=a ^ b;
Endmodule
3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。

其初始值、功能仿真波形和时序仿真波形分别如下所示
4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块;
5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。

并将输入ain,bin,cin连接到FPGA的输出端,便于观察。

完成后另保存full_adder。

电路图如下
6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。

其初始值、功能仿真波形和时序仿真波形分别如下所示
7.下载
采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察LEDR[0],LEDR[1],LEDR[2],LEDG[0],LEDG[1]亮灭验证全加器的逻辑功能。

波动波动开关并观察红色、绿色LED的变化,验证设计的正确性。

结果验证正确。

四.思考题
1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder
答:不能,因为在程序中,module half_adder(a,b,s,co)已经给程序定义了一个名字叫half_adder,VHDL语言中,要求程序名与实体名一致,因此保存的文件名必须和程序名一致,否则在编译程序的时候就会出现错误。

2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别
答:功能仿真就是将综合后的VHDL网表文件再送到VHDL仿真器中所进行仿真。

这时的仿真仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件特性,如延时特性。

时序仿真就是将布线器/适配器所产生的VHDL 网表文件送到VHDL仿真器中所进行的仿真。

该仿真已将器件特性考虑进去了,因此可以得到精确的时序仿真结果。

总而言之,功能仿真不需要综合,所以也不需要延时,时序仿真要走完整个电路要计算各个模块的时延,所以要延时。

3.什么要进行引脚锁定
答:每种芯片的不同引脚(pin)对应着不同的功能。

比如,有的引脚对应着发光二极管,有的是数码管的控制端,有的是输入时钟;FPGA一般都有几百个管脚,我们的设计也会有很多管脚,进行引脚锁定,编引脚接到到了FPGA的哪一个管脚上,如果不进行引脚锁定,编译,下载后就无法知道你设计的模块中的哪一个信号练到了FPGA的哪一个管脚上。

如果只是进行编译,综合,并不下载,就不需要引脚锁定,如果想把程序编译综合后下载到FPGA去运行,就必须进行引脚锁定,锁定后重新编译综合,然后下载,验证。

4.采用层次结构法描述电路有什么样的优点
答:可以大大降低设计成本,缩短设计周期;极大地简化设计文档的管理;提高大规模系统电子设计的自动化程度;设计者拥有完全的自主权,再无受制于人之虞;良好的可移植与可测试性,为系统开发提供可靠的保证;能将所有设计环节纳入统一的自顶向下的设计方案中;在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。

相关文档
最新文档