微电子电路——一位全加器
1.SPICE电路结构与网表
电路结构图:
SPICE网表:
*ADDER703.GLOBAL vdd!.OPTIONS LIST NODE POST.OP.TRAN 1N 8u.subckt or3 a b c ym0 net10 a 0 0 nch L=1U W=20U
m1 y net10 0 0 nch L=1U W=20U
m2 net10 c 0 0 nch L=1U W=20U
m3 net10 b 0 0 nch L=1U W=20U
m4 net14 b net033 net033 pch L=1U W=20U
m5 y net10 vdd! vdd! pch L=1U W=20U
m6 net10 c net14 net14 pch L=1U W=20U
m7 net033 a vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends or3.subckt and2 a b ym0 y net10 0 0 nch L=1U W=20U
m1 net10 a net3 net3 nch L=1U W=20U
m2 net3 b 0 0 nch L=1U W=20U
m3 y net10 vdd! vdd! pch L=1U W=20U
m4 net10 b vdd! vdd! pch L=1U W=20U
m5 net10 a vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends and2.subckt xor2 a b ym0 y a net27 net27 nch L=1U W=150U
m1 net27 b 0 0 nch L=1U W=150U
m2 y net11 0 0 nch L=1U W=150U
m3 net11 b 0 0 nch L=1U W=150U
m4 net11 a 0 0 nch L=1U W=150U
m5 net11 b net020 net020 pch L=1U W=5U
m6 net020 a vdd! vdd! pch L=1U W=5U
m7 net018 net11 vdd! vdd! pch L=1U W=5U
m8 net018 a y y pch L=1U W=5U
m9 net018 b y y pch L=1U W=5U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends xor2xi3 net13 net10 net7 cout or3
xi5 b cin net7 and2
xi4 cin a net10 and2
xi2 a b net13 and2
xi1 net14a cin sum xor2
xi0 a b net14 xor2VA a gnd PULSE 0 5 0N 1N 1N 1u 2u
VB b gnd PULSE 0 5 0N 1N 1N 2u 4u
VC cin gnd PULSE 0 5 0N 1N 1N 4u 8u
V1 vdd! 0 dc=5.measure tran tpdr trig v(a) val=2.5 rise=2 targ v(sum) val=2.5 fall=2
.measure tran tpdf trig v(a) val=2.5 rise=2 targ v(cout) val=2.5 fall=2
.measure tpd param='(tpdr+tpdf)/2'
.END
电路结构图:
SPICE网表:
*ADDER703.GLOBAL vdd!.OPTIONS LIST NODE POST.OP.TRAN 1N 8u.subckt or2 a b ym0 y 2 0 0 nch L=1U W=20U
m1 2 a 0 0 nch L=1U W=20U
m2 2 b 0 0 nch L=1U W=20U
m3 y 2 vdd! vdd! pch L=1U W=20U
m4 1 a vdd! vdd! pch L=1U W=20U
m5 2 b 1 1 pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends or2.subckt and2 a b ym0 y net10 0 0 nch L=1U W=20U
m1 net10 a net3 net3 nch L=1U W=20U
m2 net3 b 0 0 nch L=1U W=20U
m3 y net10 vdd! vdd! pch L=1U W=20U
m4 net10 b vdd! vdd! pch L=1U W=20U
m5 net10 a vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends and2.subckt nor2 a b ym0 y a 0 0 nch L=1U W=20U
m1 y b 0 0 nch L=1U W=20U
m2 y a 1 1 pch L=1U W=20U
m3 1 b vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends nor2.subckt or3 a b c ym0 net10 a 0 0 nch L=1U W=20U
m1 y net10 0 0 nch L=1U W=20U
m2 net10 c 0 0 nch L=1U W=20U
m3 net10 b 0 0 nch L=1U W=20U
m4 net14 b net033 net033 pch L=1U W=20U
m5 y net10 vdd! vdd! pch L=1U W=20U
m6 net10 c net14 net14 pch L=1U W=20U
m7 net033 a vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends or3.subckt and3 a b c ym0 y 1 0 0 nch L=1U W=20U
m1 1 a 2 2 nch L=1U W=20U
m2 2 b 3 3 nch L=1U W=20U
m3 3 c 0 0 nch L=1U W=20U
m4 y 1 vdd! vdd! pch L=1U W=20U
m5 1 c vdd! vdd! pch L=1U W=20U
m6 1 b vdd! vdd! pch L=1U W=20U
m7 1 a vdd! vdd! pch L=1U W=20U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends and3.subckt inv a ym0 y a 0 0 nch L=1U W=150U
m1 y a vdd! vdd! pch L=1U W=150U
.MODEL NCH NMOS LEVEL=1
.MODEL PCH PMOS LEVEL=1.ends invxi0 a b 1 or2
xi1 1 cin 2 and2
xi2 a b 3 and2
xi3 2 3 4 nor2
xi4 4 cout inv
xi5 a b cin 5 or3
xi6 4 5 6 and2
xi7 a b cin 7 and3
xi8 6 7 8 nor2
xi9 8 sum invVA a gnd PULSE 0 5 0N 1N 1N 1u 2u
VB b gnd PULSE 0 5 0N 1N 1N 2u 4u
VC cin gnd PULSE 0 5 0N 1N 1N 4u 8u
V1 vdd! 0 dc=5.measure tran tpdr trig v(a) val=2.5 rise=2 targ v(sum) val=2.5 fall=2
.measure tran tpdf trig v(a) val=2.5 rise=2 targ v(cout) val=2.5 fall=2
.measure tpd param='(tpdr+tpdf)/2'.END
2.电路仿真结果-基础部分
文件中:
修改后:
3.实验结果分析
一位全加器的真值表
实验结果与真值表吻合。
文件中-sum:
修改后-sum:
文件中-cout:
修改后-cout:
文件中&修改后-a:
文件中&修改后-b:
文件中&修改后-cin:
首先,根据真值表,可以写出如下的表达式:
然后分析两种电路:
两种电路均可实现全加器的功能
第一种已给的电路中,一共使用3个与门,2个异或门,1个或门,共使用6个门,一共46个晶体管
第二种电路中一共使用4个与门,2个或非门,2个或门,2个非门,共使用10个门
两电路图相比,第一个逻辑上更简单,容易理解,并且在实现上由于使用的门的个数更少,种类更少,并且每种门的输入数目相同,因此实现起来更方便;第二个电路逻辑上更复杂,虽然也能通过化简或真值表证明与第一种是相同的,但使用的门的种类和个数都更多,并且每种门有的是2输入的有的是3输入的,需要写成不一样的,晶体管就更多了,实现较麻烦
这一点可以从我们计算的延迟时间中看出来:
首先是文件中的电路和网表文件产生的延迟时间:
然后是我们修改后的电路得到的延迟时间:
可以看到,修改后的电路的延迟时间相对之前文件的延迟时间大了一点,这与我们的理论计算似乎有冲突。因为按照我们的计算,我们修改后的电路虽然所用的门比较多,但因为减少掉了一个xor门,所用的时间应该会比之前的短。这是因为,我们文件中的pmos和nmos的宽长比并不是固定的,而是有多组值,所以才导致了这样的结果。
微电子电路——一位全加器相关推荐
- 用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)
准备 先用行为级描述方式实现一个2输入一位全加器电路 由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的: 目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程 ...
- FPGA(2)--例化语句--1位全加器
文章目录 一.实验目的 二.实验内容 三.实验设计 四.实验结果及仿真 一.实验目的 熟悉元件封装方法,掌握层次化电路设计方法:掌握VHDL例化语句的设计方法. 二.实验内容 1.用VHDL语言设计1 ...
- FPGA实现1位全加器设计
文章目录 一.基础知识 1. 半加器 2. 全加器 二.原理图实现1位全加器 三.Verilog实现1位全加器 四.参考
- 试用一片3-8译码器74LS138和其它必要的门电路设计一个一位全加器, 被加数为Ai, 加数为Bi, 低位来的进位为Ci-1, 本位和为Si, 本位对高位的进位为Ci
(1)根据题目的描述, 列出真值表. 一位全加器真值表 Ai Bi Ci-1 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 1 0 1 0 1 ...
- FPGA——1位全加器和4位全加器的实现
目录 一.认识全加器 1.半加器 2.1位全加器 3.4位全加器 二.使用原理图实现1位加法器 1.原理图实现半加器 2.半加器元件实现全加器 三.使用原理图实现4位加法器 四.Verilog HDL ...
- 一位全加器 VHDL设计与实现
作者:chenjieb520 一.设计目的 熟悉Quartus II的VHDL文本设计流程全过程,学习组合电路的设计,仿真和测试. 二.设计内容 设计一位全加器,给出程序的设计.软件编译.仿真分析.硬 ...
- 第三次笔记:算术逻辑单元 电路基本原理 加法器的设计 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 无符号整数加减法 标志位的生成
文章目录 算术逻辑单元 逻辑运算 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 加法器原理 补码加法器原理 无符号整数加减法 标志位的生成 算术逻辑单元 算术逻辑单元就是运算器里面的AL ...
- 原理图以及vhdl设计一位全加器
原理图设计以及VHDL设计 一位加法器 全加器原理 全加器真值 输出表达式 原理图设计法 VHDL设计法 代码如下: 全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器.一位全加器 ...
- 广工计组实验f2一位全加器
实验原理 半加器设计原理:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器. 其中:a.b分别为被加数与加数,作为电路的输入端:s0为两数相加产生的本位和,它和两数相加产生的 ...
- 【计算机组成原理】一位全加器
一位全加器 在设计全加器的过程中,需要考虑如下两个问题: 如何产生相加数的和数 如何产生相加数的进位数 和数的逻辑实现 和为1:0+1=11+0=1和为0:0+0=01+1=0和为1: 0 + 1 = ...
最新文章
- 公开可看:CS224N 2021冬季课程全部上线YouTube,Manning主讲
- SurfaceView-----------------转
- php curl基本操作
- tensorboard出现OSError: [Errno 22] Invalid argument问题解决
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Android开发面试题之Android四大组件
- LeetCode 686. 重复叠加字符串匹配
- 2022年中国母婴新消费白皮书
- Python Pycharm 配置Tips01 - 配置Pycharm的Python版本
- 广西桂林平均工资是多少?
- 中关村程序员的 996 强制加班与工作效率成正比吗?
- c++实现Matlab矩阵Matrix类(实矩阵Matrix、复矩阵CMatrix)
- 由中缀式转化为后缀式
- 华为员工实力炫富,工作六年有房有豪车,存款六十万
- 医疗中的ai_医疗保健中自主AI的障碍
- 高速公路坐标高程计算软件3.5发布
- [堆利用:TCache机制]HITB CTF 2018:gundam
- grunt,gulp
- Ch8 电路噪声学习笔记(一)baker 《CMOS Circuit Design, Layout, and Simulation》
- pyinstaller打包有pandas和numpy库过程中遇到的bug及处理
热门文章
- 二叉树遍历算法(递归实现+层次遍历)
- 二叉树遍历——递归算法
- 山东大学软件学院计算机组成原理课程设计实验三
- 前端框架TopJUI使用心得
- Prescan:关于Prescan与Matlab联合仿真问题小总(不定时补充)
- matlab深度学习之LSTM预测
- Base64编码工具类
- 【昇润蓝牙】蓝牙4.0BLE模组(型号CC2541) 两个蓝牙之间互相通信的使用日志
- ToDesk安全流畅远控软件!
- iphone 控制 android手机,Apple iPhone使用Teamviewer远程控制Android手机以实现各种操作,例如远程计时....