nullVLSI实验演示*VLSI实验演示
SUBC的全定制
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
姓名:殷富有
学号:GS12062448主要内容*主要内容Subc的功能
总体设计结构
电路图设计 ----加法器
电路图设计 ----数据选择器
功能验证
时序分析
版图设计
Subc功能*Subc功能Description: subtract src2 from src1.If result is greater than or equal to zero,left shift result and add 1 to it.Place the result in dst.This step is commonly used in division.
Subc功能*Subc功能Execution:
if(cond){
if(src1-src2 >= 0)
((src1-src2)<<1)+1 →dst
else src1<<1 →dst
}
else
nop
Subc功能*Subc功能Example:
总体设计结构*总体设计结构总体设计结构描述*总体设计结构描述 SUBC指令的实现需要用到加法器和数据选择器,通过两个操作数相加得到的最高位判断选择哪个数据,若(src1-src2)的最高位为0,则选(src1-src2)的低31位连接到dst[31:1], (src1-src2)的最高位取反连接到dst[0];否则,选src1的低31位连接到dst[31:1], (src1-src2)的最高位取反连接到dst[0],这样可以巧妙的隐含了移位、加1操作。当cond为1时执行操作,否则,执行空操作。 电路图设计---加法器* 电路图设计---加法器加法器设计原理:
设一个n位的加法器的第i位输入为ai、bi、ci,输出si和ci+1,其中ci是低位来的进位,ci+1(i=n-1,n-2,…,1,0)是向高位的进位,c0是整个加法器的进位输入,而cn是整个加法器的进位输出。电路图设计---加法器(续)*电路图设计---加法器(续)则
si = ai⊕bi⊕ci 式(2-1)
ci+1 = ai· bi + ci·(ai⊕bi) 式(2-2)
令:
gi = ai· bi 式(2-3)
pi = ai⊕bi 式(2-4)
则:
ci+1 = gi + ci·pi 式(2-5)
电路图设计---加法器(续)*电路图设计---加法器(续)原理图电路图设计----数据选择器*电路图设计----数据选择器选择器设计原理:数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关,其示意图如下:
电路图设计----数据选择器(续)*电路图设计----数据选择器(续)二选一选择器原理图:功能验证*验证流程:功能验证功能验证(续)*功能验证(续)32位加法器验证:功能验证(续)*功能验证(续)32位数据选择器:
功能验证(续)* 功能验证(续)最终subc指令验证时序分析*时序分析步骤:
(a)先用前面验证过程编写的激励在NC-verilog中运行,产生subc.vcd文件;
(b)利用前面所做实验的方法生成subc.vec文件;
(c)修改好相关配置文件,在nanosim环境下运行run_nanosim生成subc.fsdb文件;
(d)在终端运行cscope,打开cscope波形查看工具,分别添加subc.vcd和subc.fsdb文件,对比波形,做时延分析等;
版图设计*版图设计层次化设计版图,首先调用标准单元(inv、or等),再由标准单元构成4位add → 16位add → 32位add 及1位选择器 → 32位选择器,最后构成Subc版图;并且每个子模块都要求DRC和LVS通过。 Add32版图*Add32版图32位二选一数据选择器版图*32位二选一数据选择器版图Subc版图*Subc版图Subc版图lvs结果*Subc版图lvs结果null*
演示完毕
谢谢!