已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南南昌昌大大学学实实验验报报告告 学生姓名 学 号 专业班级 中兴 101 实验类型 验证 综合 设计 创新 实验日期 2012 9 28 实验成绩 实验一实验一 一位二进制全加器设计实验一位二进制全加器设计实验 一 实验目的一 实验目的 1 掌握 Quartus II 的 VHDL 文本设计和原理图输入方法设计全过程 2 熟悉简单组合电路的设计 掌握系统仿真 学会分析硬件测试结果 3 熟悉设备和软件 掌握实验操作 二 实验内容与要求二 实验内容与要求 1 在利用 VHDL 编辑程序实现半加器和或门 再利用原理图连接半加器和或门完 成全加器的设计 熟悉层次设计概念 2 给出此项设计的仿真波形 3 参照实验板 1K100 的引脚号 选定和锁定引脚 编程下载 进行硬件测试 三 设计思路三 设计思路 一个 1 位全加器可以用两个 1 位半加器及一个或门连接而成 而一个 1 位半加器可由 基本门电路组成 1 半加器设计原理半加器设计原理 能对两个 1 位二进制数进行相加而求得和及进位的逻辑电路称为半加器 或 只考虑 两个一位二进制数的相加 而不考虑来自低位进位数的运算电路 称为半加器 图 1 为半 加器原理图 其中 a b 分别为被加数与加数 作为电路的输入端 so 为两数相加产生的 本位和 它和两数相加产生的向高位的进位 co 一起作为电路的输出 半加器的真值表为 表 1 半加器真值表 absoco 0000 0110 1010 1101 由真值表可分别写出和数 so 进位数 co 的逻辑函数表达式为 1 bababaso 2 abco 图 1 半加器原理图 2 全加器设计原理全加器设计原理 除本位两个数相加外 还要加上从低位来的进位数 称为全加器 图 2 全加器原理图 全加器的真值表如下 表 2 全加器真值表 cabcoso 00000 00101 01001 01110 10001 10110 11010 11111 其中a为加数 b为加数 c为低位向本位的进位 co为本位向高位的进位 so为本 位和 图 2 全加器原理图 四 实现方法一 原理图输入法设计 自己独立完成 四 实现方法一 原理图输入法设计 自己独立完成 1 建立文件夹建立文件夹 建立自己的文件夹 目录 如 c myeda 进入 Windows 操作系统 QuartusII 不能识别中文 文件及文件夹名不能用中文 2 原理图设计输入原理图设计输入 打开 Quartus II 选菜单 File New 选择 Device Design File Block Diagram Schematic File 项 点击 OK 在主界面中将打开 Block Editor 窗口 1 1 放置元件放置元件 在原理图编辑窗中的任何一个空白处双击鼠标左键或单击右键 跳出一个选择窗 选择 此窗中的 Enter Symbol 项输入元件 出现元件选择窗口 元件选择窗口窗口中 Symbol Libraries 的路径 c Quartus2 max2lib prim 下为基 本逻辑元件库 双击之 在 Symbol Files 下出现 prim 中的所有元件 选中你需要的元件 如 二与门 即 and2 或者在 Symbol Name 中直接输入元件名称 and2 单击 OK 键 你需要的元件 and2 会出现在原理图编辑窗中 为了设计半加器 分别调入元件 and2 not xnor input 和 output 如果安放相同元件 只要按住 CTRL 键 同时用鼠标拖动该元件 2 2 添加连线添加连线 把鼠标移到引脚附近 则鼠标光标自动由箭头变位十字 按住鼠标左键拖动 即可画出连 线 然后用鼠标分别在 input 和 output 的 PIN NAME 上双击使其变黑色 再用键盘分别输 入各引脚名 ain bin co 和 so 3 3 保存原理图保存原理图 单击 File Save as 按扭 出现对话框 选择自己的目录 如 c myeda 合适名称保 存刚才输入的原理图 原理图的扩展名为 bdf 本实验取名 gate bdf 如图 3 所示 图 3 一位半加器图 4 4 设置工程文件 设置工程文件 ProjectProject 方法 1 选择 File Project Set Project to Current File 即将当前的设计文件 设置成工程 方法 2 如果设计文件未打开 选 File Project Name 然后在跳出的 Project Name 窗中找到 c myeda 目录 在其 File 小窗口中双击 gate bdf 文件 选择此项后可以看到窗口左上角显示出所设文件路径的变化 3 选择目标器件选择目标器件 单击 Assign Device 跳出 Device 窗口 此窗口的 Device Family 是器件序列栏 首先在此栏中选定目标器件对应的序列名 如 EPM7128S 对应的是 MAX7000S 系列 EPF10K10 对应的是 FLEX10K 系列等 根据实际情况完成器件选择后 本实验为 Cyclone 系列的 EP2C35F672C8 按 OK 键 应将此栏下方标有 Show only Fastest Speed Grades 的勾消去 以便显示出所有 速度级别的器件 4 编译 编译 Compiler 单击 QuartusII Compiler 跳出 Compiler 窗口 此编译器的功能包括网表文件的提 取 设计文件的排错 逻辑综合 逻辑分配 适配 结构综合 时序仿真文件提取和编程 下载文件装配等 单击 Start 开始编译 如果发现有错 排除错误后再次编译 5 包装元件入库 包装元件入库 编译通过后 单击 File Create Default Symbol 当前文件变成了一个包装好的自己 的单一元件 半加器 gate 并被放置在工程路径指定的目录中以备后用 6 用两个半加器及一个或门连接而成一位全加器用两个半加器及一个或门连接而成一位全加器 我们将上述 1 5 步的工作看成是完成了的一个底层元件 并被包装入库 利用已做好 的半加器 gate 完成原理图输入 连线 引脚命名 器件选择 保存 项目设置 编译等 过程 完成顶层项目全加器的设计 如图 4 所示 图 4 全加器的设计图 半加器元件 gate 的调用与库元件的调用方法一样 以文件名aaa bdf存在同一目录 c myeda 中 以下步骤同方法二 7 仿真 测试项目的正确性仿真 测试项目的正确性 8 观察分析波形观察分析波形 9 时序分析时序分析 五 五 VHDL 文本输入法设计文本输入法设计 1 试验程序 程序来源 自己独立编写 试验程序 程序来源 自己独立编写 全加器设计的文本输入法设计程序 设计人 邓小娇 2012 年 9 月 26 日 1 位二进制全加器顶层设计描述 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY aaa IS PORT ain bin cin IN STD LOGIC 输入信号 ain 为加数 bin 为加数 cin 为低位向本 位的进位 cout sum OUT STD LOGIC 输出信号 co 为本位向高位的进位 so 为本位和 END ENTITY aaa 半加器描述 真值表描述方法 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY gate IS PORT a b IN STD LOGIC a 为加数 b 也为加数 co so OUT STD LOGIC co 为本位向高位进位 so 为本位和 END ENTITY gate ARCHITECTURE ART4 OF gate IS SIGNAL abc STD LOGIC VECTOR 1 DOWNTO 0 定义标准逻辑位矢量数据类型 BEGIN abcso 0 coso 1 coso 1 coso 0 co NULL END CASE END PROCESS END ARCHITECTURE ART4 或门逻辑描述 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY or2a IS PORT a b IN STD LOGIC a b 都为或门的输入 c OUT STD LOGIC c 为或门的输出 END ENTITY or2a ARCHITECTURE one OF or2a IS BEGIN c ain b bin co d so e 例化语句 表示信号连接 u2 gate PORT MAP a e b cin co f so sum u3 or2a PORT MAP a d b f c cout END ARCHITECTURE fd1 2 程序说明程序说明 对于对数综合器来说 程序所列的全部程序可以同时输入相应的EDA 软件进行编译 也 能以单独的元件模块分别进行编辑 文件存档 编译和综合 程序中共有3 个独立的VHDL 设计模块即2 个元件模块和一个顶层设计模块aaa存档的文件名最好与对应的VHDL 程序的 实体一致如可分别将它们取名为or2a vhd gate vhd和aaa vhd 程序的解析如下 1 作为文件说明部分由双横线 引导了一段注释语句在VHDL 程序的任何一行 中双横线 后的文字都不参加编译和综合 2 实体or2a 语句段定义了或门or2a 的引脚信号a b 输入 和c 输出 其结构体语 句段描述了输入与输出信号间的逻辑关系 即将输入信号a b 相或后传给输出信号端c 由 此实体和结构体描述了一个完整的或门元件 这一描述可以进行独立编译 独立综合与存 档 或被其它的电路系统所调用 3 实体gate 和结构体ART4 描述了一个如图1 所示的半加器 由其结构体的描述可以 看到 它是由一个与非门 一个非门 一个或门和一个与门连接而成的 其逻辑关系来自 于半加器真值表 表1 4 在全加器接口逻辑即顶层文件的VHDL 描述中 根据图1右侧的1位二进 全加器aaa 的原理图 其实体定义了引脚的端口信号属性和数据类型 其中 ain 和 bin 分别为两个输入的相加位 cin 为低位进位输入 cout 为进位输出 sum为1位和输出 结构体fd1的功能是利用COMPONENT 和COMPONENT 例化语句将上面由两个实体or2a 和gate 描述的独立器件 按照图1全加器内部逻辑原理图中的接线方式连接起来 5 在结构体 fd1 中 COMPONENT END COMPONENT 语句结构对所要调用的或门和半加 器两个元件作了声明 Component Declaration 并由 SIGNAL 语句定义了三个信号 d e 和 f 作为中间信号转存点 以利于几个器件间的信号连接 接下去的 PORT MAP 语句称 为元件例化语句 Component Instantiation 所谓例化 在电路板上 相当于往上装配元 器件 在逻辑原理图上 相当于从元件库中取了一个元件符号放在电路原理图上 并对此 符号的各引脚进行连线 例化也可理解为元件映射或元件连接 MAP 是映射的意思 例如 由 u2 指示的语句表示将实体 h adder 描述的元件的引脚信号 a b co 和 so 分别连向外 部信号 e cin f 和 sum 符号 表示信号连接 6 由图1可见 实体f adder 引导的逻辑描述也是由三个主要部分构成的 即库 实 体和结构体 从表面上看来 库的部分仅包含了一个IEEE 标准库和打开的 IEEE STD LOGIC 1164 ALL 程序包但实际上从结构体的描述中可以看出 对外部的逻辑有 调用的操作 这类似于对库或程序包中的内容作了调用 因此 库结构部分还应将上面的 或门和半加器的VHDL描述包括进去 作为工作库中的两个待调用的元件 由此可见 库结 构也是VHDL 程序的重要组成部分 图5 VHDL设计基本结构 一个相对完整的VHDL程序具有如图9所示的比较固定的结构 即首先是各类库及其程序 包的使用声明 包括未以显式表达的工作库WORK 库的使用声明 然后是实体描述 在这个 实体中含有一个或一个以上的结构体 而在每一个结构体中可以含有一个或多个进程 当 然还可以是其它语句结构 例如其它形式的并行语句结构 最后是配置说明语句结构 这 个语句结构在以上给出的示例中没有出现 配置说明主要用于以层次化的方式对特定的设 计实体进行元件例化 或是为实体选定某个特定的结构体 一个相对完整的VHDL 程序设计 构建称为设计实体 六 六 VHDL 文本输入法设计实验步骤文本输入法设计实验步骤 1 新建项目 选择项目文件夹 输入工程名称 添加文件 一般为空 选择芯片型号 选择仿真工具 一般为默认 最后生成项目 如下图 图6 选择编辑文件 图 7 新建项目 2 新建 VHDL 文件 输入设计语言 保存时要注意与工程文件名相同 如下图 图 8 新建 VHDL 文件 3 保存好后 进行综合编译 如果有错误 折回修改 如下图 图 9 综合编译 4 1 新建一个 vwf 文件 并将其设为仿真激励 菜单 Assignments Settings 在左侧选择 Simulation Settings 选择这里的 vwf 文件 2 设置为功能仿真 菜单 Assignments Settings 在左侧选择 Simulation Settings 设置 为 Functional Simulation 3 生成功能仿真网表 菜单 Processing Generate Functional Simulation Netlist 4 开始仿真 菜单 Processing Start Simulation 如下图 图 10 输入设置 七 仿真波形分析七 仿真波形分析 如下图 5 经过分析 可知仿真结果与真值表相同 表 3 真值表 cinainbincoutsum 00000 00101 01001 01110 cin 1 ain 0 bin 0 其他类似不在一一分析 cout 0 sum 1 10001 10110 11010 11111 因此 仿真正确 八 硬件测试八 硬件测试 1 Assignments device 图 11 硬件选择 引脚锁定 参照下载实验板 1K100 的引脚号说明书 选择适当的引脚 如下图 图 12 引脚设置 2 引脚锁定后 保存 必须重新进行一次全程编译 编译通过后才能编程下载 3 编程下载 用下载线将计算机并口和试验箱上的 JTAG 口接起来 接通电源 选择 Tools Programmer 菜单 打开 programmer 窗口 在 mode 中选中 JTAG 将 Program Configure 下的笑方框选中 图 13 编程下载 4 在开始编程之前 必须正确设置编程硬件 点击 Hardware Setup 按钮 打开硬件设置口 图 14 设置编程硬件 点击 Add Hardware 打开硬件添加窗口 在 Hardware type 下拉框中选择 ByteBlasterMV or ByteBlaster II Port 下拉框中选择 LPT1 点击 OK 按钮确认 关闭 Hardware Setup 窗口 完成硬件设置 5 点击 Start 按钮 开始编程下载 图 15 编程下载 九 硬件测试结果九 硬件测试结果 硬件测试 根据真值表 本次实验中 将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 7 课时4 Section B (1a-1d) 阅读课课件-七年级英语下册
- IT系统外包合同
- 上海农庄外包合同
- 东丽区劳务外包合同
- 中小学食堂外包合同
- 义务外包合同
- 产品开发外包合同
- Unit 6 课时8 Project(大单元课时课件)英语新教材人教版八年级下册
- 公司员工餐外包合同
- 公司转签外包合同
- 县域医共体建设推进
- 腐蚀检测技术
- 风动工具使用安全培训课件
- GB/T 46544-2025航空航天用螺栓连接横向振动防松试验方法
- 第三单元+发展的纽带第7课天堑通途+课件+2025-2026学年沪书画版(五四学制)初中美术六年级下册
- 北京科技大学2024年研究生入学考试(冶金工程)冶金物理化学试题及答案
- DB64∕T 930-2024 灌木枝条制作园艺栽培基质技术规程
- 2025年湖南高考地理真题
- (正式版)DB23∕T 3297-2022 《严寒地区空气源热泵供暖系统技术规程》
- 《女性高血压管理专家共识(2025)》解读
- 碳13呼气试验课件
评论
0/150
提交评论