硬件设计实验指导书技术总结.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA基础实验分册 基于Quartus II的全加器设计 一、 实验目的 了解四位全加器的工作原理。 掌握基本组合逻辑电路的FPGA实现。 熟练应用Quartus II进行FPGA开发。 二 实验原理 全加器是由两个加数和 以及低位来的进位作为输入,产生本位和以及向高位的进位的逻辑电路 Si Ci 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 表9-1 全加器真值表 由真值表得到Si和Ci的逻辑表达式经化简后为: 这仅仅是一位的二进制全加器,要完成一个四位的二进制全加器,只需要把四个级联起来即可。i 三 实验内容 本实验要完成的任务是设计一个四位二进制全加器。具体的实验过程就是利用实验系统上的拨动开关模块的K1~K4作为一个加数X输入,K5~K8作为另一个加数Y输入,用LED模块的LED1~LED8来作为结果S输出,LED亮表示输出‘1’,LED灭表示输出‘0’。 实验箱中的拨动开关、LED与FPGA的接口电路,以及拨动开关、LED与FPGA的管脚连接在以前的实验中都做了详细说明,这里不在赘述。 四 试验步骤 下面将通过这个实验,向读者介绍QUARTUSII的项目文件的生成、编译、管脚分配以及时序仿真等的操作过程。 1、建立工程文件 1)选择开始程序AlteraQuartusII5.1,运行QUARTUSII软件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-3所示,如果是第一次打开QUARTUSII软件可能会有其它的提示信息,使用者可以根据自己的实际情况进行设定后进入图1-3所示界面。 图1-3 QUARTUSII软件运行界面 2)选择软件中的菜单FileNew Project Wizard,新建一个工程。如图1-4所示。 3)点击图1-4中的NEXT进入工作目录,工程名的设定对话框如图1-5所示。第一个输入框为工程目录输入框,用户可以输入如e:/eda等工作路径来设定工程的目录,设定好后,所有的生成文件将放入这个工作目录。第二个输入框为工程名称输入框,第三个输入框为顶层实体名称输入框。用户可以设定如EXP1,一般情况下工程名称与实体名称相同。使用者也可以根据自已的实际情况来设定。 图1-4 新建工程对话框 图1-5 指定工程名称及工作目录 4)点击NEXT,进入下一个设定对话框,按默认选项直接点击NEXT进行器件选择对话框。如图1-6所示。这里我们以选用CycloneII系列芯片EP2C35F672C8为例进行介绍。用户可以根据使用的不同芯片来进行设定。 图1-6 器件选择界面 首先在对话框的左上方的Family下拉菜单中选取CycloneII,在中间右边的Speed grade下拉菜单中选取8,在左下方的Available devices框中选取EP2C35F672C8,点击NEXT完成器件的选取,进入EDA TOOL设定界面如图1-7所示。 图1-7 EDA TOOL对话框 5)按默认选项,点击NEXT出现新建工程以前所有的设定信息,如图1-8所示,点击FINISH完成新建工程的建立。 图1-8 新建工程信息 2、建立VHDL设计文件 1)在创建好设计工程后,选择FileNEW…菜单,出现图1-9所示的新建设计文件类型选择窗口。这里我们以建立VHDL设计文件为例进行说明,其它设计输入方法与之基本相同。 图1-9 新建设计文件选择窗口 2)在New对话框(图1-9)中选择Device Design Files页下的VHDL File,点击OK按钮,打开图形编辑器对话框,如图1-10所示。图中标明了常用的每个按钮的功能 3) 在文本编辑器中输入如下vhdl程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity exp1 is port( X,Y : in std_logic_vector(3 downto 0); m_Result: out std_logic_vector(7 dow

您可能关注的文档

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档