2022年超大规模集成电路第七次作业秋,段成华 .pdf
Assignment 7 1. Analyze the sequential element (SE) of Actel ACT FPGA (as shown below) with any possible combinations of C1, C2 and CLR C controls. A. Which functions does this SE support? B. Verify these functions by using HSPICE simulator at circuit level OR using Modelsimsimulator at logic level. G1G2G4G3G6G8DCLRC2C11010QF1F2MSS2S1MCMaster LatchSlave LatchG5G7Tcombinationallogic for clockand clearFigure 1 Actel ACT 2 and ACT 3 Logic Modules: The equivalent circuit (without buffering) of the SE (sequential element)Solution: A:(1)、 C1=0,C2=0,CLR=1 ,S1=0,D 输出到 M,同时将 M 传递到 F1,G5 处于采样阶段,而S2=1,所以 G7 处于保持状态;若CLR=0 ,G6 和 G8 输出为 0,整个电路不工作。(2)、 C1=1,C2=0,CLR=1 ,则 S1=0, G5 处于采样状态将信号传递到M,MC=1 ,M 传输到 F1,同时 S2=0,则 F1 传递到 S,同时也传递到Q,即直通状态,CLR=0 也是如此状态,因为T=1。(3)、 C1=0,C2=1,CLR=1 ,由于 MC=1 ,所以输出到F1,且 S1=1,G5 处于保持,而 S2=0, 所以 F1 传输到 S, 同时可以传递到Q, 这个属于边沿触发器的传递阶段。若 CLR=0,MC=0 ,所以都清0。(4)、 C1=1,C2=1,CLR=1,则 S1=0,D 输出到 M,MC=1 ,所以 M 采样到 F1,而G7 则处于保持状态,CLR=0 ,若 CLR=0 ,G6 和 G8 输出为 0,整个电路不工作。观察以上四种情况,(1)与( 4)状态相同,(2)属于直通状态具有一定延时,(3)处于 G5 保持, G7 输出到 Q。基于这样的情况,将(1)与( 3)组合为一个上升沿D 触发器,( 4)与( 3)组合成为一个下降沿D 触发器;同时将(2)与( 3)可以构成一个锁存器,在( 2)的时候电平触发Q=D,( 3)的时候保持Q 的状态;以上几种状态在CLR=0时候都可以清零。B:A 中已经基本的分析清楚了各种情况,这里只验证A 中( 1)与( 3)组合为一个上升沿 D 触发器和直通状态(2):、 (1)与( 3),则 C1 保持为 0,C2 为 CLK 时钟变化, VHDL 代码如下:library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.std_logic_unsigned.ALL; library UNISIM; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - use UNISIM.VComponents.all; entity ACT_FPGA is Port ( D : in std_logic; C2 : in std_logic; C1 : in std_logic; CLR : in std_logic; Q : out std_logic); end ACT_FPGA; architecture struct of ACT_FPGA is signal S1: std_logic; signal S2: std_logic; signal M: std_logic; signal F1: std_logic; signal MC: std_logic; signal T: std_logic; signal S: std_logic; signal F2: std_logic; begin U0: and2b1 port map (S1,C1,C2); -S1=C2 and (not C1); U1: muxcy port map (M,F1,D,S1); U2: and2b1 port map (T,C2,C1); -T=(not C2) and C1; U3: or2 port map (MC,T,CLR); U4: xnor2 port map (S2,C2,C1); U5: and2 port map (F1,MC,M); U6: muxcy port map (S,F2,F1,S2); U7: and2 port map (F2,MC,S); Q D, C2 = C2, C1 = C1, CLR = CLR, Q = Q); - Stimulus process stim_proc: process begin -insert stimulus here - Current Time: 100ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 0; CLR = 1; - - Current Time: 200ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 1; CLR = 1; - - Current Time: 300ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - CLR = 1; - - Current Time: 400ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 1; CLR = 1; - - Current Time: 500ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 0; CLR = 1; - - Current Time: 600ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 1; CLR = 1; - - Current Time: 700ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 0; CLR = 1; - - Current Time: 900ns WAIT FOR 100 ns; D = 1; C1 = 0; C2 = 1; CLR = 1; end process; END; 可以看到 C2的低电平期间保持,并将F1看到为高,并在C2的上升沿,得到了Q输出为高电平,同时 D变为0时,F1变为 0,同时在 C2的上升沿变为 0。、 (2)中是直通状态验证如下:只需要改变 TestBench的输入信号即可,得到验证波形如下:可以看到输入D和输出 Q完全一致,表明逻辑电路连接没问题,同时A中的分析也没有问题。验证完毕。同理可以知道(4)与( 3),则 C2保持为 1,C1为CLK 时钟变化,而(2)与( 3)则 C1和C2电平始终相反,但是需要先 10 再 01 即可。附件如下: RTL Schematic 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - 2. (This exercise is taken from an MIT course.)The Xilinx 4000 series field-programmable gate array (FPGA) can be programmed to emulate a circuit made up of many thousands of gates; for example, the XC4025E can emulate circuits with up to 25,000 gates. The heart of the FPGA architecture is a configurable logic block (CLB) which has a combinational logic subsection with the following circuit diagram: There are two 4-input function generators and one 3-input function generator, each capable of implementing an arbitrary Boolean function of its inputs. The following is a list of the possible configurations. Show them by presenting their necessary control signals and the Boolean equations for the outputs of the form: X = F(F1,F2,F3,F4). A.An arbitrary function F of up to four input variables, plus another arbitrary function G of up to four unrelated input variables, plus a third arbitrary function H of up to three unrelated input variables. B.An arbitrary single function of five variables. C.An arbitrary function of four variables together with some functions of six variables. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - Characterize the functions of six variables that can be implemented. D.Some functions of up to nine variables. Characterize the functions of up to nine variables that can be implemented. E.Challenge Can every function of six inputs be implemented? If so, explain how. If not, give a 6-input function and explain why it cant be implemented in the CLB. 假设将 MC 所控制的多路选择器功能函数表示为:I=I(MC) ,MC的取值为的 0,1,2,3,即I(0)=C1 ,I(1)=C2 ,I(2)=C3 ,I(3)=C4 ,同理 MD ,ME也是如此表示。因此输出表达式表示为:X = F(F1,F2,F3,F4) ;Y=H(I(ME),(MB I(MD)+Z MB),(XMA+I(MC) MA) ;Z=G(G1,G2,G3,G4) 。A. 两 个 不 相 关 的 4 输 入 变 量 函 数 可 分 别 由 X 和 Z 输 出 , 即 X=F(F1,F2,F3,F4) 和Z=G(G1,G2,G3,G4) 。另外一个 3输入变量函数则由Y来产生,只需将三个多路选择器的输出加载到 3输入函数发生器的输入端即可。相应的配置为 MA=1 ,MB=1 ,则有 Y=H(Cn1,Cn2,Cn3),可通过 MC 、MD 、ME,把 Cn1、Cn2和Cn3配置成 C1、C2、C3和C4中的任意三个。逻辑框图如下所示:B. 为得到 5输入变量构成的任意函数,可使输出表示Y=f(I1,I2,I3,I4)I5+f(I1,I2,I3,I4)I5。其中f(I1,I2,I3,I4) 表示 4输入变量构成的任意函数。相应的配置为:两个4输入函数发生器的输入端两两接在一起(F1=G1,.,F4=G4),分别与 I1、I2、I3、I4相连,且 MA=0 ,MB=0 ;再用一个多路选择器提供第五个变量,可通过设置ME 将其设为 C1、C2、C3和C4中的任意一个。最终可得到: Y= f(I1,I2,I3,I4,I5)=F(I1,I2,I3,I4)Cn+G(I1,I2,I3,I4)Cn。Cn1 Cn2 Cn3I1 I2 I3 I4 Y I(ME) G F H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - C. X或Z直接输出的函数便可得到4输入变量构成的任意函数,取Z=G(G1,G2,G3,G4) 。将剩下的一个 4输入函数发生器与两个多路选择器结合在一起即可得到6输入变量构成的函数,即Y=(F(F1,F2,F3,F4),Cn1,Cn2)。相应的配置为MA=0 , MB=1 ,可通过 MD 、ME把配置成 C1、C2、C3和C4中的任意两个 (MC 任意 )。但这个 6输入变量的函数必须能表示成4输入变量函数与另外两个输入构成的形式,其他形式的函数则无法得到,例如:Y=I1 I2 I3 I4 I5 I6。函数框图如下:D. 同时选择两个4-输入函数发生器和一个多路选择器即可得到9变量输入函数,其配置为MA=0 ,MB=0 ,则有 Y=(F(F1,F2,F3,F4),G(G1,G2,G3,G4),Cn),其中可通过设置ME将其设为C1、C2、C3和C4中的任意一个。但这个9输入变量的函数必须能表示成两个独立的4输入变量 函 数 与 另 一 个 输 入 构 成 的 形 式 , 其 他 形 式 的 函 数 则 无 法 得 到 , 例 如 :Y=I1 I2 I3 I4 I5 I6 I7 I8 I9+ I1I2 I3 I4 I5 I6 I7 I8 I9 +I1I2 I3 I4 I5 I6 I7 I8 I9。 函数框图如下:E. 该结构不能实现6输入变量构成的任意函数,其中6变量函数构成方式主要有三种。第一种如 C中所述,前面已经说明它只能构成部分函数。第 二 种 方 式 是 由 两 个 4 输 入 函 数 发 生 器 构 成 , 且 两 个 输 入 端 相 同 , 即Y=(F(I1,I2,I3,I4),G(I3,I4,I5,I6),显然此时仍然要求所得函数必须有一部分由4输入变量函数构成,其他形式的函数仍无法得到,例如Y=I1 I2 I3 I4 I5 I6+ I1 I2 I3 I4 I5 I6。第三种方式是由两个4输入函数发生器构成,且三个输入端相同,在加上一个多路选择器即可,即 Y=(F(I1,I2,I3,I4),G(I2,I3,I4,I5),Cn),仍然要求所得函数必须有一部分由4输入变量函数构成,其他形式的函数仍无法得到,例如Y=I1 I2 I3 I4 I5 I6+ I1 I2 I3 I4 I5 I6。综上所述,这几种方法都要求所得函数必须有一部分由4输入变量函数构成,因而该结构无法实现 6输入变量构成的任意函数。Cn1 Cn2 Cn名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -