大规模集成电路设计答案(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
`CMOS反相器电路图、版图、剖面图
CMOS的广泛使用,是由于解决了latch-up效应
Latch-up效应解释、原理、解决方法(略)
避免栅锁效应方法:用金掺杂或中子辐射,降低少数载流子寿命;深阱结构或高能量注入形成倒退阱;将器件制作于高掺杂衬底上的低掺杂外延层中;沟槽隔离。
在基体(substrate)上改变金属的掺杂,降低BJT的增益
•避免source和drain的正向偏压
•增加一个轻掺杂的layer在重掺杂的基体上,阻止侧面电流从垂直BJT到低阻基体上的通路
•使用Guard ring: P+ ring环绕nmos并接GND;N+ ring环绕pmos 并接VDD,一方面可以降低Rwell和Rsub的阻值,另一方面可阻止栽子到达BJT的基极。如果可能,可再增加两圈ring。
• Substrate contact和well contact应尽量靠近source,以降低Rwell和Rsub的阻值。•使nmos尽量靠近GND,pmos尽量靠近VDD,保持足够的距离在pmos 和nmos之间以降低引发SCR的可能
•除在I/O处需采取防Latch up的措施外,凡接I/O的内部mos 也应圈guard ring。• I/O处尽量不使用pmos(nwell)
门级电路图(AOI221)
AOI221=(AB+CD+E)’
伪NMOS:
伪NMOS的下拉网络和静态门的下拉网络相似,上拉网络是用一个PMOS管,且此管输入接地,因此PMOS管总是导通的。
动态电路:
动态电路用一个时钟控制的PMOS管取代了总是导通的PMOS管,克服了有比电路的缺点。动态电路速度快,输入负载小,切换时不存在竞争电流,而且动态电路没有静态功耗。
动态电路存在的根本性问题就是对输入单调性的要求。
多米诺电路:
多米诺电路由一级动态门和一级静态CMOS反相器构成。典型结构:
下拉网络+上拉预充值网络+反相器构成
过程就是充值+求值的过程
在多米诺电路中,所有门的预充、求值都可以用一个时钟控制。求值期间,动态门的输出单调下降,所以静态反相器的输出单调上升。多米诺电路是同时进行预充,但求值是串行的。逻辑功效(logic effort)
逻辑功效定义为门的输入电容与能够提供相同输出电流的反相器的输入电容的比值。也就是说逻辑功效表示某个门在产生输出电流时相比反相器的糟糕程度。逻辑功效不仅使我们能容易计算时延,它也向我们展示了如何确定晶体管的尺寸以优化路径中的延时。
组合逻辑延迟由门延迟和路径延迟组成。
怎样优化延迟?
优化门延迟:
1、可以加大驱动门的晶体管尺寸
2、重新设计逻辑以减少门的扇出
优化路径延迟:
减少最长延迟的唯一办法就是提高关键路径的逻辑门的工作速度。可以通过增加晶体管尺寸或减小连线电容来实现。
时序逻辑电路
状态机:摩尔机、米莉机
建立时间、保持时间
传输延迟、污染延迟
传输延迟时间:tpd=从输入信号跨越50%到输出信号跨越50%所需的最大时间污染延迟时间:tcd=从输入信号跨越50%到输出信号跨越50%所需的最小时间什么情况下考虑建立/保持时间?
跨时钟域、异步电路中的亚稳态问题
解决亚稳态的措施
1 降低系统时钟
2 用反应更快的FF
3 引入同步机制,防止亚稳态传播
4 改善时钟质量,用边沿变化快速的时钟信号
关键是器件使用比较好的工艺和时钟周期的裕量要大。
处理跨时钟域时采用FIFO,或双端口SRAM,或格雷编码传递数据。
格雷编码的好处优点?
格雷码(Gray code),又叫循环二进制码或反射二进制码在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。
因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同。它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。
设计时序电路时,同步时序电路其复位策略?
同步复位、异步复位的概念?
Verilog HDL集成电路设计时,同步复位的策略。
同步复位:复位信号起效时钟控制的到来敏感;
异步复位:复位控制对时钟不敏感;
同步策略:
use ieee.std_logic_unsigned.all;
entity count_10 is
port(clk,rst,en,up: in std_logic;
sum: out std_logic_vector(3 downto 0);
cout: out std_logic);
end;
architecture cnt_10 of count_10 is
signal count: std_logic_vector(3 downto 0);
begin
process(clk)
begin
if rising_edge(clk) then
if (rst='0') then
count<=(others=>'0');
elsif en='1' then
case up is
when '1'=>count<=count+1;
when others=>count<=count-1;
end case;
if (count>=9) then
count<=(others=>'0');
end if;
end if;
end if;
end process;
sum<=count;
cout<='1' when en='1' and ((up='1' and count=9)or(up='0' and count=0) )else '0';
end;
异步策略:
use ieee.std_logic_unsigned.all;
entity count_10 is
port(clk,rst,en,up: in std_logic;
sum: out std_logic_vector(3 downto 0);
cout: out std_logic);
end;
architecture cnt_10 of count_10 is
signal count: std_logic_vector(3 downto 0);
begin
process(clk)
begin
if (rst='0') then
count<=(others=>'0');
elsif rising_edge(clk) then
if en='1' then
case up is
when '1'=>count<=count+1;
when others=>count<=count-1;
end case;