34:给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入, 使得输出依赖于关键路径?
35:为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?
和载流子有关,P管是空穴导电,N管是电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等。
36:用mos管搭出一个二输入与非门?
<数字电子技术基础>49页
37:画出NOT,NAND,NOR的符号,真值表,还有transistor level的电路?
省略
38:画出CMOS的图,画出tow-to-one mux gate.(威盛VIA 2003.11.06 上海笔试试题) ?
39:用一个二选一mux和一个inv实现异或?
其中:B连接的是地址输入端A和A非连接的是数据选择端,F对应的的是输出端,使能端固定接地置零(没有画出来).
40:画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子)?
41:用与非门等设计全加法器?(华为)
《数字电子技术基础》57页。 ; .
42:A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,E中1的个数比0 多,那么F输出为1,否则F为0),用与非门实现,输入数目没有限制?
F= ABC + ABD + ABE +ACD + ACE+ ADE + BCD + BCE + CDE + BDE
43:画出一种CMOS的D锁存器的电路图和版图?
44:LATCH和DFF的概念和区别?
45:latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的?
latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。
46:用D触发器做个二分频的电路?画出逻辑电路?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity two_de_fre is
port(clk: in std_logic;
reset:in std_logic;
clk_out: out std_logic) ;
end two_de_fre;
architecture Behavioral of two_de_fre is
signal sig_clk: std_logic;
begin
process(clk)
begin
if(reset = '1') then
sig_clk <= '0';
elsif(clk'event and clk = '1') then
sig_clk <= not sig_clk;
end if;
end process;
clk_out <= sig_clk;
end Behavioral;
显示工程设计中一般不采用这样的方式来设计,二分频一般通过DCM来实现。通过DCM得到的分频信号没有相位差。
47:什么是状态图?
状态图是以几何图形的方式来描述时序逻辑电路的状态转移规律以及输出与输入的关系。
48:用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity seven_counter is
port(reset:in std_logic;
clk: in std_logic;
counter_out std_logic_vector(2 downto 0));
end seven_counter;
architecture Behavioral of seven_counter is
signal sig_counter : std_logic_vector(2 downto 0);
begin
process(reset,clk)
begin
if(reset = '1') then
sig_count <= "101" ; --初值为5
elsif(clk'event and clk = '1') then
sig_count <= sig_count + 1;
end if;
end process;
counter_out <= sig_counter;
end Behavioral;
15进制计数器设计只需将counter_out和sig_counter改为4位就行;