Quartus II 之1位全加器

一、半加器和1位全加器原理

1. 半加器

所谓半加器,是指对两位二进制数实施加法操作的元器件。
二进制半加器的理解比较简单,就是逢2进1,其真值表为如下图:
在这里插入图片描述

2. 1位全加器

全加器只是加多了一个输入,其实原理和半加器是一样的。全加器真值表如下:
在这里插入图片描述

二、实验目的

通过1位全加器的详细设计,掌握原理图输入以及Verilog的两种设计方法。
软件基于quartusII 13.0版本,开发板基于Intel DE2-115。
1位全加器可以用两个半加器及一个或门连接而成, 因此需要先完成半加器的设计。

三、设计半加器

1. 新建项目

  1. file->new Project Wizard 选择项目目录,项目名称,顶层文件

在这里插入图片描述

  1. 选择对应芯片型号
    在这里插入图片描述

  2. 选择仿真
    在这里插入图片描述

  3. next->finsh

2. 创建原理图

  1. file->new-> Block Diagram/Schematic File->OK
    在这里插入图片描述

  2. 点击按纽 Symbol Tool或直接双击原理图空白处
    在这里插入图片描述

  3. 从Symbol窗中选择需要的符号,或者直接在name文本框中键入元件名
    在这里插入图片描述

  4. 分别调入元件and2,xnor和输入输出引脚input和output。并如图用点击拖动的方法连接好电路。输入各引脚名:a、b, co和s。
    在这里插入图片描述

  5. 保存,编译
    在这里插入图片描述

  6. 将设计项目设置成可调用的元件
    为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件
    file->Create/Update->Create Symbol Files For Current File
    在这里插入图片描述

3. 半加器仿真

  1. 选择file->new->University Program VWF->OK

在这里插入图片描述

  1. 选择引脚序号依次选择
    在这里插入图片描述

  2. 设置高低电平之后运行
    在这里插入图片描述

  3. 运行会报错
    在这里插入图片描述

  4. 选择Tools->Launch Simulation Library Compiler
    在这里插入图片描述

  5. 选择modelSim安装路径,选择芯片类型,选择库语言,选择输出文件路径
    在这里插入图片描述

  6. 出现0 warnings 说明编译成功

在这里插入图片描述

  1. 再次设置波形,运行,观察波形图
    在这里插入图片描述

四、设计全加器

  1. 新建原理图 full_adder,并设为顶层文件
    在这里插入图片描述

  2. 调用之前设计的半加器元件,以此设计出全加器原理图
    在这里插入图片描述

在这里插入图片描述

  1. 仿真测试
    在这里插入图片描述

五、硬件下载测试

1. 引脚绑定

引脚绑定前先要确定具体硬件电路,即目标芯片与外围电路(输入、输出显
示等)的连接情况。实验室使用的ED2-115开发板,除了核心FPGA芯片外,还自
带一些外围输入输出电路。我们就是利用这些输入输出电路来进行硬件测试。
在这里插入图片描述
如全加器引脚绑定,可以这样设计:开发板上的18个拨码开关选其中三
个,SW0,SW1,SW2分别接ain、bin、cin(开关向上拨和向下拨分别显示输入
是高还是低电平);LED0,LED1分别接co和sum,灯亮表示输出为“1”,灯灭
表示输出为“0”。
硬件设计好后,还需要查引脚图(引脚图见附录)进行引脚绑定。
从 附 录 “ 表 4-1 拨 动 开 关 引 脚 配 置 ” 中 找 到 输 入 的 三 个 开 关
SW0,SW1,SW2,再找到对应的“FPGA引脚号”。如图:

相应的,在附录的表 4-3 中查找到 LED 的引脚配置。
然后在软件中,从菜单中选择“assignments→pin planner”,如图,调出引
脚绑定窗口,然后从下拉窗口中选择相应的输入输出端口,再在“location”栏
填入对应的 FPGA 引脚即可,如图。
在这里插入图片描述

在这里插入图片描述

选定了引脚之后原理图文件一定要再编译一次,才能真正把引脚绑定上。引脚绑定好
并编译过的文件如图
在这里插入图片描述
然后就可以下载到硬件上进行测试了。

2. 下载测试

把开发板接上电源,USB 接口接电脑。打开电源开关(注意不用下载时请一定关闭开
关,以免烧坏板子)。点击软件工具栏上的按钮 ,在这里插入图片描述
则出现下载界面。第一次下载需安装
硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB
blaster”,再点击“ok”,则硬件被安装上。
在这里插入图片描述

安装好硬件的界面如图。然后在下载的.sof 文件后面的复选框中打勾,再点击”start”,
当进度条达到 100%时,即下载成功,可以进行硬件观测
在这里插入图片描述

结果验证
请添加图片描述

ainbincinsumcout
11111

六、Verilog语言设计

  1. file->new->Verilog HDL File->OK
    在这里插入图片描述

  2. 代码:

module full_adder1
(
	input a,     	//加数
	input b,		//被加数
	input c,		//进位输入
	output s,		//结果输出
	output co		//进位输出
);
	assign s = a^b^c;
	assign co = (a&b)|((a^b)&c);
endmodule

  1. file->Create/Upadte->Create Aysbol Files For Current File 生成原理图
    在这里插入图片描述

  2. 选择原理图
    在这里插入图片描述

在这里插入图片描述

  1. 添加输入输出
    在这里插入图片描述

  2. 仿真测试
    在这里插入图片描述

七、总结

通过1位全加器的详细设计,掌握了原理图输入以及Verilog的两种设计方法。

  • 11
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值