当前位置:文档之家› FPGACPLD数字电路设计经验

FPGACPLD数字电路设计经验

FPGACPLD数字电路设计经验
FPGACPLD数字电路设计经验

FPGA/CPLD数字电路设计经验分享

摘要:在数字电路的设计中,时序设计是一个系统性能的主要标志,在高层次设计方法中,对时序控制的抽象度也相应提高,因此在设计中较难把握,但在理解RTL电路时序模型的基础上,采用合理的设计方法在设计复杂数字系统是行之有效的,通过许多设计实例证明采用这种方式可以使电路的后仿真通过率大大提高,并且系统的工作频率可以达到一个较高水平。

关键词:FPGA数字电路时序时延路径建立时间保持时间

1 数字电路设计中的几个基本概念:

1.1 建立时间和保持时间:

建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零。PLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间

注:在考虑建立保持时间时,应该考虑时钟树向后偏斜的情况,在考虑建立时间时应该考虑时钟树向前偏斜的情况。在进行后仿真时,最大延迟用来检查建立时间,最小延时用来检查保持时间。

建立时间的约束和时钟周期有关,当系统在高频时钟下无法工作时,降低时钟频率就可以使系统完成工作。保持时间是一个和时钟周期无关的参数,如果设计不合理,使得布局布线工具无法布出高质量的时钟树,那么无论如何调整时钟频率也无法达到要求,只有对所设计系统作较大改动才有可能正常工作,导致设计效率大大降低。因此合理的设计系统的时序是提高设计质量的关键。在可编程器件中,时钟树的偏斜几乎可以不考虑,因此保持时间通常都是满足的。

1.2 FPGA中的竞争和冒险现象

信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺"。如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在"冒险"。(与分立元件不同,由于PLD内部不存在寄生电容电感,这些毛刺将被完整的保留并向下一级传递,因此毛刺现象在PLD、FPGA设计中尤为突出)是一个逻辑冒险的例子,从图3的仿真波形可以看出,"A、B、C、D"四个输入信号经过布线延时以后,高低电平变换不是同时发生的,这导致输出信号"OUT"出现了毛刺。(我们无法保证所有连线的长度一致,所以即使四个输入信号在输入端同时变化,但经过PLD内部的走线,到达或门的时间也是不一样的,毛刺必然产生)。可以概括的讲,只要输入信号同时变化,(经过内部走线)组合逻辑必将产生毛刺。将它们的输出直接连接到时钟输入端、清零或置位端口的设计方法是错误的,这可能会导致严重的后果。所以我们必须检查设计中所有时钟、清零和置位等对毛刺敏感的输入端口,确保输入不会含有任何毛刺

冒险往往会影响到逻辑电路的稳定性。时钟端口、清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒险以及如何避免冒险是设计人员必须要考虑的问题。

如何处理毛刺

我们可以通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。

毛刺并不是对所有的输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D触发器的D 输入端对毛刺不敏感。根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为

同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。(由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)

去除毛刺的一种常见的方法是利用D触发器的D输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的输出信号,这种方法类似于将异步电路转化为同步电路。

如前所述,优秀的设计方案,如采用格雷码计数器,同步电路等,可以大大减少毛刺,但它并不能完全消除毛刺。毛刺并不是对所有输入都有危害,例如D触发器的D输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害。因此我们可以说D触发器的D输入端对毛刺不敏感。但对于D触发器的时钟端,置位端,清零端,则都是对毛刺敏感的输入端,任何一点毛刺就会使系统出错,但只要认真处理,我们可以把危害降到最低直至消除。下面我们就对几种具体的信号进行探讨。

1.3 清除和置位信号在FPGA的设计中,全局的清零和置位信号必须经过全局的清零和置位管脚输入,因为他们也属于全局的资源,其扇出能力大,而且在FPGA内部是直接连接到所有的触发器的置位和清零端的,这样的做法会使芯片的工作可靠、性能稳定,而使用普通的IO脚则不能保证该性能。

在FPGA的设计中,除了从外部管脚引入的全局清除和置位信号外在FPGA内部逻辑的处理中也经常需要产生一些内部的清除或置位信号。清除和置位信号要求象对待时钟那样小心地考虑它们,因为这些信号对毛刺也是非常敏感的。

在同步电路设计中,有时候可以用同步置位的办法来替代异步清0。在用硬件描述语言的设计中可以用如下的方式来描述:

异步清0的描述方法:

process(rst,clk)

begin

if rst=’1’ then

count<=(others=>’0’);

elsif clk’event and clk=’1’ then

count<=count+1;

end if;

end process;

同步清0的描述方法:

process

begin

wait until clk’event and clk=’1’;

if rst=’1’ then

count<=(others=>’0’);

else

count<=count+1;

end if;

end process;

1.4 触发器和所存器:

我们知道,触发器是在时钟的沿进行数据的锁存的,而所存器是用电平使能来锁存数据的。所以触发器的Q输出端在每一个时钟沿都会被更新,而所存器只能在使能电平有效器件才会被更新。在FPGA设计中建议如果不是必须那么应该尽量使用触发器而不是所存器。

那么在使用硬件描述语言进行电路设计的时候如何区分触发器和所存器的描述方法哪?其实有不少人在使用的过程中可能并没有特意区分过,所以也忽略了二者在描述方法上的区别。下面是用VHDL语言描述的触发器和所存器以及综合器产生的电路逻辑图。

触发器的语言描述:

process

begin

wait until clk’event and clk=’1’;

q<=d;

end process;

所存器的语言描述:

process(en,d)

begin

if en=’1’ then

q<=d;

end if;

end process;

由上述对Latch的描述可见,其很容易于选择器的描述相混淆,用VHDL语言对选择器的描述方法如下:

process(en,a,b)

begin

if en=’1’ then

q<=a;

else

q<=b;

end if;

end process;

2 FPGA/CPLD中的一些设计方法

2.1 FPGA设计中的同步设计

异步设计不是总能满足(它们所馈送的触发器的)建立和保持时间的要求。因此,异步输入常常会把错误的数据锁存到触发器,或者使触发器进入亚稳定的状态,在该状态下,触发器的输出不能识别为l或0。如果没有正确地处理,亚稳性会导致严重的系统可靠性问题。

另外,在FPGA的内部资源里最重要的一部分就是其时钟资源(全局时钟网络),它一般是经过FPGA的特定全局时钟管脚进入FPGA内部,后经过全局时钟BUF适配到全局时钟网络的,这样的时钟网络可以保证相同的时钟沿到达芯片内部每一个触发器的延迟时间差异是可以忽略不计的。

在FPGA中上述的全局时钟网络被称为时钟树,无论是专业的第三方工具还是器件厂商提供的布局布线器在延时参数提取、分析的时候都是依据全局时钟网络作为计算的基准的。如果一个设计没有使用时钟树提供的时钟,那么这些设计工具有的会拒绝做延时分析有的延时数据将是不可靠的。

在我们日常的设计中很多情形下会用到需要分频的情形,好多人的做法是先用高频时钟计数,然后使用计数器的某一位输出作为工作时钟进行其他的逻辑设计。其实这样的方法是不规X的。比如下面的描述方法:process

begin

wait until clk’event and clk=’1’;

if fck=’1’ then

count<=(others=>’0’);

else

count<=count+1;

end if;

end process;

process

begin

wait until count(2)’event and count(2)=’1’ ;

shift_reg<=data;

end process;

在上述的第一个process电路描述中,首先计数器的输出结果(count(2))相对于全局时钟clk已经产生了一定的延时(延时的大小取决于计数器的位数和所选择使用的器件工艺);而在第二个process中使用计数器的bit2作为时钟,那么shift_reg相对于全局clk的延时将变得不好控制。布局布线器最终给出的时间分析也是不可靠的。这样产生的结果波形仿真如下图所示:

正确的做法可以将第二个process这样来写。

process

begin

wait until clk’event and clk=’1’ ;

if count(2 downto 0)=”000” then

shift_reg<=data;

end if;

end process;

或者分成两步来写:

process(count)

begin

if count(2 downto 0)=”000” then

en<=’1’;

else

en<=’0’;

end if;

end process;

process

begin

wait until clk’event and clk=’1’ ;

if en=’1’ then

shift_reg<=data;

end if;

end process;

这样做是相当于产生了一个8分频的使能信号,在使能信号有效的时候将data数据采样到shift_reg寄存器中。但此种情形下shift_reg的延时是相对于全局时钟clk的。下面的图形更能看得清楚。

2.2 FPGA设计中的延时电路的产生:

在日常的电路设计中,有时候我们需要对信号进行延时处理来适应对外接口的时序关系,最经常也是最典型的情况是做处理机的接口;因为与处理的接口时序关系是异步的,而一个规X的FPGA设计应该是尽可能采用同步设计。那么遇到这种情况该如何处理呢?

首先在FPGA中要产生延时,信号必须经过一定的物理资源。在硬件描述语言中有关键词Wait for xx ns,需要说明的是该语法是仅仅用于仿真而不能用于综合的,可综合的延时方法有:

使信号经过逻辑门得到延时(如非门);?

使用器件提供的延时单元(如Altera公司的LCELL,Xilinx公司的);?

注意:当使用多级非门的时候综合器往往会将其优化掉,因为综合器会认为一个信号非两次还是它自己。

需要说明的是在FPGA/CPLD内部结构是一种标准的宏单元,下图是Xilinx公司的Spartans II 系列器件的一个标准宏单元。虽然不同的厂家的芯片宏单元的结构不同,但概括而言都是由一些组合逻辑外加一或二个触发器而构成。在实际应用中,当一个模块内的组合逻辑被使用了那么与其对应的触发器也就不能用了;同样如果触发器单元被用了那么组合逻辑单元也就废了。这就是有时候(特别是使用CPLD)虽然设计使用的资源并不多但布局布线器却报告资源不够使用的原因。

现面的一个例子是前一段时间我在公司遇到的一个设计。设计使用Altera公司的EPM7256型号的CPLD。该设计实际使用的寄存器资源只有109个,占整个器件资源的42%。可是该设计使用了如下图所示的延时方法来做处理器接口的时序:

在该电路的设计中使用了大量的LCELL来产生100多纳秒的延时,这样做的后果是虽然整

个电路的触发器资源只使用了42%,可是用MaxplusII进行布局布线已经不能够通过了。而且我怀疑经过这么多逻辑的延时后所产生的信号还能保持原来的性能不。

当需要对某一信号作一段延时时,初学者往往在此信号后串接一些非门或其它门电路,此方法在分离电路中是可行的。但在FPGA中,开发软件在综合设计时会将这些门当作冗余逻辑去掉,达不到延时的效果。用ALTERA公司的MaxplusII开发FPGA时,可以通过插入一些LCELL原语来产生一定的延时,但这样形成的延时在FPGA芯片中并不稳定,会随温度等外部环境的改变而改变,因此并不提倡这样做。在此,可以用高频时钟来驱动一移位寄存器,待延时信号作数据输入,按所需延时正确设置移位寄存器的级数,移位寄存器的输出即为延时后的信号。此方法产生的延时信号与原信号比有误差,误差大小由高频时钟的周期来决定。对于数据信号的延时,在输出端用数据时钟对延时后信号重新采样,就可以消除误差。

对于这样大的延时我建议的实现方法是采用时钟锁存来产生延时的方法,我们知道当一个信号用时钟锁存一次,将会占用一个触发器资源,信号会向后推移一个时钟周期;该同事的设计里CPLD芯片正好连接有32MHz的时钟,那么每用时钟锁存一次ssp信号就会推移31ns,这样只需多使用3个触发器资源就可以达到目的了。电路图和仿真波形如下图所示:当然这样做对原来信号高低电平的宽度会稍有改变,但只要是在与其接口的芯片的容许X围之内就不会影响到功能的实现。2.3 如何提高系统的运行速度

同步电路的速度是指同步时钟的速度。同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间处理的数据量就愈大.我们先来看一看同步电路中数据传递的一个基本模型,如下图:

(Tco是触发器时钟到数据输出的延时;Tdelay是组合逻辑的延时;Tsetup是触发器的建立时间)

假设数据已经被时钟的上升沿打入D触发器,那么数据到达第一个触发器的Q端需要Tco,再经过组合逻辑的延时Tdelay到达的第二个触发器的D端,要想时钟能在第二个触发器再次被稳定的锁入触发器,则时钟的延迟不能晚于Tco+Tdelay+Tsetup,(我们可以回顾一下前

面讲过的建立和保持时间的概念,就可以理解为什么公式最后要加上一个Tdelay)由以上分析可知:最小时钟周期:T=Tco+Tdelay+Tsetup 最快时钟频率F= 1/T PLD开发软件也正是通过这个公式来计算系统运行速度Fmax

注:在这个逻辑图中有个参数:Tpd ,即时钟的延时参数,我们在刚才做时间分析的时候,没有提这个参数,(如果使用PLD的全局时钟型号,Tpd可以为0,如果是普通时钟,则不为0)。所以如果考虑到时钟的延时,精确的公式应该是T=Tco+Tdelay+Tsetup-Tpd。当然以上全部分析的都是器件内部的运行速度,如果考虑芯片I/O管脚延时对系统速度的影响,那么还需要加一些修正。

由于Tco、Tsetup是由具体的器件和工艺决定的,我们设计电路时只可以改变Tdelay。所以缩短触发器间组合逻辑的延时是提高同步电路速度的关键。由于一般同步电路都不止一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求,缩短最长延时路径,才可提高电路的工作频率。

如图2所示:我们可以将较大的组合逻辑分解为较小的几块,中间插入触发器,这样可以提高电路的工作频率。这也是所谓“流水线”(pipelining)技术的基本原理。

对于图3的上半部分,它时钟频率受制于第二个较大的组合逻辑的延时,通过适当的方法平均分配组合逻辑,可以避免在两个触发器之间出现过大的延时,消除速度瓶颈。

FPGA/CPLD开发软件中也有一些参数设置,通过修改这些设置,可以提高编译/布局布线后系统速度,但是根据经验这种速度的提高是很有限的,假如按照要求我们需要设计一个可以工作到50MHz的系统,实际布局布线器报告出来的Fmax只有40MHz,此时如果我们使用布局布线器的设置选项最多可以提高到45MHz,这还是运气比较好的情况。而且你必须了解这些选项的含义、使用背景等。

其实在一个设计里影响速度的瓶颈经常只会有几条,我们将延时最大的路径称作关键路径。当设计的运行速度不符合系统设计要求的时候我们可以首先找到不能满足要求的关键路径,按照上述的方法将关键路径上的组合逻辑拆分成多个中间用触发器隔开,这样很容易就可以从根本上提升系统的运行速度了。

有的设计在设计开始就知道那部分电路会产生比较大的组合逻辑,导致速度瓶颈的产生,那么就应该在开始就想好解决办法。比如现在设计需要产生一个32位的加法器,并且要求能够工作在50MHz。根据经验直接用32位加法器肯定是达不到50MHz的要求的,这时我们可以将其分成3个12位计数器来操作,后面的计数器只要将前面计数器结果的高位(进位位)相加就可以了。

下面是原来在宽带接入服务器设计中的流量统计单元中的32位加法器的描述:

----------------------------------------------------------

---- flow count element

----------------------------------------------------------

-----temporary puting 12 bits adder

process(Count_0_en,count_buffer,Len,Carry_0_0,Carry_0_1)

begin

case Count_0_en is

---1st Step addition (10 downto 0) + (10 downto 0)

when "001" => add_12_a_0 <= ('0' & count_buffer(0)(10 downto 0));

add_12_b_0 <= ('0' & Len(10 downto 0));

---2nd Step addition (21 downto 11) + Carry_0_0

when "010" => add_12_a_0 <= ('0' & count_buffer(0)(21 downto 11));

add_12_b_0 <= ("" & Carry_0_0);

---3rd Step addition (31 downto 22) + Carry_0_1

when "100" => add_12_a_0 <= ("00" & count_buffer(0)(31 downto 22));

add_12_b_0 <= ("" & Carry_0_1);

when others => add_12_a_0 <=(others=>’X’);

add_12_b_0 <=(others=>’X’);

end case;

end process;

------12 bits adder

add_12_result_0 <= add_12_a_0 + add_12_b_0;

------Bytes Count

process(RST,CLK_25MHz,IO,OE_bar,data_sel,Count_0_en)

begin

if(RST = '1')then -----system Reset

count_buffer(0) <= (others => '0');

Carry_0_0 <= '0';

Carry_0_1 <= '0';

Carry_0_2 <= '0';

elsif(CLK_25MHz'event and CLK_25MHz = '0')then

if(OE_bar = '0' and data_sel = '0')then

count_buffer(0) <= IO;

Carry_0_2 <= '0';

else

case Count_0_en is

---1st Step addition (10 downto 0) + (10 downto 0)

when "001" => count_buffer(0)(10 downto 0) <= add_12_result_0(10 downto 0);

Carry_0_0 <= add_12_result_0(11);--first step carry

---2nd Step addition (21 downto 11) + Carry_0_0

when "010" => count_buffer(0)(21 downto 11) <= add_12_result_0(10 downto 0);

Carry_0_1 <= add_12_result_0(11);--Second step carry

---3rd Step addition (31 downto 22) + Carry_0_1

when "100" => count_buffer(0)(31 downto 22) <= add_12_result_0(9 downto 0);

Carry_0_2 <= add_12_result_0(10);--Third step carry

when others => Carry_0_2 <= '0';

end case;

end if;

end if;

end process;

2.4 信号输出

当你需要将FPGA/CPLD内部的信号通过管脚输出给外部相关器件的时候,如果不影响功能最好是将这些信号通过用时钟锁存后输出。因为通常情况下一个板子是工作于一种或两种时钟模式下,与FPGA/CPLD相连接的芯片的工作时钟大多数情形下与FPGA的时钟同源,如果输出的信号经过时钟锁存可以起到如下的作用:

容易满足芯片间信号连接的时序要求;?

容易满足信号的建立保持时间;?

如上图所示,比如FPGA/CPLD在CLK的时钟沿1锁存一个信号得到SIG所示的波形,SIG信号需要给另外的一个与其接口的芯片,那么该芯片将一定会在CLK的时钟沿2正确采样到SIG信号。但是如果该信号在FPGA/CPLD中输出的时候不是用时钟沿锁存的,那将有可能出现SIG1/SIG2所示的时序关系,则与其接口的芯片在时钟沿2处采样该信号的时候有可能出现建立保持时间不满足要求而出现采样不可靠、沿打沿等情况。另外通过组合逻辑输出还有可能出现毛刺的情况。所有这些不规X的设计都会引起系统工作时的不可靠、不稳定的情形。

2.5 寄存异步输入信号

我们在日常的设计工作中,FPGA/CPLD总是要与别的芯片相连接的,FPGA/CPLD会给别的芯片输出信号,同时也要处理别的芯片送来的信号,这些信号往往对FPGA/CPLD内部的时钟系统而言是异步的,为了可靠的采样到这些输入信号,建议将这些输入信号使用相应的时钟锁存后在处理,这样做:

将原来的异步信号转化成同步来处理;?

去除输入信号中的毛刺(特别是对于数据总线);?

2.6 FPGA/CPLD中的时钟设计

无沦是用离散逻辑、可编程逻辑,还是用全定制硅器件实现的任何数字设计,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压或制造工艺的偏差情况下将导致错误的行为,并且调试困难、花销很大。在设计FPGA/CPLD时通常采用几种时钟类型。时钟可分为如下四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时

钟系统能够包括上述四种时钟类型的任意组合。

无论采用何种方式,电路中真实的时钟树也无法达到假定的理想时钟,因此我们必须依据理想时钟,建立一个实际工作时钟模型来分析电路,这样才可以使得电路的实际工作效果和预期的一样。在实际的时钟模型中,我们要考虑时钟树传播中的偏斜、跳变和绝对垂直的偏差以及其它一些不确定因素。

对于寄存器而言,当时钟工作沿到来时它的数据端应该已经稳定,这样才能保证时钟工作沿采样到数据的正确性,这段数据的预备时间我们称之为建立时间(setup time)。数据同样应该在时钟工作沿过去后保持一段时间,这段时间称为保持时间(hold time)。其中网络延迟是指时钟的传播延时以及因为跳变不垂直等效的偏差,在此基础上考虑一些不确定因素实际的工作时钟沿如图中所示。保持时间(hold)和建立时间(setup)都是相对于实际时钟跳变而言的。因此在确定电路时序时,必须要考虑到这些因素,使得建立时间和保持时间符合要求。

为了使电路正常工作,建立时间和保持时间应该分别满足:

其中tclock_Q_max是时钟沿变化到数据输出端变化的最慢变化情况,tlogic_max是寄存器间组合逻辑的最大可能延迟,tclock_Q_min和tlogic_min表示最快情况。在考虑建立保持时间时,应该考虑时钟树向后偏斜的情况,在考虑建立时间时应该考虑时钟树向前偏斜的情况。在进行后仿真时,最大延迟用来检查建立时间,最小延时用来检查保持时间。2.6.1 全局时钟

对于一个设计项目来说,全局时钟(或同步时钟)是最简单和最可预测的时钟。在PLD/FPGA 设计中最好的时钟方案是:由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。

定时波形示出触发器的数据输入D[1..3]应遵守建立时间和保持时间的约束条件。建立和保持时间的数值在PLD数据手册中给出,也可用软件的定时分析器计算出来。如果在应用中不能满足建立和保持时间的要求,则必须用时钟同步输入信号。

(最好的方法是用全局时钟引脚去钟控PLD内的每一个寄存器,于是数据只要遵守相对时钟的建立时间tsu和保持时间th)

2.6.2 门控时钟

在许多应用中,整个设计项目都采用外部的全局时钟是不可能或不实际的。PLD具有乘积项逻辑阵列时钟(即时钟是由逻辑产生的),允许任意函数单独地钟控各个触发器。然而,当你用阵列时钟时,应仔细地分析时钟函数,以避免毛刺。

通常用阵列时钟构成门控时钟。门控时钟常常同微处理器接口有关,用地址线去控制写脉冲。然而,每当用组合函数钟控触发器时,通常都存在着门控时钟。如果符合下述条件,门控时钟可以象全局时钟一样可靠地工作:

?

驱动时钟的逻辑必须只包含一个“与”门或一个“或”门。如果采用任何附加逻在某些工作状态下,会出现竞争产生的毛刺。

?

逻辑门的一个输入作为实际的时钟,而该逻辑门的所有其它输入必须当成地址或控制线,它们遵守相对于时钟的建立和保持时间的约束。

可靠的门控时钟的实例,用一个“与”门产生门控时钟,用一个“或”门产生门控时钟。在这两个实例中,引脚nWR和nWE考虑为时钟引脚,引脚ADD[o..3]是地址引脚,两个触发器的数据是信号D[1..n]经随机逻辑产生的。

波形图显示出有关的建立时间和保持时间的要求。这两个设计项目的地址线必须在时钟保持有效的整个期间内保持稳定(nWR和nWE是低电平有效)。如果地址线在规定的时间内未保持稳定,则在时钟上会出现毛刺,造成触发器发生错误的状态变化。另一方面,数据引脚D[1..n]只要求在nWR和nWE的有效边沿处满足标准的建立和保持时间的规定。

我们往往可以将门控时钟转换成全局时钟以改善设计项目的可靠性。地址线在控制D触发器的使能输入,许多PLD设计软件,如MAX+PLUSII软件都提供这种带使能端的D触发器。当ENA为高电平时,D输入端的值被钟控到触发器中:当ENA为低电平时,维持现在的状态。

重新设计的电路的定时波形表明地址线不需要在nWR有效的整个期间内保持稳定;而只要求它们和数据引脚一样符合同样的建立和保持时间,这样对地址线的要求就少很多。

图5给出一个不可靠的门控时钟的例子。3位同步加法计数器的RCO输出用来钟控触发器。然而,计数器给出的多个输入起到时钟的作用,这违反了可靠门控时钟所需的条件之一。在产生RCO信号的触发器中,没有一个能考虑为实际的时钟线,这是因为所有触发器在几乎相同的时刻发生翻转。而我们并不能保证在PLD/FPGA内部QA,QB,QC到D触发器的布线长短一致,因此,在器从3计到4时,RCO线上会出现毛刺(假设QC到D触发器的路径较短,即QC的输出先翻转)。

(定时波形示出在计数器从3到4改变时,RCO信号如何出现毛刺的)

数字电路课程设计题目选编

数字电路课程设计题目选编 1、基于DC4011水箱水位自动控制器的设计与实现 简介及要求:水箱水位自动控制器,电路采用CD4011 四与非门作为处理芯片。要求能够实现如下功能:水 箱中的水位低于预定的水位时,自动启动水泵抽水; 而当水箱中的水位达到预定的高水位时,使水泵停止 抽水,始终保持水箱中有一定的水,既不会干,也不 会溢,非常的实用而且方便。 2、基于CD4011声控、光控延时开关的设计与实现 简介及要求:要求电路以CD4011作为中心元件,结合外围 电路,实现以下功能:在白天或光线较亮时,节电开关呈关闭 状态,灯不亮;夜间或光线较暗时,节电开关呈预备工作状态, 当有人经过该开关附近时,脚步声、说话声、拍手声等都能开 启节电开关。灯亮后经过40秒左右的延时节电开关自动关闭, 灯灭。 3、基于CD4011红外感应开关的设计与实现 在一些公共场所里,诸如自动干手机、自动取票机等,只要人手在机器前面一晃,机器便被启动,延时一段时间后自动关闭,使用起来非常方便。要求用CD4011设计有此功能的红外线感应开关。 4、基于CD4011红外线对射报警器的设计与实现 设计一款利用红 外线进行布防的防盗 报警系统,利用多谐振 荡器作为红外线发射 器的驱动电路,驱动红 外发射管,向布防区内 发射红外线,接收端利用专用的红外线接收器件对发射的 红外线信号进行接收,经放大电路进行信号放大及整形, 以CD4011作为逻辑处理器,控制报警电路及复位电路,电

路中设有报警信号锁定功能,即使现场的入侵人员走开,报警电路也将一直报警,直到人为解除后方能取消报警。 5、基于CD4069无线音乐门铃的设计与实现 音乐门铃已为人们所熟知,在一些住宅楼中都 装有音乐门铃,当有客人来访时,只要按下门铃按 钮,就会发出“叮咚”的声音或是播放一首乐曲, 然而在一些已装修好的室内,若是装上有线门铃, 由于必须布线,从而破坏装修,让人感到非常麻烦。 采用CD4069设计一款无线音乐门铃,发射按键与接 收机间采用了无线方式传输信息。 6、基于时基电路555“叮咚”门铃的设计与实现 用NE555集成电路设计、制作一个“叮咚”门铃,使该装置能够 发出音色比较动听的“叮咚”声。 7、基于CD4511数显八路抢答器的设计与实现 CD4511是一块含BCD-7段锁存、译码、驱动电路于一体的集成 电路。设计一款基于CD4511八路抢答器,该电路包括抢答,编 码,优先,锁存,数显和复位。 8、基于NE555+CD4017流水彩灯的设计与实现 以NE555和CD4017为核心,设计制作一个流水彩灯,使之通 过调节电位器旋钮,可调整彩灯的流动速度。 9、基于用CD4067、CD4013、 NE555跑马灯的设计与实 现

数字电路与逻辑设计

专升本《数字电路与逻辑设计》作业练习题6 解析与答案 一、单选题(选择最合适的答案) 1. 哪种逻辑门“只有在所有输入均为0时,输出才是1”? () A.或非门B.与非门C.异或门D.与或非门 答案:A 解析: 或非门 2.设两输入“与非”门的输入为x和y,输出为z,当z=1时,x和y的取值一定是() A. 至少有一个为1 B. 同时为1 C. 同时为0 D. 至少有一个为0 答案:D 解析: 与非逻辑 3. 两输入与非门输出为0时,输入应满足()。 A.两个同时为1 B.两个同时为0 C.两个互为相反D.两个中至少有一个为0 答案:A 解析:输入全为1 4. 异或门的两个输入为下列哪—种时,其输出为1? A.1,l B.0,1 C.0,0 D.以上都正确 答案:B 解析: 输入不同 5. 下列逻辑门中哪一种门的输出在任何条件下都可以并联使用?()A.具有推拉式输出的TTL与非门B.TTL集电级开路门(OC门) C.普通CMOS与非门D.CMOS三态输出门 答案:B 解析: A,C普通与非门不能并联使用; D三态输出门并联使用是有条件的:它们的使能端(控制端)必须反向,即只能有一个门处于非高阻态

ADABB 二、多选题(选择所有合适的答案) 用TTL 与非门、或非门实现反相器功能时,多余输入端应该( ) A .与非门的多余输入端应接低电平 B. 或非门的多余输入端应接低电平 C. 与非门的多余输入端应接高电平 D. 或非门的多余输入端应接低高平 答案:BC 解析: 多余输入端对与逻辑要接1,对或逻辑要接0 三、简答题 1. 分析如下两个由或非门、异或门、非门以及与非门构成的逻辑电路,请你:①写出F1和F2的逻辑表达式;②当输入变量A ,B 取何值时,两个电路等效? 答案:{ ① 根据图可写出两个电路的输出函数表达式分别为: 12()F A A B A A B A A B A A B A AB AB A A B F AB A B =⊕+=?++?+=??+++=+==+ = ②列出两个电路的真值表: 可见,无论A,B 取任何值,两个电路都等效。 }

数字电路与逻辑设计模拟题

《数字电路与逻辑设计》模拟题(补) 一. 选择题(从四个被选答案中选出一个或多个正确答案,并将代号写在题中的括号内) 1.EEPROM 是指( D ) A. 随机读写存储器 B. 一次编程的只读存储器 C. 可擦可编程只读存储器 D. 电可擦可编程只读存储器 2.下列信号中,( B C )是数字信号。 A .交流电压 B.开关状态 C.交通灯状态 D.无线电载波 3.下列中规模通用集成电路中,( B D )属于时序逻辑电路. A.多路选择器74153 B.计数器74193 C.并行加法器74283 D.寄存器74194 4.小数“0”的反码形式有( A D )。 A .0.0……0 B .1.0……0 C .0.1……1 D .1.1……1 5.电平异步时序逻辑电路不允许两个或两个以上输入信号(C )。 A .同时为0 B. 同时为1 C. 同时改变 D. 同时作用 6.由n 个变量构成的最大项,有( D )种取值组合使其值为1。 A. n B. 2n C. n 2 D. 12-n 7.逻辑函数∑= )6,5,3,0(),,(m C B A F 可表示为( B C D ) 。 A.C B A F ⊕⊕= B.C B A F ⊕⊕= C.C B A F ⊕⊕= D.C B A F ⊙⊙= 8.用卡诺图化简包含无关条件的逻辑函数时,对无关最小项( D )。 A .不应考虑 B.令函数值为1 C .令函数值为0 D .根据化简的需要令函数值为0或者1 9.下列逻辑门中,( D )可以实现三种基本运算。 A. 与门 B. 或门 C. 非门 D. 与非门 10.设两输入或非门的输入为x 和y ,输出为z ,当z 为低电平时,有( A B C )。 A .x 和y 同为高电平 B . x 为高电平,y 为低电平 C .x 为低电平,y 为高电平 D . x 和y 同为低电平 11.下列电路中,( A D )是数字电路。 A .逻辑门电路 B. 集成运算放大器 C .RC 振荡电路 D. 触发器 12.在下列触发器中,输入没有约束条件的是( C D )。 A.时钟R-S 触发器 B.基本R-S 触发器 C.主从J-K 触发器 D.维持阻塞D 触发器 13.标准与-或表达式是由( B )构成的逻辑表达式。 A .与项相或 B. 最小项相或 C. 最大项相与 D.或项相与 14.设计一个模10计数器需要( B )个触发器。 A . 3 B. 4 C .6 D .10 15.表示任意两位无符号十进制数至少需要( B )二进制数。 A .6 B .7 C .8 D .9 16.4线-16线译码器有( D )输出信号。 A . 1 B. 4 C .8 D .16

(完整版)复变函数知识点梳理解读

第一章:复数与复变函数 这一章主要是解释复数和复变函数的相关概念,大部分内容与实变函数近似,不难理解。 一、复数及其表示法 介绍复数和几种新的表示方法,其实就是把表示形式变来变去,方便和其他的数学知识联系起来。 二、复数的运算 高中知识,加减乘除,乘方开方等。主要是用新的表示方法来解释了运算的几何意义。 三、复数形式的代数方程和平面几何图形 就是把实数替换成复数,因为复数的性质,所以平面图形的方程式二元的。 四、复数域的几何模型——复球面 将复平面上的点,一一映射到球面上,意义是扩充了复数域和复平面,就是多了一个无穷远点,现在还不知道有什么意义,猜想应该是方便将微积分的思想用到复变函数上。 五、复变函数 不同于实变函数是一个或一组坐标对应一个坐标,复变函数是一组或多组坐标对应一组坐标,所以看起来好像是映射在另一个坐标系里。 六、复变函数的极限和连续性 与实变函数的极限、连续性相同。 第二章:解析函数

这一章主要介绍解析函数这个概念,将实变函数中导数、初等函数等概念移植到复变函数体系中。 一、解析函数的概念 介绍复变函数的导数,类似于实变二元函数的导数,求导法则与实变函数相同。 所谓的解析函数,就是函数处处可导换了个说法,而且只适用于复变函数。而复变函数可以解析的条件就是:μ对x与ν对y的偏微分相等且μ对y和ν对x的偏微分互为相反数,这就是柯西黎曼方程。二、解析函数和调和函数的关系 出现了新的概念:调和函数。就是对同一个未知数的二阶偏导数互为相反数的实变函数。而解析函数的实部函数和虚部函数都是调和函数。而满足柯西黎曼方程的两个调和函数可以组成一个解析函数,而这两个调和函数互为共轭调和函数。 三、初等函数 和实变函数中的初等函数形式一样,但是变量成为复数,所以有一些不同的性质。 第三章:复变函数的积分 这一章,主要是将实变函数的积分问题,在复变函数这个体系里进行了系统的转化,让复变函数有独立的积分体系。但是很多知识都和实变函数的知识是类似的。可以理解为实变函数积分问题的一个兄弟。 一、复积分的概念 复积分就是复变函数的积分,实质是两个实二型线积分。所以应该具有相应的实二型线积分的性质。复积分存在的充分条件是实部函数和虚部函数都连续。 二、柯西积分定理

数字电路与逻辑设计实验实验四

中山大学南方学院 电气与计算机工程学院 课程名称:数字电路与逻辑设计实验实验题目:译码显示电路

附:实验报告 专业:电子信息科学与技术年级:18 完成日期:2020年7月05日学号:182018010 姓名:叶健行成绩: 一、实验目的 (一)掌握中规模集成译码器的逻辑功能和使用方法。 (二)熟悉数码管的使用。 二、实验原理 (一)数码显示译码器 1、七段发光二极管(LED)数码管 LED数码管是目前最常用的数字显示器,图1 (a)、(b)为共阴管和共阳管的电路,(c)为两种不同出线形式的引出脚功能图。 一个LED数码管可用来显示一位0~9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。 (a) 共阴连接(“1”电平驱动)(b) 共阳连接(“0”电平驱动)

(c) 符号及引脚功能 图1 LED 数码管 2、BCD 码七段译码驱动器 此类译码器型号有74LS47(共阳),74LS48(共阴),CC4511(共阴)等,本实验系采用74LS48 BCD 码锁存/七段译码/驱动器。驱动共阴极LED 数码管。图2为74LS48引脚排列。 其中 A 、B 、C 、D — BCD 码输入端 a 、 b 、 c 、 d 、 e 、 f 、 g — 译码输出端,输出“1”有效,用来驱动共阴极LED 数码管。 LT — 灯 测试输入端,LT =“0”时,译码输出全为“1” BI R — 灭 零 输入端,BI R =“0”时,不显示多余的零。 RBO /BI — 作为输入使用时,灭灯输入控制端; 作为输出端使用时,灭零输出端。 (二)扫描式显示 对多位数字显示采用扫描式显示可以节电,这一点在某些场合很重要。对于某些系统输出的的数据,应用扫描式译码显示,可使电路大为简化。有些系统,比如计算机,某些A/D 转换器,是以这样的形式输出数据的:由选通信号控制多路开关,先后送出(由高位到低位或由低位到高位)一位十进制的BCD 码,如图(三)所示。图中的Ds 称为选通信号,并假定系统按先高位后低位的顺序送出数据,当Ds1高电平送出千位数,Ds2高电平送出百位数,……一般Ds 的高电平相邻之间有一定的间隔,选通信号可用节拍发生器产生。 如图(四)所示,为这种系统的译码扫描显示的原理图。图中各片 LED

实变函数论主要知识点.docx

实变函数论主要知识点 第一章集合 1、集合的并、交、差运算;余集和De Morgan公式;上极限和下极限; 练习:①证明(A-B)-C = A-(BUC); ②证明E[f>a]=QE[f>a + -]; ?=i n 2、对等与基数的定义及性质; 练习:①证明(0,1)□口; ②证明(0,1)0 [0,1]; 3、可数集的定义与常见的例;性质“有限个可数集合的直积是可数集合”与应用;可数集合 的基数; 练习:①证明直线上增函数的不连续点最多只有可数多个; ②证明平面上坐标为有理数的点的全体所成的集合为一可数集; ?Q =________ ; ④[0,1 ]中有理数集E的相关结论; 4、不可数集合、连续基数的定义及性质; 练习:?(0J)= _______ ; ②卩= ________ (P为Cantor集);

第二章点集 1、度量空间,n维欧氏空间中有关概念 度量空间(Metric Space),在数学中是指一个集合,并且该集合中的任意元素之间的距离是可定义的。 n维欧氏空间:设V是实数域R上的线性空间(或称为向量空间),若V上定义着正定对称双线性型g (g称为内积),则V称为(对于g的)内积空间或欧几里德空间(有时仅当V是有限维时,才称为欧几里德空间)。具体来说,g是V上的二元实值函数,满足如下关系: ⑴ g(x,y)=g(y,x); (2) g(x+y,z)=g(x,z)+g(y,z); (3) g(kx,y)=kg(x,y); (4) g(x,x)>=0,而且g(x,x)=O当且仅当x=0时成立。 这里x,y,z是V中任意向量,k是任意实数。 2、,聚点、界点、内点的概念、性质及判定(求法);开核,导集,闭包的概念、性质及判定(求法); 聚点:有点集E,若在复平面上的一点z的任意邻域都有E的无穷多个点,则称z为E的聚点。内点:如果存在点P的某个邻域U(P)eE,则称P为E的内点。 3、开集、闭集、完备集的概念、性质;直线上开集的构造; 4、Cantor集的构造和性质; 5、练习:?P=__________ , P' = ______ , P= ________

数字电路设计实例

数字电路综合设计案例 8.1 十字路口交通管理器 一、要求 设计一个十字路口交通管理器,该管理器自动控制十字路口两组红、黄、绿三色交通灯,指挥各种车辆和行人安全通过。 二、技术指标 1、交通管理器应能有效操纵路口两组红、黄、绿灯,使两条交叉道路上的车辆交替通行,每次通行时间按需要和实际情况设定。 2、在某条道路上有老人、孩子或者残疾人需要横穿马路时,他们可以举旗示意, 执勤人员按动路口设置的开关,交通管理器接受信号,在路口的通行方向发生转换时,响应上述请求信号,让人们横穿马路,这条道上的车辆禁止通行,即管理这条道路的红灯亮。 3、横穿马路的请求结束后,管理器使道口交通恢复交替通行的正常状态。 三、设计原理和过程: 本课题采用自上而下的方法进行设计。 1.确定交通管理器逻辑功能 ⑴、十字路口每条道路各有一组红、黄、绿灯,用以指挥车辆和行人有序地通行。其中红灯亮表示该条道路禁止通行;黄灯亮表示停车;绿灯亮表示通行。因此,十字路口车辆运行情况有以下几种可能: ①甲道通行,乙道禁止通行; ②甲道停车线以外的车辆禁止通行(必须停车),乙道仍然禁止通行,以便让甲道停车线以内的车辆安全通过; ③甲道禁止通行,乙道通行; ④甲道仍然不通行,乙道停车线以外的车辆必须停车,停车线以内的车辆顺利通行。 ⑵、每条道路的通车时间(也可看作禁止通行时间)为30秒~2分钟,可视需要和实际情况调整,而每条道路的停车时间即黄灯亮的时间为5秒~10秒,且也可调整。 ⑶、响应老人、孩子或残疾人特殊请求信号时,必须在一次通行—禁止情况完毕后, 阻止要求横穿的那条马路上车辆的通行。换句话说,使另一条道路增加若干通行时间。 设S1和S2分别为请求横穿甲道和乙道的手控开关,那么,响应S1或S2的时间必定在甲道通乙道禁止或甲道禁止乙道通两种情况结束时,且不必过黄灯的转换。这种规定是为了简化设计。 由上述逻辑功能,画出交通管理器的示意图如图8-1所示,它的简单逻辑流程图如图8-2所示。示意图中甲道的红、黄、绿灯分别用R、Y、G表示,而乙道的红、黄、绿灯分别用r、y、g表示。简单逻辑流程图中设定通行(禁止)时间为60秒,停车时间为10秒。

数字电路与逻辑设计试题与答案(试卷D)

《数字集成电路基础》试题D (考试时间:120分钟) 班级: 姓名: 学号: 成绩: 一、填空题(共30分) 1. 当PN 结外加正向电压时,PN 结中的多子______形成较大的正向电流。 2. NPN 型晶体三极管工作在饱和状态时,其发射结和集电结的外加电压分别处于 ______偏置和_______偏置。 3. 逻辑变量的异或表达式为:_____________________B A =⊕。 4. 二进制数A=1011010;B=10111,则A-B=_______。 5. 组合电路没有______功能,因此,它是由______组成。 6. 同步RS 触发器的特性方程为:Q n+1=______,其约束方程为:_____ _。 7. 将BCD 码翻译成十个对应输出信号的电路称为________,它有___ 个输入端,____输出端。 8. 下图所示电路中,Y 1 =______;Y =______;Y 3 =_____ 二、选择题(共 20分) 1. 四个触发器组成的环行计数器最多有____个有效状态。 A.4 B. 6 C. 8 D. 16 2. 逻辑函数D C B A F +=,其对偶函数F *为________。 A .()()D C B A ++ B. ()()D C B A ++ C. ()() D C B A ++ 1 A B 3

3. 用8421码表示的十进制数65,可以写成______。 A .65 B. [1000001]BCD C. [01100101]BCD D. [1000001]2 4. 用卡诺图化简逻辑函数时,若每个方格群尽可能选大,则在化简后的最简表达式 中 。 A .与项的个数少 B. 每个与项中含有的变量个数少 C. 化简结果具有唯一性 5. 已知某电路的真值表如下,该电路的逻辑表达式为 。 A .C Y = B. A B C Y = C .C AB Y += D .C C B Y += 三、化简下列逻辑函数,写出最简与或表达式:(共20分) 1. 证明等式:AB B A B A B A +?=+ 2. Y 2=Σm (0,1,2,3,4,5,8,10,11,12) 3. Y 3=ABC C AB C B A C B A +++?

数字电路与逻辑设计习题-2016

数字电路与逻辑设计习题-2016

- 2 - 一、选择题 1. 以下表达式中符合逻辑运算法则的是 D 。 A.C ·C=C 2 B.1+1=10 C.0<1 D.A+1=1 2. 一位十六进制数可以用 C 位二进制数来表示。 A. 1 B. 2 C. 4 D. 16 3. 当逻辑函数有n 个变量时,共有 D 个变量取值组合? A. n B. 2n C. n 2 D. 2n 4. 逻辑函数的表示方法中具有唯一性的是 A 。 A .真值表 B.表达式 C.逻辑图 D.状态图 5. 在一个8位的存储单元中,能够存储的最大无符号整数是 D 。 A.(256)10 B.(127)10 C.(128)10 D.(255)10 6.逻辑函数F=B A A ⊕⊕)( = A 。 A.B B.A C.B A ⊕ D. B A ⊕ 7.求一个逻辑函数F 的对偶式,不可将F 中的 B 。 A .“·”换成“+”,“+”换成“·” B.原变量换成反变量,反变量换成原变量 C.变量不变 D.常数中“0”换成“1”,“1”换成“0” 8.A+BC= C 。

A .A+ B B.A+ C C.(A+B)(A+C) D.B+C 9.在何种输入情况下,“与非”运算的结果是 逻辑0。 D A.全部输入是0 B.任一输入是0 C. 仅一输入是0 D.全部输入是1 10.在何种输入情况下,“或非”运算的结果 是逻辑1。 A A.全部输入是0 B.全部输入是1 C.任一输入为0,其他输入为1 D.任一输入为 1 11.十进制数25用8421BCD码表示为 B 。 A.10 101 B.0010 0101 C.100101 D.10101 12.不与十进制数(53.5)10等值的数或代码 为 C 。 A.(0101 0011.0101)8421BCD B.(35.8)16 C.(110101.11)2 D.(65.4)8 13.以下参数不是矩形脉冲信号的参数 D 。 A.周期 B.占空比 C.脉宽 D.扫 描期 14.与八进制数(47.3)8等值的数为: B A. (100111.0101)2 B.(27.6)16 C.(27.3 )16 D. (100111.101)2 15. 常用的BCD码有 D 。 A.奇偶校验码 B.格雷码 C.ASCII码 D.余三码 - 3 -

实变函数与泛函分析要点

实变函数与泛函分析概要 第一章集合基本要求: 1、理解集合的包含、子集、相等的概念和包含的性质。 2、掌握集合的并集、交集、差集、余集的概念及其运算性质。 3、会求已知集合的并、交、差、余集。 4、了解对等的概念及性质。 5、掌握可数集合的概念和性质。 6、会判断己知集合是否是可数集。 7、理解基数、不可数集合、连续基数的概念。 8、了解半序集和Zorn引理。 第二章点集基本要求: 1、理解n维欧氏空间中的邻域、区间、开区间、闭区间、体积的概念。 2、掌握内点、聚点的概念、理解外点、界点、孤立点的概念。掌握聚点的性质。 3、掌握开核、导集、闭区间的概念及其性质。 4、会求己知集合的开集和导集。 5、掌握开核、闭集、完备集的概念及其性质,掌握一批例子。 6、会判断一个集合是非是开(闭)集,完备集。 7、了解Peano曲线概念。 主要知识点:一、基本结论: 1、聚点性质§2 中T1聚点原则: P0是E的聚点? P0的任一邻域内,至少含有一个属于E而异于P0的点?存在E中互异的点列{Pn},使Pn→P0 (n→∞) 2、开集、导集、闭集的性质§2 中T2、T3 T2:设A?B,则A ?B ,· A? · B, - A? - B。 T3:(A∪B)′=A′∪B′. 3、开(闭)集性质(§3中T1、2、3、 4、5) T1:对任何E?R?,?是开集,E′和― E都是闭集。(?称为开核,― E称为闭包的理由也 在于此) T2:(开集与闭集的对偶性)设E是开集,则CE是闭集;设E是闭集,则CE是开集。T3:任意多个开集之和仍是开集,有限多个开集之交仍是开集。 T4:任意多个闭集之交仍是闭集,有限个闭集之和仍是闭集。 T5:(Heine-Borel有限覆盖定理)设F是一个有界闭集,?是一开集族{Ui}i?I 它覆盖了F(即Fс ∪ i?IUi),则?中一定存在有限多个开集U1,U2…Um,它们

数字电路与逻辑设计实验总结报告

第二次实验是Quartus11原理图输入法设计,由于是第一次使用Quartus11软 件,实验中遇到了不少问题,总结起来主要有以下几个: (1)在创建工程并且编译通过之后得不到仿真波形 解决方法:经过仔细检查,发现在创建符号文件时,未对其重新命名,使得符号文件名与顶层文件的实体名一样。在改变符号文件名之后成功的得到了仿真波形。 (2)得到的仿真波形过于紧密不便于观察 解决方法:重新对仿真域的时间进行设定,并且对输入信号的周期做相应的调整,最终得到了疏密有致的仿真波形。 实验总结及心得体会 通过本次实验我初步掌握了Quartus11的使用方法,并且熟悉了电路板的使用。在实验具体操作的过程中,对理论知识(半加器和全加器)也有了更近一步的理解,真正达到了理论指导实践,实践检验理论的目的。 实验操作中应特别注意的几点: (1)刚开始创建工程时选择的目标芯片一定要与实验板上的芯片相对应。 (2)连接电路时要注意保证线与端口连接好,并且注意不要画到器件图形符号的虚线框里面。 (3)顶层文件的实体名只能有一个,而且注意符号文件不能与顶层文件的实体名相同。 (4)保存波形文件时,注意文件名必须与工程名一致,因为在多次为一个工程建立波形文件时,一定要注意保存时文件名要与工程名一致,否则不能得到正确的仿真结果。 (5)仿真时间区域的设定与输入波形周期的设定一定要协调,否则得到波形可能不便于观察或发生错误。 心得体会:刚接触使用一个新的软件,实验前一定要做好预习工作,在具体的实验操作过程中一定要细心,比如在引脚设定时一定要做到“对号入座”,曾经自己由于这一点没做好耗费了很多时间。实验中遇到的各种大小问题基本都是自己独立排查解决的,这对于自己独立解决问题的能力也是一个极大地提高和锻炼,总之这次实验我获益匪浅。 第三次实验是用VHDL语言设计组合逻辑电路和时序逻辑电路,由于Quartus11软件在之前已经使用过,所以本实验的主要任务就是编写与实验要求相对应的VHDL程序。 总体来说此次实验比较顺利,基本没有遇到什么问题,但有几点需要特别注意。首先是要区分实体名称和结构体名,这一点是程序编写的关键。其次在时序逻辑电路的设计实验中时钟的设置很关键,设置不当的话仿真波形可能不正确。 通过本次实验我初步学会用VHDL语言编写一些简单的程序,同时也进一步熟悉了Quartus11软件的使用。 实验八彩灯控制电路设计与实现 一、实验目的 1、进一步了解时序电路设计方法

多功能数字钟电路的设计与制作

多功能数字钟电路的设计与制作 一、设计任务与要求 设计和制作一个多功能数字钟,要求能准确计时并以数字形式显示时、分、秒的时间,能校正时间,准点报时。 二、方案设计与论证 1.数字钟设计原理 数字电子钟一般由振荡器、译码器、显示器等几部分电路组成,这些电路都是数字电路中应用最广的基本电路。振荡器产生的1Hz的方波,作为秒信号。秒信号送入计数器进行计数,并把累计的结果以“时”、“分”、“秒”的数字显示出来。“秒”的计数、显示由两级计数器和译码器组成的六十进制计数电路实现;“分”的计数、显示电路与“秒”的相同;“时”的计数、显示由两级计数器和译码器组成的二十四进制计数电路实现。所有计时结果由七段数码管显示器显示。用4个与非门构成调时电路,通过改变方波的频率,进行调时。最后用与非门和发光二极管构成整点显示部分。

2.总体结构框图如下: 图14 总体框图 三、单元电路设计与参数计算 1.脉冲产生电路 图15 晶振振荡器原理图 图16 555定时器脉冲产生电路原理图 振荡器可由晶振组成(如图15),也可以由555定时器组成。图16是由555定时器构成的1HZ 的自激振荡器,其原理是: 第一暂态2、6端电位为Vcc 3 1 ,则输出为高电平,三极管不导通,电容C 充电,此 时2、6端电位上升。当上升至大于Vcc 3 2 时,输出为低电平,三极管导通,电容C 放电, 11 21 C 1 R C 2 R O

此时2、6端电位下降,下降至Vcc 3 1 时,输出高电平,以此循环。根据公式C R R f )2(43.121+≈ 得,此时频率为0.991。 图17 555定时器波形关系 图18 555定时器产生1Hz 方波原理图 2.时间计数电路 图19 74LS161引脚图 74LS161功能表 v V 2 3 V 1 3 v U 1 74L S 161D Q A 14Q B 13Q C 12Q D 11R C O 15A 3B 4C 5D 6 E N P 7E N T 10 ~L O A D 9~C L R 1 C L K 2

数字电路与逻辑设计(人民邮电出版社)课后答案(邹红主编)

1-1将下列二进制数转换成等值的十进制数和十六进制数。 (1)(1101010.01)2; (3)(11.0101)2; (2)(111010100.011)2; (4)(0.00110101)2; 解:二进制数按位权展开求和可得等值的十进制数;利用进制为2k数之间的特点可以直接将二进制数转换为等值的十六进制数。 (1)(1101010.01)2=1×26+1×25+1×23+1×21+1×2-2 =(106.25)10=(6A.4)16 (2)(111010100.011)2=1×28+1×27+1×26+1×24+1×22+1×2-2+ 1×2-3=(468.375)10=(1D4.6)16 (3)(11.0101)2=1×21+1×20+1×2-2+1×2-4 =(3.3125)10=(3.5)16 (4)(0.00110101)2=1×2-3+1×2-4+1×2-6+1×2-8 =(0.20703125)10=(0.35)16 1-2将下列十进制数转换成等值的二进制数、八进制数和十六进制数。要求二进制数保留小数点后4位有效数字。 (1)(378.25)10; (3)(56.7)10; (2)(194.5)10; (4)(27.6)10; 解法1:先将十进制数转换成二进制数,再用进制为2k数之间的特点可以直接将二进制数转换为等值的八进制数和十六进制数。 (1)(378.25)10=(101111010.0100)2=(572.2)8=(17A.4)16 (2)(194.5)10=(11000010.1000)2=(302.4)8=(C2.8)16

(3)(56.7)10 =(111000.1011)2=(70.54)8=(38.B )16 (4)(27.6)10 =(11011.1001)2=(33.44)8=(1B.9)16 解法 2:直接由十进制数分别求二进制、八进制和十六进制数。由于二进制 数在解法 1 已求出,在此以(1)为例,仅求八进制数和十六进制数。

2018秋数字电路与逻辑设计实验课程要求及题目

2018~2019学年第一学期 《数字电路与逻辑设计实验(下)》课程要求 一、课程安排及要求: 本学期数字实验教学内容为综合课题设计,教学方式采用开放式实验教学模式,第7周和第10周实验按班上课,第8周和第9周实验室全开放,学生根据开放实验安排自行选择实验时间和地点,要求每人至少参加2次课内开放实验。 课程具体安排如下: 二、成绩评定 数字综合实验成绩由三部分组成: ●平时成绩:占总成绩的20% ●验收答辩:占总成绩的50% ●报告成绩:占总成绩的30% 实验报告评分标准如下(按百分制批改,占总成绩的30%):

三、实验题目 题目1 抽油烟机控制器的设计与实现 利用CPLD器件和实验开发板,设计并实现一个抽油烟机控制器。 基本要求: 1、抽油烟机的基本功能只有两个:排油烟和照明,两个功能相互独立互不影响。 2、用8×8双色点阵模拟显示烟机排油烟风扇的转动,风扇转动方式为如图1所示的四 个点阵显示状态,四个显示状态按顺序循环显示。风扇转动速度根据排油烟量的大小分为4档,其中小档的四个显示状态之间的切换时间为2秒,中档为1秒,大排档为0.5秒,空档为静止不动(即停止排油烟),通过按动按键BTN7来实现排油烟量档位的切换,系统上电时排油烟量档位为空档,此后每按下按键BTN7一次,排油烟量档位切换一次,切换的顺序为:空档→大档→中档→小档→空档,依次循环。 双色点阵模拟排油烟风扇转动示意图 3、设置按键BTN0为立即关闭按键,在任何状态下,只要按下BTN0,排油烟风扇就 立即停止工作进入空档状态。 4、设置按键BTN3为延时关闭按键,在大中小三档排油烟状态的任何一个档位下,只 要按下BTN3,排油烟风扇将在延时6秒后停止工作进入空档状态。延时期间用数码管DISP3进行倒计时显示,倒计时结束后,排油烟风扇状态保持静止不动。在延时状态下,禁用排油烟量档位切换键BTN7。 5、设置按键BTN6为照明开关键,用发光二极管LD6模拟照明灯,系统上电时照明灯 LD6处于关闭状态,按动BTN6来切换LD6的点亮和关闭。 6、系统工作稳定。 提高要求: 1、给油烟机加上音效,分档模拟排油烟风扇的噪音。 2、自拟其他功能。

实变函数论主要知识点

实变函数论主要知识点

实变函数论主要知识点 第一章 集 合 1、 集合的并、交、差运算;余集和De Morgan 公式;上极限和下极限; 练习: ①证明()()A B C A B C --=-U ; ②证明1 1[][]n E f a E f a n ∞=>=≥+U ; 2、 对等与基数的定义及性质; 练习: ①证明(0,1):?; ②证明(0,1)[0,1]:; 3、 可数集的定义与常见的例;性质“有限个可数集合的直积是可数集合”与应用;可数集合的基数; 练习: ①证明直线上增函数的不连续点最多只有可数多个; ②证明平面上坐标为有理数的点的全体 所成的集合为一可数集; ③Q = ; ④[0,1]中有理数集E 的相关结论; 4、 不可数集合、连续基数的定义及性质; 练习: ①(0,1)= ; ②P = (P 为Cantor 集);

第二章点集 1、度量空间,n维欧氏空间中有关概念 度量空间(Metric Space),在数学中是指一个集合,并且该集合中的任意元素之间的距离是可定义的。 n维欧氏空间: 设V是实数域R上的线性空间(或称为向量空间),若V上定义着正定对称双线性型g(g称为内积),则V称为(对于g的)内积空间或欧几里德空间(有时仅当V是有限维时,才称为欧几里德空间)。具体来说,g是V 上的二元实值函数,满足如下关系: (1)g(x,y)=g(y,x); (2)g(x+y,z)=g(x,z)+g(y,z); (3)g(kx,y)=kg(x,y); (4)g(x,x)>=0,而且g(x,x)=0当且仅当x=0

时成立。 这里x,y,z是V中任意向量,k是任意实数。 2、,聚点、界点、内点的概念、性质及判定(求法);开核,导集,闭包的概念、性质及判定(求法); 聚点:有点集E,若在复平面上的一点z的任意邻域都有E的无穷多个点,则称z为E的聚点。 内点:如果存在点P的某个邻域U(P)∈E,则称P为E的内点。 3、开集、闭集、完备集的概念、性质;直线上开集的构造; 4、Cantor集的构造和性质; 5、练习:①P=o,P'=,P=; ②11 1,,,, 2n ' ?? ?? ?? L L= ; 第三章测度论 1、外测度的定义和基本性质(非负性,单调性,次可数可加性); 2、可测集的定义与性质(可测集类关于可数

最新数字电路与逻辑设计试卷(有答案)

数字电路与逻辑设计(A 卷) 班级 学号 姓名 成绩 一.单项选择题(每题1分,共10分) 1.表示任意两位无符号十进制数需要( )二进制数。 A .6 B .7 C .8 D .9 2.余3码10001000对应的2421码为( )。 A .01010101 B.10000101 C.10111011 D.11101011 3.补码1.1000的真值是( )。 A . +1.0111 B. -1.0111 C. -0.1001 D. -0. 1000 4.标准或-与式是由( )构成的逻辑表达式。 A .与项相或 B. 最小项相或 C. 最大项相与 D.或项相与 5.根据反演规则,()()E DE C C A F ++?+=的反函数为( )。 A. E )]E D (C C [A F ?++= B. E )E D (C C A F ?++= C. E )E D C C A (F ?++= D. E )(D A F ?++=E C C 6.下列四种类型的逻辑门中,可以用( )实现三种基本运算。 A. 与门 B. 或门 C. 非门 D. 与非门 7. 将D 触发器改造成T 触发器,图1所示电路中的虚线框内应是( )。 图1 A. 或非门 B. 与非门 C. 异或门 D. 同或门 8.实现两个四位二进制数相乘的组合电路,应有( )个输出函数。 A . 8 B. 9 C. 10 D. 11 9.要使JK 触发器在时钟作用下的次态与现态相反,JK 端取值应为( )。 A .JK=00 B. JK=01 C. JK=10 D. JK=11 10.设计一个四位二进制码的奇偶位发生器(假定采用偶检验码),需要( )个异或门。 A .2 B. 3 C. 4 D. 5 二.判断题(判断各题正误,正确的在括号内记“∨”,错误的在括号内记“×”, 并在划线处改正。每题2分,共10分) 1.原码和补码均可实现将减法运算转化为加法运算。 ( )

实变函数学习心得

实变函数学习心得 实变函数课在我国高等学校数学系的教学计划中属于专业基础课,是一门承上启下的课。下面是为大家准备的实变函数学习心得体会,希望大家喜欢! 实变函数学习心得体会范文篇1 学习实变函数这们课已经一个学期了,对于我们数学专业的学生,大学最难的一门课就是实变函数论与实变函数这门课了。我们用的教材难度比较大,所以根据我自己学习这门课的心得与方法,有以下几点: 1、复习并巩固数学分析等基础课程。学习实变函数这门课程要求我们以数学分析为学习基础,因此,想学好这门课必须有相对比较扎实的数学分析基础。 2、课前预习。实变函数是一门比较难的课程,龙老师上课也讲得比较快、比较抽象,因此,适当的预习是必要的,了解老师即将讲什么内容,相应地复习与之相关内容。如果能够做到这些,那么你的学习就会变得比较主动、深入,会取得比较好的效果。 3、上课认真听讲,认真做笔记。龙老师是一位博学的老师,上课内容涵盖许多知识。因此,上课应注意老师的讲解方法和思路,其分析问题和解决问题的过程,记好课堂笔记,实变函数这门课比较难,所以建议听课是一个全身心投入听、记、思相结合的过程。 4、课后复习,做作业,做练习。我们作为大三的学生,我们要学

会抓住零碎的时间复习实变函数课堂的学习内容,巩固学习。复习不是简单的重复,应当用自己的表达方式再现所学的知识,例如对某些定理证明的复习,不是再读一遍书或课堂笔记,而是离开书本和笔记,回忆有关内容,理解并掌握其证明思路。做作业、做练习时,大家要重视基本概念和基本原理的理解和掌握,不要一头扎进题海中去。 所以,我们学习实变函数总的来说要把握课前、课时与课后的任务,学习内容要多下功夫掌握基本概念和原理及其证明思路,尽可能地掌握作业题目,在记忆的基础上理解,在完成练习中深化理解,在比较中构筑知识结构的框架,是提高学习实变函数课程效率的重要途径。 实变函数学习心得体会范文篇2 古语有云:微机原理闹危机,汇编语言不会编,随机过程随机过,量子力学量力学,实变函数学十遍。其它的不好说,这实变函数确实要多看几遍的。虽然我曾旁听过这门课,但是对于其中的种种总感觉模模糊糊,不甚明了。前几日在网上down了一个完整的教学视频,便想着把这门课重新来过,遂借着这片地方留下一些印记,好督促自己万不可半途而废。 1、集合列的极限有上下极限之分,只有当上下极限相等时,才称集合列存在极限。对于上极限可以这样定义: {x|x属于无穷多个An}.无穷多是用文字语言来进行形象的描述,那么转换成数学的语言应该是怎样的呢?类比数学分析中的聚点原理,我们可以假设若x属于某个Am,那么一定可以找到mm,使得x也属于m,如若不然,x就属于有限个集合,而不是无穷多个了。上述

前端设计&数字电路

要注意规范 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件 还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了, 更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如 果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的可重用性。 在逻辑方面,我觉得比较重要的规范有这些: 1.设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过 后才能进行下一步的工作。这样做乍看起来很花时间,但是从整个项目过程来看,绝对 要比一上来就写代码要节约时间,且这种做法可以使项目处于可控、可实现的状态。 2.代码规范。 a.设计要参数化。比如一开始的设计时钟周期是30ns,复位周期是5个时钟周期,我 们可以这么写: parameter CLK_PERIOD = 30; parameter RST_MUL_TIME = 5; parameter RST_TIME = RST_MUL_TIME * CLK_PERIOD; ... rst_n = 1'b0; # RST_TIME rst_n = 1'b1; ... # CLK_PERIOD/2 clk <= ~clk; 如果在另一个设计中的时钟是40ns,复位周期不变,我们只需对CLK_PERIOD进行重新例化就行了,从而使得代码更加易于重用。 b.信号命名要规范化。 1) 信号名一律小写,参数用大写。 2) 对于低电平有效的信号结尾要用_n标记,如rst_n。 3) 端口信号排列要统一,一个信号只占一行,最好按输入输出及从哪个模块来到哪 个模块去的关系排列,这样在后期仿真验证找错时后方便很多。如:

数字电路与逻辑设计课程设计

课程设计说明书 课程设计名称数字电路与逻辑设计 专业计算机科学与技术 班级150403班 学生姓名陆文祥 指导教师宋宇 2016 年12 月19 日

课程设计任务书

题目:1.简易数字电子钟的设计与制作 2.简易数字频率计的设计与制作 3.简易智力竞赛抢答器的设计与制作 4.简易玩具电子琴的设计与制作 5.自选题目:自动电子钟 目录 设计实验一 (4) 设计实验二 (8) 设计实验三 (11) 设计实验四 (15) 自选题目 (20)

设计实验一 一、实验题目: 简易数字电子钟的设计与制作 二、设计目的 1、了解计时器主体电路的组成及工作原理; 2、掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法; 3、熟悉集成电路及有关电子器件的使用; 三、实验要求 要求设计一个能显示两位秒信号的数字电子钟,分电路设计、电路安装、电路调测三个阶段完成。 四、实验内容 (一).设计原理思路: 本次设计以数字电子为主,分别对时钟信号源、秒计时显示、分计时显示、小时计时显示进行设计,然后将它们组合,来完成时、分、秒的显示并通过本次设计加深对数字电子技术的理解以及更熟练使用计数器、触发器和各种逻辑门电路的能力。电路主要使用集成计数器,如74ls90、74ls48,LED数码管及各种门电路和基本的触发器等,电路使用直流电源供电,很适合在日常生活中使用数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。数字电子钟由以下几部分组成:六十进制秒、分计数器、二十进制时计数器;以及秒、分、时的译码显示部分等。 (二)实验电路图 图1 数字电子钟

相关主题
文本预览
相关文档 最新文档