集成电路与智能系统创新基地测试题 (2009 暑期 ) 班级姓名电话 email: 模拟电子技术部分 一 电路如图所示 设 A ~A 4 为理想运放, 三极管 T 的 V CES =0,I CEO =0.A ~A 4 各组成什么电路? 2. 设 t = 0 时, 电容器上的初始电压 v C (0) = 0 求 t = s 和 t = 2 s 和 E 各点对地的电压 时,A B C D.A 组成减法运算电路,A 2 组成积分运算电路,A 3 组成反相器,A 4 组成电压比较器 t va v3 vb = ( + ) dt 2. C 0 R3 R2, 有 t/s v A /V v B /V v C /V v D /V v E /V 0.3-3 3 6 0 2 0.3-6 6-6 9 二 电路如图所示,A 和 A 2 均为理想器件, V z =5V 系 );. 试画出 v 及 v o o2 的波形 ( 注意相位关 2. 求出的 v 和 v o o2 幅值 ; 3. 求出 v o 的周期. o2 向正方向变 ) v 为方波, v o 为三角波 ( v o2 为高电平时, v o 由正向负方向变 ; 反之, v o 由负 2. o v v o2 的幅值都为 ±5V 3. v o 的周期 T=0.2ms 三 电路如图所示,A A 2 为理想运放
. 为使电路满足起振的幅值条件,R f 应如何选择? 2. 为使电路产生 00Hz 的正弦波振荡,R 应该选多大? 3. 现有一个具有正温度系数的热敏电阻 R f, 为了稳幅, 可将它替换哪个电阻 ( 假设它与被替换电阻的阻值相同 )? 4. 若 V O 的峰值等于 5V, 试对应画出 V O 和 V O2 的波形图, 并标明它们的幅值 A. R R f f = + 3 2 R f 2R R R V = 40K f = 2. 2πRC 3. 替换 R R = 2πcf = 2π 0. 0 6 = 5. 9 = 6( KΩ ) 00 V0 = VP2 = 2V + ( ± 6V ) = V ± 3V 2 2 4. Vth = 4V Vth2 = 2V 数字电子技术部分 四 如图所示, 为检测水箱的液位, 在 A B C 三个地方安置了三个水位检测元件, 当水面低于检测元件时, 检测元件输出低电平, 水面高于检测元件时, 检测元件输出高电平 试用与非门设计一个水位状态显示电路, 要求 : 当水面在 A B 之间的正常状态时, 仅绿灯 G 亮 ; 水面在 B C 间或 A 以上的异常状态时, 仅黄 Y 灯亮 ; 水面在 C 以下的危险状态时, 仅红灯 R 亮 真值表如表所示, 各逻辑函数的与非 - 与非表达式分别为 A B C R = C Y = A+ BC = A BC G = AB 逻辑图略 表 A B C R Y G 0 0 0 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0 0 0 0 五 发由全加器 FA 2-4 线译码器和门电路组成的逻辑电路如图 a 所示 试在图 b 中填写输出逻辑函数 L 的卡诺图并化简 a S i b C i CI FA CO C i & & L L c E Y 0 & b d c A 0 A Y Y 2 Y 3 a d (a) (b) L c a 0 0 0 d b 六 逻辑电路如图 4 所示, 试画出 Q 0 Q Q 2 的波形 设各触发器初态为 0 J C K Q 0 J C K Q J C K Q 2 = CP FF 0 FF FF 2 CP 驱动方程 :J 0 =Q 2 K 0 =, J = K = Q 2 Q 0, J 2 = K 2 = Q + Q0 波形图如图 A4 3
七 由 555 定时器组成的脉冲电路及参数如图 8 a 所示 已知 v I 的电压波形如图 b 所示 试对应 v I 画出图中 v O v O2 的波形 ; +5V v I υ I 4 7 6 2 8 4 555 () 3 5 0.0μF R 5 kω 8 4 v O R 2 7 3 47kΩ 555 6 (2) 2 5 C 0.0μF 0.0μF (a) v O2 0 υ I /V 5 0 5 20 25 t/ms 4 0/3 5/3 0 5 0 5 20 25 t/ms υ O O υ O2 t/ms O t/ms 4
电路理论部分 八 如下图示含理想运算放大器电路, 试计算电路的电压增益 九 求如下图所示的一端口网络的输入电阻 5
十 采用节点电压法计算下左图电路的电流 6
十一 7
8
数字电路设计与 FPGA 部分 十二 看下面原理图, 写出相应 VHDL 描述 xin INPUT DFF OR DFF clk INPUT D Q D Q OUTPUT yout LIBARRY IEEE; USE IEEE.STD_LOGIC_64.ALL; ENTITY MYCIR IS PORT ( XIN, CLK : IN STD_LOGIC; YOUT : OUT STD_LOGIC); END MYCIR; ARCHITECTURE ONE OF MYCIR IS SIGNAL A, B, C; BEGIN B <= XIN OR A; PROCESS (CLK) BEGIN IF CLK EVENT AND CLK = THEN A <= C; C <= B; END IF; END PROCESS; YOUT <= C; END ONE; 十三 下图是一个 A/D 采集系统的部分, 要求设计其中的 FPGA 采集控制模块, 该模块由三个部分构成 : 控制器 (Control) 地址计数器(addrcnt) 内嵌双口 RAM(adram) 控制器 (control) 是一个状态机, 完成 AD574 的控制, 和 adram 的写入操作 adram 是一个 LPM_RAM_DP 单元, 在 wren 为 时允许写入数据 试分别回答问题 信号预处理 放大采样 / 保持 AnalogIn AD574 ADData 8 STATUS CS CE A0 RC K2_8 Control rddata 8 wren ClkInc adram (lpm_ram_dp) 6 地址计数器 wraddr 8 rddata rdaddr 6 Cntclr CLK FPGA 采集控制 下面列出了 AD574 的控制方式和控制时序图 : AD574 逻辑控制真值表 (X 表示任意 ) CE CS RC K2_8 A0 工作状态 0 X X X X 禁止 X X X X 禁止 0 0 X 0 启动 2 位转换 0 0 X 启动 8 位转换 0 X 2 位并行输出有效 9
0 0 0 高 8 位并行输出有效 0 0 低 4 位加上尾随 4 个 0 有效 问题 : AD574 工作时序. 要求 AD574 工作在 8 位转换模式,K2_8 A0 在 control 中如何设置? 2. 试画出 control 的状态机的状态图 3. 地址计数器每当 ClkInc 时钟上升沿到达, 输出地址加, 请对该模块进行 VHDL 描述 4. 根据状态图, 试对 control 进行 VHDL 描述 K2_8 低电平 ;A0 高电平 2 3 Library ieee; Use ieee.std_logic_64.all; Use ieee.std_logic_unsigned.all; Entity cnt64 is Port ( ClkInc, Cntclr : in std_logic; -- 时钟信号和清零信号输入 Wraddr : out std_logic_vector (5 downto 0) ); End cnt64; Architecture one of cnt64 is Process (clkinc, cntclr) Variable counter : std_logic_vector (5 downto 0); If cntclr = then counter := (others => 0 ); Elsif clkinc = and clkinc event then counter := counter + ; 0
Wraddr <= counter; End process; End one; 4 Library ieee; Use ieee.std_logic_64.all; Use ieee.std_logic_unsigned.all; Entity control is Port ( CLK, STATUS : in std_logic; -- 时钟信号和 AD 转换状态信号输入 ADDATA : in std_logic_vector (7 downto 0); -- 转换数据输入 CS, CE, A0, RC, K2_8 : out std_logic; -- AD574 控制信号 ClkInc : out std_logic; -- 地址计数器时钟信号 rddata : out std_logic_vector (7 downto 0) ); -- 转换数据输出 End control; Architecture behave of control is Type sm_state is (s0, s, s2, s3, s4); Signal c_st, n_st : sm_state; Signal lock : std_logic; Signal regdata : std_logic_vector(7 downto 0); K2_8 <= 0 ; A0 <= ; Process (clk) If clk event and clk = then c_st <= n_st; end if; End process; Process (c_st, status) Case c_st is When s0 => n_st <= s; rc <= ; ce <= 0 ; cs <= ; lock <= 0 ; When s => n_st <= s2; rc <= 0 ; ce <= ; cs <= 0; lock <= 0 ; When s2 => if status = 0 then n_st <= s3; else n_st <= s2; Rc <= ; ce <= cs <= 0 ; lock <= 0 ; When s3 => n_st <= s4; rc <= ; ce <= ; cs <= 0 ; lock <= ; When s4 => n_st <= s0; rc <= ; ce <= ; cs <= 0 ; lock <= 0 ; When others => n_st <= s0; End case; End process; Process (lock) If lock event and lock = then Regdata <= addata; Clkinc <= ; Else Clkinc <= 0 ; End process; Rddata <= regdata; End behave; 十四 已知状态机状态图如图 (a) 所示 ; 完成下列各题 :
. 试判断该状态机类型, 并说明理由 2. 根据状态图, 写出对应于结构图 (b), 分别由主控组合进程和主控时序进程组成的 VHDL 有限状态机描述 3. 若已知输入信号如下图所示, 分析状态机的工作时序, 画出该状态机的状态转换值 (current_state) 和输出控制信号 (outa); 4. 若状态机仿真过程中出现毛刺现象, 应如何消除 ; 试指出两种方法, 并简单说明其原理 该状态机为 moore 型状态机, 输出数据 outa 和输入 ina 没有直接逻辑关系,outa 是时 钟 clk 的同步时序逻辑 2 Library ieee; Use ieee.std_logic_64.all; Entity mooreb is Port (clk, reset : in std_logic; Ina : in std_logic_vector ( downto 0); Outa : out std_logic_vector (3 downto 0) ); End mooreb; Architecture one of mooreb is Type ms_state is (st0, st, st2, st3); Signal c_st, n_st : ms_state; Process (clk, reset) If reset = then c_st <= st0; Elsif clk event and clk = then c_st <= n_st; End process; Process (c_st) Case c_st is 2
When st0 => if ina = 00 then n_st <= st0; Else n_st <= st; Outa <= 00 ; When st => if ina = 00 then n_st <= st; Else n_st <= st2; Outa <= 000 ; When st2 => if ina = then n_st <= st0; Else n_st <= st3; Outa <= 00 ; When st3 => if ina = then n_st <= st3; Else n_st <= st0; Outa <= 0 ; When others => n_st <= st0; End case; End process; End one; 3 4 方法, 添加辅助进程对输出数据进行锁存方法 2, 将双进程状态机改写为单进程状态机, 其输出也是锁存过了, 故能消除毛刺方法 3, 使用状态位直接输出型状态机编码方式, 其输出直接由当前状态输出, 也没有毛刺 3