减法器
更新时间:2024-06-12 00:54:01 阅读量: 综合文库 文档下载
目 录
第1章 概述.................................................................................................................. 1 1.1 EDA技术及其发展 ............................................................................................. 1 1.2 Quartus II 软件介绍 ............................................................................................ 1 第2章 减法器的设计.................................................................................................. 3 2.1半减器的设计 ...................................................................................................... 3 2.2 全减器的设计 ..................................................................................................... 5 2.3八位全减器的设计 .............................................................................................. 7 第3章 引脚锁定和编程下载.................................................................................... 10 3.1引脚锁定 ............................................................................................................ 10 3.2编程下载 ............................................................................................................ 10 结 论............................................................................................................................ 12 参考文献...................................................................................................................... 13
I
第1章 概述
1.1 EDA技术及其发展
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
1.2 Quartus II 软件介绍
Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合
1
器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
2
第2章 减法器的设计
2.1半减器的设计
要想设计出8位全减器,首先设计出最基础的半减器,根据半减器推出一位全减器,8个一位全减器串在一起,即可得8位全减器了。我们根据半减器的功能列出真值表:
表2-1半减器真值表
a 0 0 1 1 b 0 1 0 1 c 0 1 1 0 s 0 1 0 0
由真值表可得到c和s逻辑的表达式:
c?ab
s?ab?ab?a?b
___
根据半减器的逻辑表达式,在quartus ii中画出器电路原理图为:
前面两个input是输入数据分别用a,b表示,中间的的not代表‘非’门,and2是‘与’门,‘非’a‘与’b表示借位输出用c表示,xor表示异或,a异或b表示本为输出为s。
图2-1 半减器仿真电路图
对半减器测试其功能的正确性,即逻辑仿真,建立波形图,输入信号节点,设置波形参量,设定仿真时间宽度,加上输入信号,波形文件存盘,运行仿真器,结果如下:
3
图2-2半减器的波形图
经测试原理图是正确的,然后对其进行封装:
图2-3 半减器封装图
根据半减器的逻辑表达式,用VHDL语言来实现半减器设计,其程序代码:
--h_suber
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_suber IS
PORT(x,y: IN STD_LOGIC; diff,s_out:OUT STD_LOGIC); END h_suber;
ARCHITECTURE behav OF h_suber IS BEGIN
diff<=x XOR y;
s_out<=(NOT x) AND y; END behav; --end h_suber
4
2.2 全减器的设计
全减器考虑低位向本位的借位。一位全减器有三个输入、两个输出,见图2-4。图中的“借位入”即低位向本位的借位,也就是低位的“借位出”。
(被减数)Ai
(减数)Bi
(借位入)Ci-1
(差)Si(N-1..0)
全减器 (借位出)Ci
图2-4 一位全减器示意图
表2-2为一位全减器真值表,由此表可写出一位全减器关于Ci与Si的逻辑表达式:
ci?abci?1?abci?1i?abci?1i?ab?(ab?ab)ci?1
______s?abci__i?1?abci?1i?abci?1?a?b?ci?1
表2-2 全减器真值表 输入 Ci-1 0 0 0 0 1 1 1 1 Bi 0 0 1 1 0 0 1 1 Ai 0 1 0 1 0 1 0 1 Di 0 1 1 0 1 0 0 1 输出 Ci 0 0 0 1 0 1 1 1 _?
根据全减器逻辑表达式其仿真电路图如下:前面3个输出分别用a,b,Ci-1表示,中间是上面的两个半减器(a,b输入,s,c输出)和一个‘与’门最后是两个输出用Si和Ci表示。
图2-5 全减器仿真电路图
5
对全减器测试其功能的正确性,即逻辑仿真,建立波形图,输入信号节点,设置波形参量,设定仿真时间宽度,加上输入信号,波形文件存盘,运行仿真器,结果如下:
图2-6全减器波形图
观察其仿真结果,得出原理图是正确的,然后对其进行封装:
图2-7全减器封装图
根据全减器逻辑表达式,用VHDL语言来实现全减器设计,其程序代码: --f_suber
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_suber is
PORT(fx,fy,sub_in:IN STD_LOGIC; diffr,sub_out:OUT STD_LOGIC); END ENTITY f_suber;
ARCHITECTURE behav OF f_suber IS COMPONENT h_suber
PORT(x,y : IN STD_LOGIC; diff,s_out:OUT STD_LOGIC);
6
END COMPONENT; SIGNAL a,b,c : STD_LOGIC; BEGIN
u1:h_suber PORT MAP(x=>fx,y=>fy,diff=>a,s_out=>b); u2:h_suber PORT MAP(x=>a,y=>sub_in,diff=>diffr,s_out=>c); sub_out<=b AND c; END behav; --end f_suber
2.3八位全减器的设计
一位全减器在上面已经设计出来了,现在我们把这8个一位全减器串行,即可得到8位全减器了。其原理图如下:因为是8位全减器,在减的时候需要借位,所以有17个输入,分别对应连接8个全减器的输入,后面是9个输出,表示其结果。
图2-8八位全减器逻辑电路图
7
对8位全减器测试其功能的正确性,即逻辑仿真,建立波形图,输入信号节点,设置波形参量,设定仿真时间宽度,加上输入信号,波形文件存盘,运行仿真器,结果如下
图2-9八位全减器波形图
根据全减器的设计,将其8个串行连接即可得8位全减器,用VHDL语言实现八位全减器仿真函数其程序代码如下:
--f_suber8 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_suber8 IS
PORT(fx8,fy8 :IN STD_LOGIC_VECTOR(7 DOWNTO 0); sub_in8: IN STD_LOGIC;
diff8: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); s_out8: OUT STD_LOGIC); END ENTITY f_suber8;
8
ARCHITECTURE behav OF f_suber8 IS COMPONENT f_suber
PORT(fx,fy,sub_in:IN STD_LOGIC; diffr,sub_out:OUT STD_LOGIC); END COMPONENT;
SIGNAL s_outs: STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN
u1 : f_suber PORT
MAP(fx=>fx8(0),fy=>fy8(0),sub_in=>sub_in8,diffr=>diff8(0),sub_out=>s_outs(0)); u2 : f_suber PORT
MAP(fx=>fx8(1),fy=>fy8(1),sub_in=>s_outs(0),diffr=>diff8(1),sub_out=>s_outs(1)); u3 : f_suber PORT
MAP(fx=>fx8(2),fy=>fy8(2),sub_in=>s_outs(1),diffr=>diff8(2),sub_out=>s_outs(2)); u4 : f_suber PORT
MAP(fx=>fx8(3),fy=>fy8(3),sub_in=>s_outs(2),diffr=>diff8(3),sub_out=>s_outs(3)); u5 : f_suber PORT
MAP(fx=>fx8(4),fy=>fy8(4),sub_in=>s_outs(3),diffr=>diff8(4),sub_out=>s_outs(4)); u6 : f_suber PORT
MAP(fx=>fx8(5),fy=>fy8(5),sub_in=>s_outs(4),diffr=>diff8(5),sub_out=>s_outs(5)); u7 : f_suber PORT
MAP(fx=>fx8(6),fy=>fy8(6),sub_in=>s_outs(5),diffr=>diff8(6),sub_out=>s_outs(6)); u8 : f_suber PORT
MAP(fx=>fx8(7),fy=>fy8(7),sub_in=>s_outs(6),diffr=>diff8(7),sub_out=>s_out8); END behav; --end f_sube
9
第3章 引脚锁定和编程下载
3.1引脚锁定
要想把八位全减器连接实验箱下载到芯片中,就要对八位全减器的元件进行引脚分配,做进一步的硬件测试,以便最终了解设计项目的正确性。在Assigment菜单中单击pins即出现如下引脚添加图,添加结果如下:
图2-10八位减法器引脚分配图
3.2编程下载
编程下载指将编程数据放到具体的可编程器件中去。如果以上的所有过程,包括编译、综合和行为仿真、功能仿真、时序仿真都没有发现问题,即满足原设计的要求,就可以将适配器产生的配置通过CPLD下载电缆载入目标芯片中。
器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。 上面引脚已经锁定,可以进行编程下载了。
(1) 用下载电缆把计算机的打印口与目标板连接好并打开电源。
10
(2) 选择tools项中的programmer选项,跳出编程器窗口,然后点start开始下载。 其结果如下:
图2-11下载成功图
然后通过对实验箱的操作,把实验导线照引脚分配图连接好。给a0,b0一个高电平,观察实验现象得出和理论结果一致,所以8位全减器功能编程成功。
11
结 论
通过此次实验我学到了好多东西。事前写好设计项目的VHDL设计文件.熟悉实验箱的用法,对实验设计过程的各个步骤要做到心中有数,遇到不理解的地方,一定要向同学或老师问清楚,明确各个具体的操作步骤和详细的过程.熟悉EDA设计的完整流程.仔细思考可能出现和已经出现的问题,独立解决.比如下载出现异常,如何处理.实验的时候出现这种情况,经过检查发现是接口有问题,更换后,能成功的下载和进行硬件测试,得到正确的结果.在此过程,做好引脚设置也是关键
进行波形仿真时仿真时间不宜过短,各信号周期也不宜过短.因为时间过短会使周期时间与故有的延迟时间处在一个数量级上,影响自己对结果正误的判断。下载芯片要和实验箱相匹配,引脚绑定和实验箱上的芯片相匹配.工程名不可以用中文,与工程相关的文件要放在同一个文件夹下,且文件名实体名要一致
12
参考文献
[1] 包明等.EDA技术与数字系统设计[M].北京:北京航空航天大学出版社,2002. [2] 杨恒.FPGA/CPLD最新实用技术指南[M].北京:清华大学出版社,2005.
[3] EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005. [4] 求是科技.CPLD/FPGA应用开发技术与工程实践[M].北京:人民邮电出版社,2005. [5] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2009.
13
正在阅读:
减法器06-12
单片机原理及应用课后习题答案 雷娟版 冶金工业出版社 - 图文09-21
2013学年二年级上册复习课集体备课句子专项训练(四)11-02
什么叫结构化面试12-31
新能源汽车的底盘设计思路03-19
山东省日照市2016届高考化学二模试卷 Word版含解析07-04
第一部分 第二单元 第三课 第二框 文化在交流中传播05-12
开题报告--佘林策05-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 法器
- 镭雕培训手册 - 图文
- 2013年“深圳杯”数学建模A题论文
- 盲派论命用神煞
- 安徽省阜阳市太和县一中2013-2014学年高二(上)期中试卷
- 2017人教版八上英语完成句子专项练习
- 山东省师大附中2018届高三下学期第八次模拟考试数学文
- 2019香港差饷对我国物业税的启发 doc
- 北京大峪中学05-06期末高二世界近现代史上册试题-人教版
- 会考三角函数专项训练二
- 水电安装资料样本 - 图文
- 企业国际化经营的政治风险及其对策分析
- 人教版七年级数学下册期末试卷(含答案)
- 青铜峡市建材专业市场调查报告
- 实验课观摩
- 个人知识管理的新视角探究
- 商业地产项目策划招商“两部曲”
- 三极管进料检验规范A00 - 图文
- 高三2班化学每日一练(1月1号)
- 2014企业读书活动方案
- 安全生产技术交底制度