㈠ CS DS ES SS 是什么意思,都怎么用,处在程序中什么位置,起什么作用,
想知道他们怎么用,就必须了解他们的用途,他们和其他寄存器如何合作,寄存器寻址和存储器寻址如何完成?单说这几个段寄存器,不涉及其他寄存器,是不能真正了解掌握他们的。学习需要循序渐进,“莫在浮沙筑高台”
---------------
寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。
寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个 “8 位元寄存器”或 “32 位元寄存器”。寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。
寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为 “架构寄存器”。
例如,x86 指令及定义八个 32 位元寄存器的集合,但一个实作 x86 指令集的 CPU 可以包含比八个更多的寄存器。
寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。
[编辑本段]寄存器用途
1.可将寄存器内的数据执行算术及逻辑运算;
2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;
3.可以用来读写数据到电脑的周边设备。
[编辑本段]数据寄存器
8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。
(1)通用寄存器有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).
数据寄存器分为:
AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.
BH&BL=BX(base):基址寄存器,常用于地址索引;
CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.
DH&DL=DX(data):数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。
另一组是指针寄存器和变址寄存器,包括:
SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;
BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;
SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;
DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。
这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
(2) 指令指针IP(Instruction Pointer)
指令指针IP是一个16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加1,指向下一个指令字节。注意,IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address)或有效地址(EA,Effective Address)。
(3)标志寄存器FR(Flag Register)
8086有一个18位的标志寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。
OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
DF:方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。
IF:中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下:
(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
TF:跟踪标志TF。该标志可用于程序调试。TF标志没有专门的指令来设置或清楚。
(1)如果TF=1,则CPU处于单步执行指令的工作方式,此时每执行完一条指令,就显示CPU内各个寄存器的当前值及CPU将要执行的下一条指令。
(2)如果TF=0,则处于连续工作模式。
SF:符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
AF:下列情况下,辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低字节向高字节进位或借位时;
(2)、在字节操作时,发生低4位向高4位进位或借位时。
PF:奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
CF:进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。)
4)段寄存器(Segment Register)
为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:
CS(Code Segment):代码段寄存器;
DS(Data Segment):数据段寄存器;
SS(Stack Segment):堆栈段寄存器;
ES(Extra Segment):附加段寄存器。
当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,程序可以在可寻址空间小于64K的情况下被写成任意大小。 所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作。
以上是8086寄存器的整体概况, 自80386开始,PC进入32bit时代,其寻址方式,寄存器大小,功能等都发生了变化。
=============================以下是80386的寄存器的一些资料======================================
寄存器都是32-bits宽。
A、通用寄存器
下面介绍通用寄存器及其习惯用法。顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。通用寄存器最多的用途是计算。
EAX:通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)
EBX:通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。在保护模式中,同样可以起这个作用。
ECX:通用寄存器。通常用于特定指令的计数。在保护模式中,也可以作为内存偏移指针(此时,DS作为 寄存器或段选择器)。
EDX:通用寄存器。在某些运算中作为EAX的溢出寄存器(例如乘、除)。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)。
同AX分为AH&AL一样,上述寄存器包括对应的16-bit分组和8-bit分组。
B、用作内存指针的特殊寄存器
ESI:通常在内存操作指令中作为“源地址指针”使用。当然,ESI可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。
EDI:通常在内存操作指令中作为“目的地址指针”使用。当然,EDI也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。
EBP:这也是一个作为指针的寄存器。通常,它被高级语言编译器用以建造‘堆栈帧'来保存函数或过程的局部变量,不过,还是那句话,你可以在其中保存你希望的任何数据。SS是它的默认段寄存器或选择器。
注意,这三个寄存器没有对应的8-bit分组。换言之,你可以通过SI、DI、BP作为别名访问他们的低16位,却没有办法直接访问他们的低8位。
C、段选择器:
实模式下的段寄存器到保护模式下摇身一变就成了选择器。不同的是,实模式下的“段寄存器”是16-bit的,而保护模式下的选择器是32-bit的。
CS 代码段,或代码选择器。同IP寄存器(稍后介绍)一同指向当前正在执行的那个地址。处理器执行时从这个寄存器指向的段(实模式)或内存(保护模式)中获取指令。除了跳转或其他分支指令之外,你无法修改这个寄存器的内容。
DS 数据段,或数据选择器。这个寄存器的低16 bit连同ESI一同指向的指令将要处理的内存。同时,所有的内存操作指令 默认情况下都用它指定操作段(实模式)或内存(作为选择器,在保护模式。这个寄存器可以被装入任意数值,然而在这么做的时候需要小心一些。方法是,首先把数据送给AX,然后再把它从AX传送给DS(当然,也可以通过堆栈来做).
ES 附加段,或附加选择器。这个寄存器的低16 bit连同EDI一同指向的指令将要处理的内存。同样的,这个寄存器可以被装入任意数值,方法和DS类似。
FS F段或F选择器(推测F可能是Free?)。可以用这个寄存器作为默认段寄存器或选择器的一个替代品。它可以被装入任何数值,方法和DS类似。
GS G段或G选择器(G的意义和F一样,没有在Intel的文档中解释)。它和FS几乎完全一样。
SS 堆栈段或堆栈选择器。这个寄存器的低16 bit连同ESP一同指向下一次堆栈操作(push和pop)所要使用的堆栈地址。这个寄存器也可以被装入任意数值,你可以通过入栈和出栈操作来给他赋值,不过由于堆栈对于很多操作有很重要的意义,因此,不正确的修改有可能造成对堆栈的破坏。
* 注意 一定不要在初学汇编的阶段把这些寄存器弄混。他们非常重要,而一旦你掌握了他们,你就可以对他们做任意的操作了。段寄存器,或选择器,在没有指定的情况下都是使用默认的那个。这句话在现在看来可能有点稀里糊涂,不过你很快就会在后面知道如何去做。
指令指针寄存器:
EIP 这个寄存器非常的重要。这是一个32位宽的寄存器 ,同CS一同指向即将执行的那条指令的地址。不能够直接修改这个寄存器的值,修改它的唯一方法是跳转或分支指令。(CS是默认的段或选择器)
上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能没有听说过它们。(都是32位宽):
CR0, CR2, CR3(控制寄存器)。举一个例子,CR0的作用是切换实模式和保护模式。
还有其他一些寄存器,D0, D1, D2, D3, D6和D7(调试寄存器)。他们可以作为调试器的硬件支持来设置条件断点。
TR3, TR4, TR5, TR6 和 TR? 寄存器(测试寄存器)用于某些条件测试。
参考资料:http://..com/question/189601765.html
㈡ 数电数据选择器问题
数据选择器的1G,2G接地,使能数据选择器。
数据选择器和后面的译码器共同组成了显示驱动电路,当1~4按钮分别按下时数码管分别显示1~4。
1~4对应的BCD码为001,010,011,100。
译码器的D输入端显然一直是0,故接地;C输入端由于只在显示4时为1,其他时间均为0,故接到U8A的Q端,只在4按下时为1。
译码器的B和A两个输入端(也就是选择器的输出端2Y,1Y)在1~4时分别对应01,10,11,00,如果仅用U1A,U3A,U7A,U8A的Q输出信号显然难以实现,所以使用一个双4选一数据选择器来实现。
选择器的地址B和A共有四种组合,图中给出的连接是1按下对应地址01;2按下对应地址10;3和4按下时都对应地址00。
这样用地址分别对应相应的数字,(BA)→2Y1Y,应该是(01)→01;(10)→10;(00)→11;(00)→00;这样对应地址(01)和(10)的数据输入端2C1:1C1=01;2C2:1C2=10,显然3和4发生了地址重叠,这是不允许的,需要加以区分,又由于3和4的数据11和00的两个输入总是相同的,所以先把对应的输入端2C0和1C0连在一起,接着只需让3按下时也就是U7A的Q输出1时2C0和1C0输入1,而4按下也就是3不按下时2C0和1C0输入为0,所以2C0和1C0都与U7A的Q输出相连即可。图上应该是忘打连接点了。
至于1C1和2C2为什么要从非门引出,我也看不出他的目的。这个图是仿真软件画的么,试试把1C1和2C2接到VCC,应该也可以实现一样的功能。
㈢ 寄存器的具体举例
UxCTL寄存器是一个8位的寄存器。UASRT模块的基本操作由该寄存器的控制位确定的,它包含了通信协议、通信模式和校验位等的选择。图给出了寄存器的各个位。
图UxCTL寄存器
由图可以看出,UxCTL寄存器主要包括8个有效的控制位。为了增加对UxCTL寄存器的了解,知道怎样对该寄存器进行正确的设置,下面对UxCTL寄存器的各个位进行详细介绍。
PENA:校验使能位。当该位为0时,不允许校验;当该位为1时,允许校验。如果允许校验,则发送时产生校验位,在接收时希望接收到校验位。.当在地址位多机模式中¨地址位包括在校验计算中。
PEV:奇偶校验位。当该位为0时,进行奇校验;当该位为1时,进行偶校验。
SPB:停止位。该位用来选择发送时停止位的个数,但接收时停止位只有一个。当该位为0时,发送时只有1个停止位;当该位为1时,发送时有2个停止位。
CHAR:字符长度位。该位用来选择发送时数据的长度。当该位为0时,发送的数据为7位;当该位为1时,发送的数据为8位。
LISTEN:监听使能位。该位用来选择反馈模式。当该位为0时,没有反馈;当该位为1时,有反馈,发送的数据被送到接收器,这样可以进行自环测试。
SYNC:该位用于同步模式选择和异步模式选择。当该位为0时,USART模块为异步通信(UART)模式;当该位为1时,USART模块为同步通信(SPI)模式。
MM:多机模式选择位。当该位为0时,多机模式选择线路空闲多机协议;当该位为1时,多机模式选择地址位多机协议。
SWRST:软件复位使能位。当该位为0时,UASRT模块被允许;当该位为1时,UASRT模块被禁止。
通过以上对UxCTL寄存器的各个位的介绍,可以完成对通信模式和通信数据格式等的选择。 顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。通用寄存器最多的用途是计算。
EAX:通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段寄存器或选择器)
EBX:通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。在保护模式中,同样可以起这个作用。
ECX:通用寄存器。通常用于特定指令的计数。在保护模式中,也可以作为内存偏移指针(此时,DS作为寄存器或段选择器)。
EDX:通用寄存器。在某些运算中作为EAX的溢出寄存器(例如乘、除)。
同AX分为AH&AL一样,上述寄存器包括对应的16-bit分组和8-bit分组。 ESI:通常在内存操作指令中作为“源地址指针”使用。当然,ESI可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。
EDI:通常在内存操作指令中作为“目的地址指针”使用。当然,EDI也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。ES是默认段寄存器或选择器。
EBP和ESP:作为指针的寄存器,也可作为16位寄存器BP, SP使用,常用于椎栈操作。通常,它被高级语言编译器用以建造‘堆栈帧'来保存函数或过程的局部变量,不过,还是那句话,你可以在其中保存你希望的任何数据。SS是它的默认段寄存器或选择器。
注意,这四个寄存器没有对应的8-bit分组。换言之,你可以通过SI、DI、BP、SP作为别名访问他们的低16位,却没有办法直接访问他们的低8位。 实模式下的段寄存器到保护模式下摇身一变就成了选择器。不同的是,实模式下的“段寄存器”是16-bit的,而保护模式下的选择器是32-bit的。
CS代码段,或代码选择器。同IP寄存器(稍后介绍)一同指向当前正在执行的那个地址。处理器执行时从这个寄存器指向的段(实模式)或内存(保护模式)中获取指令。除了跳转或其他分支指令之外,你无法修改这个寄存器的内容。
DS数据段,或数据选择器。这个寄存器的低16 bit连同ESI一同指向的指令将要处理的内存。同时,所有的内存操作指令默认情况下都用它指定操作段(实模式)或内存(作为选择器,在保护模式。这个寄存器可以被装入任意数值,然而在这么做的时候需要小心一些。方法是,首先把数据送给AX,然后再把它从AX传送给DS(当然,也可以通过堆栈来做).
ES 附加段,或附加选择器。这个寄存器的低16 bit连同EDI一同指向的指令将要处理的内存。同样的,这个寄存器可以被装入任意数值,方法和DS类似。
FS F段或F选择器(推测F和下面的G正好是上面CS,DS,ES的字母顺延)。可以用这个寄存器作为默认段寄存器或选择器的一个替代品。它可以被装入任何数值,方法和DS类似。
GS G段或G选择器(G的意义和F一样,没有在Intel的文档中解释)。它和FS几乎完全一样。
SS堆栈段或堆栈选择器。这个寄存器的低16 bit连同ESP一同指向下一次堆栈操作(push和pop)所要使用的堆栈地址。这个寄存器也可以被装入任意数值,你可以通过入栈和出栈操作来给他赋值,不过由于堆栈对于很多操作有很重要的意义,因此,不正确的修改有可能造成对堆栈的破坏。
* 注意一定不要在初学汇编的阶段把这些寄存器弄混。他们非常重要,而一旦你掌握了他们,你就可以对他们做任意的操作了。段寄存器,或选择器,在没有指定的情况下都是使用默认的那个。这句话在现在看来可能有点稀里糊涂,不过你很快就会在后面知道如何去做。 EIP 这个寄存器非常的重要。这是一个32位宽的寄存器,同CS一同指向即将执行的那条指令的地址,存放指令的偏移地址。微处理器工作于实模式下,EIP是IP(16位)寄存器。不能够直接修改这个寄存器的值,修改它的唯一方法是跳转或分支指令。(CS是默认的段或选择器)
E、标志寄存器EFR
EFR(extra flags register)包括状态位、控制位和系统标志位,用于指示微处理器的状态并控制微处理器的操作。80486 CPU标志寄存器如图2.12所示。
①状态标志位:包括进位标志CF、奇偶标志PF、辅助进位标志AF、零标志ZF 、符号标志SF和溢出标志OF。
② 控制标志位:包括陷阱标志(单步操作标志)TF、中断标志IF和方向标志DF。80486 CPU标志寄存器中的状态标志位和控制标志位与8086 CPU标志寄存器中的状态标志位和控制标志位的功能完全一样,这里就不再赘述。
③ 系统标志位和IOPL字段:在EFR寄存器中的系统标志和IOPL字段,用于控制操作系统或执行某种操作。它们不能被应用程序修改。
IOPL(I/O privilege level field):输入/输出特权级标志位。它规定了能使用I/O敏感指令的特权级。在保护模式下,利用这两位编码可以分别表示0, 1, 2, 3这四种特权级,0级特权最高,3级特权最低。在80286以上的处理器中有一些I/O敏感指令,如CLI(关中断指令)、STI(开中断指令)、IN(输入)、OUT(输出)。IOPL的值规定了能执行这些指令的特权级。只有特权高于IOPL的程序才能执行I/O敏感指令,而特权低于IOPL的程序,若企图执行敏感指令,则会引起异常中断。
NT(nested task flag):任务嵌套标志。在保护模式下,指示当前执行的任务嵌套于另一任务中。当任务被嵌套时,NT=1,否则NT=0。
RF(resume flag):恢复标志。与调试寄存器一起使用,用于保证不重复处理断点。当RF=1时,即使遇到断点或故障,也不产生异常中断。
VM(virtual 8086 mode flag):虚拟8086模式标志。用于在保护模式系统中选择虚拟操作模式。VM=1,启用虚拟8086模式;VM=0,返回保护模式。
AC(alignment check flag):队列检查标志。如果在不是字或双字的边界上寻址一个字或双字,队列检查标志将被激活。 上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能没有听说过它们。(都是32位宽):
CR0, CR2, CR3(控制寄存器)。举一个例子,CR0的作用是切换实模式和保护模式。
还有其他一些寄存器,D0, D1, D2, D3, D6和D7(调试寄存器)。他们可以作为调试器的硬件支持来设置条件断点。
TR3, TR4, TR5, TR6 和TR?寄存器(测试寄存器)用于某些条件测试。
㈣ eda设计正负脉宽数控调制信号发生器
本书以掌握国内外最流行的电子设计自动化(EDA)技术为教学目标,以
培养学生的设计和应用开发能力为主线,系统地介绍EDA应用技术。
全书在取材和编排上,内容新颖、循序渐进,并注重理论联系实际。全
书共10章,主要内容包括VHDL硬件描述语言、Quartus Ⅱ等EDA工具软件、
可编程逻辑器件、实验开发系统、应用实例和综合设计实例。第4章对大量
常规的数字电路做出了VHDL描述,第7章详细阐述了9个典型数字系统的设计
方法,第9章选取了16个实验实例,第10章给出了4个代表性的全国大学生电
子设计竞赛赛题设计实例。读者完全可以通过这些实际操作,很好地掌握:
EDA的开发设计方法。每章后面附有小结和习题,便于读者学习和教学使用
。为方便教师教学,本书配有电子教案。
本书可作为高职高专及本科院校电子信息、电气、通信、自动控制、自
动化和计算机类专业的EDA技术教材,也可作为上述学科或相关学科工程技
术人员的参考书。还可作为电子产品制作、科技创新实践、EDA课程设计和
毕业设计等实践活动的指导书。
【本书目录】
第1章 EDA技术概述
1.1 EDA技术及其发展
1.1.1 EDA技术的涵义
1.1.2 EDA技术的发展史
1.2 EDA设计流程
1.3 EDA技术的主要内容及主要的EDA厂商
1.3.1 EDA技术的主要内容
1.3.2 主要EDA厂商概述
1.4 常用的EDA工具
1.5 EDA技术的发展趋势
1.5.1 可编程器件的发展趋势
1.5.2 软件开发工具的发展趋势
1.5.3 输入方式的发展趋势
1.6 EDA技术的应用
1.6.1 EDA技术的应用形式
1.6.2 EDA技术的应用场合
本章小结
思考题和习题
第2章 VHDL硬件描述语言
2.1 VHDL概述
2.1.1 常用硬件描述语言简介
2.1.2 VHDL及其优点
2.1.3 VHDL程序设计约定
2.1.4 VHDL程序设计举例
2.2 VHDL程序基本结构
2.2.1 实体
2.2.2 结构体
2.2.3 库
2.2.4 程序包
2.2.5 配置
2.3 VHDL语言要素
2.3.1 VHDL文字规则
2.3.2 VHDL数据对象
2.3.3 VHDL数据类型
2.3.4 运算操作符
2.3.5 VHDL语言结构体的描述方式
2.4 VHDL顺序语句
2.4.1 等待语句和断言语句
2.4.2 赋值语句
2.4.3 转向控制语句
2.4.4 子程序调用语句
2.4.5 返回语句
2.5 VHDL并行语句
2.5.1 进程语句
2.5.2 块语句
2.5.3 并行信号赋值语句
2.5.4 并行过程调用语句
2.5.5 元件例化语句
2.5.6 生成语句
本章小结
思考题和习题
第3章 Quartus Ⅱ软件及其应用
3.1 Quartus Ⅱ的使用及设计流程
3.1.1 Quartus Ⅱ的图形编辑输入法
3.1.2 Quartus Ⅱ的文本编辑输入法
3.2 Quartus Ⅱ设计正弦信号发生器
3.2.1 创建工程和编辑设计文件
3.2.2 编译
3.2.3 正弦信号数据ROM定制
3.2.4 仿真
3.2.5 测试
3.2.6 配置器件
3.3 MATLAB/DSP Builder设计可控正弦信号发生器
3.3.1 建立设计模型
3.3.2 Simulink模型仿真
3.3.3 SignalCompiler编译
3.3.4 使用Quartus Ⅱ实现时序仿真
3.3.5 使用Quartus Ⅱ进行硬件测试
与硬件实现
本章小结
思考题和习题
第4章VHDL应用实例
4.1 组合逻辑电路设计
4.1.1 基本门电路
4.1.2 译码器
4.1.3 编码器
4.1.4 数值比较器
4.1.5 数据选择器
4.1.6 算术运算电路
4.1.7 三态门及总线缓冲器
4.2 时序逻辑电路设计
4.2.1 时钟信号和复位信号
4.2.2 触发器
4.2.3 寄存器和移位寄存器
4.2.4 计数器
4.2.5 序列信号发生器和检测器
4.3 存储器设计
4.3.1 只读存储器ROM
4.3.2 随机存储器RAM
4.4 状态机设计
4.4.1 摩尔型状态机
4.4.2 米立型状态机
本章小结
思考题和习题
第5章 大规模可编程逻辑器件
5.1 可编程逻辑器件概述
5.2 简单可编程逻辑器件
5.3 复杂可编程逻辑器件
5.3.1 CPLD的基本结构
5.3.2 Altera公司的器件
5.4 现场可编程门阵列
5.4.1 FPGA的整体结构
5.4.2 Xilinx公司的’FPGA器件
5.4.3 FPGA的配置
5.5 在系统可编程逻辑器件
5.5.1 ispLsI/pLSI的结构
5.5.2 Lattice公司ispLSI系列器件
5.6 FPGA和CPI。D的开发应用选择
5.6.1 FPGA和CPL|D的性能比较
5.6.2 FPGA和CPLD的开发应用选择
本章小结
思考题和习题
第6章 常用印A工具软件
6.1 Altera MAX+plus Ⅱ的使用
6.1.1 MAX+plus Ⅱ功能简介
6.1.2 MAX+plus Ⅱ设计流程
6.1.3 MAX+plus Ⅱ设计举例
6.2 Xilinx Foundation的使用
6.2.1 Foundation设计流程
6.2.2.Foundation设计举例
6.3 ModelSim的使用
6.3.1 ModelSim的使用方法
6.3.2 ModelSim与MAX-+Iplus Ⅱ的接口
6.3.3 ModelSim交互命令方式仿真
6.3.4 ModelSim批处理工作方式。
本章小结
思考题和习题
第7章 EDA技术综合设计应用
7.1 数字闹钟的设计
7.1.1 系统的设计要求
7.1.2 系统的总体设计
7.1.3 闹钟控制器的设计
7.1.4 译码器的设计
7.1.5 键盘缓冲器(预置寄存器)的设计
7.1.6 闹钟寄存器的设计
7.1.7 时间计数器的设计
7.1.8 显示驱动器的设计
7.1.9 分频器的设计
7.1.10 系统的整体组装
7.1.11 系统的硬件验证
7.2 多功能信号发生器的设计
7.2.1 设计要求
7.2.2 设计实现
7.2.3 系统仿真
7.3 序列检测器的设计
7.3.1 设计思路
7.3.2 VHDL程序实现
7.3.3 硬件逻辑验证
7.4 交通灯信号控制器的设计
7.4.1 设计思路
7.4.2 VHDL程序实现
7.4.3 硬件逻辑验证
7.5 空调系统有限状态自动机的设计
7.5.1 设计思路
7.5.2 VHDL程序实现
7.6 电梯控制系统的设计
7.6.1 设计要求
7.6.2 设计实现
7.6.3 系统仿真
7.7 步进电机控制电路的设计
7.7.1 步进电机的工作原理
7.7.2 驱动电路的组成及VHDL实现
7.8 智力竞赛抢答器的设计
7.8.1 设计思路
7.8.2 VHDL程序实现
7.9 单片机与FPGA/CPLD总线接口的设计
7.9.1 设计思路
7.9.2 VHDL程序实现
本章小结
思考题和习题
第8章 EDA实验开发系统
8.1 GW48型EDA实验开发系统原理与使用
8.1.1 系统性能及使用注意事项
8.1.2 系统工作原理
8.1.3 系统主板结构与使用方法
8.2 GW48实验电路结构图
8.2.1 实验电路信号资源符号图说明
8.2.2各实验电路结构图特点与适用范围简述
8.3 GW48系统结构图信号名与芯片引脚对照表
8.4 GWDVP?B电子设计竞赛应用板 使用说明
8.5 GW48型EDA实验开发系统使用实例
本章小结
思考题和习题
第9章 EDA技术实验
实验1 8位全加器的设计
实验2 组合逻辑电路的设计
实验3 触发器功能的模拟实现
实验4 计数器的设计
实验5 计数译码显示电路
实验6 数字钟综合实验
实验7 序列检测器的设计
实验8 简易彩灯控制器
实验9 正负脉宽数控调制信号发生器的设计
实验10 数字秒表的设计
实验11 交通灯信号控制器的设计
实验12 模拟信号检测
实验13 4位十进制频率计设计
实验14 VGA显示器彩条信号发生设计
实验15 A/D转换控制器的设计
实验16 音乐发生器的设计
第10章 EDA技术在全国大学生电子设计竞赛中的应用
10.1 等精度频率计设计
10.1.l 系统设计要求
10.1.2 系统组成
10.1.3 工作原理
10.1.4 FPGA开发的VHDL设计
10.1.5 系统仿真
10.1.6 系统测试与硬件验证
10.1.7 设计技巧分析及系统扩展思路
10.2 测相仪设计
10.2.1 测相仪工作原理及实现
10.2.2 系统测试
10.3 基于DDS的数字移相正弦信号发生器设计
10.3.1 系统设计要求
10.3.2 系统设计方案
10.3.3 DDS内部主要模块的VHDL程序实现
10.3.4 系统仿真与硬件验证
10.3.5 设计技巧分析与系统扩展思路
10.4 逻辑分析仪设计
10.4.1 设计任务
lO.4.2 设计基本要求
10.4.3 设计实现