56A 1 B 1 C 1 D 1 a b c d e f g f e a b g c d 图P10.6 解: 可以得出函数表达式: (1) a?ABC?ABD?ACD?BCD b?ACD?CD?AB?BC c?BC?AB?BD d?BCD?BD?CD?BC e?BD?CD f?ABC?BCD?CD?BCD g?ABC?BCD?BC?BC (2) ABCD从0000~1111变化时七段LED数码管相应显示0,1,…,9和如下 六种图形: 10.7 试说明GAL和PROM在电路结构上有何不同。 答: PROM是采用固定的与阵列和可编程的或阵列组成的PLD,由于输入变量的增加,会引起存储容量的急剧上升,只能用于简单组合电路的编程。 GAL沿用了PAL或阵列固定与阵列可编程结构,而对PAL的输出I/O结构进行了改进,增加了输出逻辑宏单元OLMC(outputLogicMacroCell),OLMC设有多种组态,使得每个I/O引脚可配置成专用组合输出,组合输出双向口,寄存器输出,寄存器输出双向口,专用输入等多种功能,为电路设计提供了极大的灵活性。
10.8 试配置GAL OLMC(12)的五种工作模式,画出电路图。 答:可以得出如下: SYN AC0 AC1(n) 工作模式 备 注
1 0 1 专用输入
实现组合逻辑电路。 1 0 0 专用组合输出
第1和11管脚作为数据输入端。 1 1 1 反馈组合输出
0 1 1 时序组合输出 实现时序逻辑电路。
0 1 0 寄存器输出 第1和11管脚分别是CK和OE 其
图如下:
电路
OLMC I/O(n) I/O(m) (a) 专用输入 VCC OLMC I/O(n) OLMC I/O(n) XOR (n) XOR (n) (b) 专用组合输出
I/O(n) (c) 反馈组合输出
OLMC C1 Q 1D I/O(n) XOR (n) CK OLMC XOR (n) CK Q OE OE (d) 时序组合输出 (e) 寄存器输出
图10.1.7 OLMC的5种工作模式
10.9 试用GAL16V8器件实现一个3线-8线译码器。
解:3线-8线译码器有3个输入A、B、C,8个低电平有效的输出Y0~Y7,3个使能输入端:高电平有效的EN1和低电平有效的EN2A、EN2B,1个低电平有效的输出使能端OE。当OE=0时,有
Y0?EN1EN2AEN2BABC,Y1?EN1EN2AEN2BABC,Y2?EN1EN2AEN2BABC,
Y3?EN1EN2AEN2BABC,Y4?EN1EN2AEN2BABC,Y5?EN1EN2AEN2BABC, Y6?EN1EN2AEN2BABC,Y7?EN1EN2AEN2BABC
由上面8个表达式可知每个输出都是一个乘积项,就此编程可得一个三态的三线-八线译码器。编程后GAL16V8內部结构如下图所示:
(1) (19)Y0 OE(2) (18)Y1 A(3) (17)Y2 B(4) (16)Y3 C(5) (15)Y4 EN1(6) (14)Y5 EN2A(7) (13)Y6 EN2B(8) (12)Y7 (7) (11)
10.10 试用GAL16V8器件设计一个十进制同步加法计数器。
解: 计数器应具有清零端 CLR,设CLR为高电平清零、为低电平计数器使能。设计数脉冲的输入端为CLK。具有加计数功能,且能自启动。当 OE=0 时,计数器输出计数结果;OE=1 时,计数器的输出呈高阻态。
用GAL16V8实现十进制加法计数器的参考框图如下:
CLK CLR OE
1 14 2 15 11 16 17 GAL16V8 Q3 Q2 Q1 Q0
用GAL16V8实现十进制加法计数器的VHDL源程序如下:
module GAL16V8 10P title 'decimal counter cnt 10p device 'GAL16v8'; Clk,Clr,OE pin 1, 2, 11;
Q3,Q2,Q1,Q0 pin 14, 15, 16, 17 istype 'reg_D, invert'; Ck, X, Z, P= .C. , .X., .Z., .P.; \
S0 = ^b0000; S4 = ^b0100; S8 = ^b1000; S12= ^b1100; S1 = ^b0001; S5 = ^b0101; S9 = ^b1001; S13= ^b1101; S2 = ^b0010; S6 = ^b0110; S10= ^b1010; S14= ^b1110; S3 = ^b0011; S7 = ^b0111; S11= ^b1011; S15= ^b1111; equations
[Q3,Q2,Q1,Q0].c : = Clk; [Q3,Q2,Q1,Q0].oe : = !OE; state_diagram [Q3,Q2,Q1,Q0]
State S0: IF !Clr THEN S1 ELSE S0; State S1: IF !Clr THEN S2 ELSE S0; State S2: IF !Clr THEN S3 ELSE S0; State S3: IF !Clr THEN S4 ELSE S0; State S4: IF !Clr THEN S5 ELSE S0; State S5: IF !Clr THEN S6 ELSE S0; State S6: IF !Clr THEN S7 ELSE S0; State S7: IF !Clr THEN S8 ELSE S0; State S8: IF !Clr THEN S9 ELSE S0; State S9: GOTO S0; \
State S10: GOTO S0; State S11: GOTO S0; State S12: GOTO S0; State S13: GOTO S0; State S14: GOTO S0; State S15: GOTO S0;
end
10.11 简述ispLSI 1016的组成,各部分的功能。 答:
器件主要包含32个I/O单元、16个GLB、互连布线区和时钟分配网络。8个GLB A0~A7与16个I/O单元I/O0~I/O15组成一个宏模块。余下的组成另一个宏模块。通过输入布线区将I/O单元的输入信号引到全局布线区,任何一个GLB可从全局布线区选择输入信号作为其输入。输出布线区可将GLB的输出灵活地与宏模块内的任何4个I/O单元相联。I/O单元则是内部逻辑和器件引脚的互连电路,可设置为输入、输出和双向模式。 10.12 解释在系统编程的含义。为什么ispLSI 1016 可以在系统编程?
答: ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程
相关推荐: