电子系统设计

更新时间:2023-08-31 21:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

矿大半开卷考试专用

1. 何谓数字电子系统:可以完成某种(或多种)PCI总线规定 5内置JTAG

也称为下载。分类:按使用计算机的通讯特定的、功能不单一的一种电子系统。一般应包4.1)串口下载2)并口下载3)USB接含某种控制器及受控单元。构成数字电子系统的/CPLD/FPGA器件划4种方法/途径: 5.灵活的内部连接6.功能强大的I/O引脚7.1)CPLD编程(适用于片内编程元件为A 用普通中小规模的74系列和COMS的8.所有器件都经过100、E2PROM和闪存的器件)2)FPGACD4000/4500系列器件; 9.FLEX10K器件由Altera的Quartus和SDRAM的器件)B 用大规模集成的CPU/MCU/DSP器件; Ⅱ开发系统支持10.能与其他公司CPLD/FPGA器件在编程下载过程中的状态C 用专门的、大规模集成的ASIC器件; EDA工具接口11.多种配置方式1)主动配置方式在这种配置方式下,由D 用大规模集成的CPLD/FPGA器件. PLD技术EAB、作用: EAB : embedded array block器件引导配置操作的过程并控制着外部的发展过程及现代化发展趋势:PLD中嵌入的一大块RAM。它可提供20482)被动配置方式在这种配SPLD-CPLD/FPGA-SOPC.趋势:继续提高器件的集,可实现16个以上的LEs所能完成的复杂,由外部CPU或控制器(如单片机)控成度和芯片功能;采用新一代的生产系统;降低RAM;能用一种CPLD/FPGA器件的工作状态1、器件的功耗和工作电压;IP内核得到进一步的发以实现预期的逻辑功能;CPLD/FPGA器件展;PLD与ASCI,CPU出现相互融合。两大家:,也可组合起来使用;可以将EAB2、初始化状态ALTERA和XILINX CPLD/FPGA器件内部的各类寄存器复位,2.EDA是什么?现代EDA技术是设计IC和开发RAM、ROM I/O引脚为使器件正常工作作好准备。3、用CPLD/FPGA必不可少的工具,具有输入、存储LUT);实现FIFO 功能。FLEX 10KCPLD器件正常工作时的状态; 、编译、仿真、调试、下载等重要功能。EDAEAB。EAB基本结构主要为查找表(LUT)结构1可编应用1、电子线路设计 (如PROTEL中的SCH设CLB)2可编程输入输出块(IOB)3计)2、PCB设计(如PROTEL中的PCB设计)3、ICLABPIR)

设计(如1.普通IC设计2.专用IC设计3.PLD应用 FLEX 10K器件LE的组成:有两种配置模式1)被动串行模式设计 用EDA开发PLD内容 设计输入(原理图LE含有一个4输入查找表(LUT)I/O配置。2)边界扫描模式(JTAG)配置。 输入、HDLMAX+PLUSⅡ中进行AHDL层次化设计的基设计处理(优化和综合、映射、布局与布线、生指出ALTREA的FLEX10K系列器件与1、分析设计任务,将任务分解成编程文件)设计验证 (功能仿真、时序仿真:相同点:都是LSI/VLSI, 编制好每个模块的AHDL程、在线验证 可由用户自定义编程使用,2、在MAX+PLUSⅡ中使用文本编辑器(Text 中完成各个模块的程序输入与调试,并用3.了解人们为何要发展出各种可编程逻辑器件命令建立模块的符号文? MAX7000.SYM文件)。3、在图形编辑器(Graphic 主要目的是:人们想经济的自己定义/设计大规EEPROM;无需外部配置,中建立一个GDF文件,调入各个模块文模集成的数字电子系统,达到少花钱又开发出满FLEX10K:属于LUT连接好输入输出管脚,然后编译调试通过。4、足自己要求的大规模集成数字电子系统。 SRAM;MAX+PLUSⅡ的仿真器(Simulator)中,模拟输4、CPLD属于何种结构?用那些基本方法/技术10万门级。 进行功能仿真以便检查设计是否符研制/设计出来的?―――属阵列型结构,可编状态机就是一组触发器的输出状态随着时钟如果有错,则返回第二步重新进行程的与阵列,固定的或阵列,在GAL的基础上发 、5、在Programmer中将经验展起来,EEPROM存储单元,非易失性器件。 5、FPGA属于何种结构?用那些基本方法/技术1.cpld芯片中。 研制/设计出来的?―――属门阵列结构,利于LUT实现逻辑功能,用SRAM存储编程数据,集<状态数成度易做的很高,但调电后功能消失,是易失性2^ <状态位数> 、对所设计的CPLD/FPGA芯片进行实际电路器件。 时序逻辑电路的一般AHDL设计方法6.ALTERA MAX7000S系列器件的基本结构: 、可编程逻辑器件 什么是?可编程逻辑器件1、首先分析具体设计要求。划分电路

(独立)的模块,需要的话可将

A 与或乘积项结构,EEPROM工艺,非易失性ICR2、确定整个设计的输入

器件,芯片的集成度相对低;B 基本部件是:LE即:输出变量和需要的时钟信号。对于需要多

; 。PLD需确定各个时钟信号之间的

C 3个基本组成:LAB/PIA/IOB,1个LAB中包含MCU的区别;MCU3、对于子模块也需找出各自的输入、

16个LE;D 了解器件型号的命名规则。 PLD是通过内部硬件布线、4、ALTERA FLEX 10K系列器件的基本区别。 所以PLD 设计分频器,得到A LUT,SRAM工艺,易失性器件,芯片的集成度MCU要快得多。阵列型简单PLD 4)相对高;B 基本部件是:LE;C 4分类名称 与阵列 、对每个模块应用数字电路设计时序电路的方LAB/EAB/PIA/IOB,1个LAB中包含8个LE,每个 画出状态图。利用状态机、计数器和寄存器EAB的容量是2KBit;D 了解器件型号的命名规可编程只读存储器 固定 可编程 固定 设计时注意则 可编程逻辑阵列 可编程 可编程 固定 6、为每7.MAX7000S系列器件: 是阵列型的PLD器件可编程整列逻辑 可编程 固定可 组态 AHDL文件,完成模块设,非易失性配置(EEPROM)通用阵列逻辑 可编程 固定 组态功能强 PLD使用的内部编程元件种类:(1) FLEX 10K/1K系列器件:是LUT型的PLD器(Fuse)或反熔丝(Antifuse)开关;下载到CPLD芯片中。FLEX10K器件主要由件,易失性配置(SRAM),应用中需要采用外部EAB、逻辑阵列块LAB、快速布线互

Fast Track和I/O单元等四部分组成SOPC:配置元件(EPROM/EEPROM等),集成度可EPROM、E2PROM与Flash Memory()

制造百万个以上的晶做到很高(可达数百万门),尤其易于实现时序简称为闪存);(3) IC芯片具备一个数字系逻辑电路,器件性价比甚高等。Altera MAX SRAM。PAL器件 结构 “单片系统”(SOC

7000 结构:逻辑阵列块(LAB)、可编程连线阵&)和SOPC单片系统集成度

列(PIA)、I/O控制块(I/O B),另外,有4个专otp)输出类型:用HDL填空:典型

用全局输入信号 MAX 7000利用什么技术实现可编程输入输出结构、SPLD是由一个可编程与门阵列和一个固定的

复杂逻辑函数:对于更复杂的逻辑功能,还需GAL器件 基本结构(可编程与阵列&CPLD和FPGA都是可编程逻辑

要用更多的乘积项来实现,这时可以利用另外&可编程的输出逻辑宏单元OLMC):1.PAL和GAL的基础上发展起来一个宏单元提供所需的逻辑资源,MAX 70001、通用性和应用灵活性较高2、GAL器件3.CPLD器件中至少包含LAB\PIA\I/OB结构允许利用共享乘积项和并联扩展项来实3、GAL器件100%可测试4现。MAX 7000宏单元的组成:每个宏单元由5 工作原理 GAL器件为与阵列可编程、 个乘积项组成。这些乘积项可作为或门、异或AHDL程序至少应包含子设计段和逻辑设门的输入以实现组合逻辑函数。或者可作为触工艺,具有电擦写反复编程的特性。LE是FLEX10K结构种的最小发器的辅助输入,实现置位、复位、时钟等信FLEX10K器件内部最基本的逻辑部

LAB的中文含义是逻辑阵列块。在MAX系号。每个宏单元有一个乘积项可以反相后送回。通过编程写入,用户可将OLMCLE主要是通过逻辑阵列来实现逻辑逻辑阵列,供LAB中的其他宏单元共享。Alera这样一种型号的GALLAB种包含16个LE。在FLEX系列公司MAX7000器件扩展乘积项的种类和作用:PAL器件先前讨论过的全部四种输出模式

LE主要是通过LUT来实现逻辑函数共享扩展项 就是由每个宏单元提供一个未投入增强了器件的通用性 LAB中包含8个LE..LE主要由一个LUT使用的乘积项,并将它们反相后反馈到逻辑阵(1个可编程的与阵列8个输入缓冲器8

列中,以便于集中使用。并联扩展项 是利用/反馈缓冲器8 8个输出逻辑宏单元OLMC1

ALTERA公司生产的FLEX/ACEX系列器件内LAB中没有使用宏单元和他们的乘积项,这些CLK 缓冲器1个输出使能缓冲器)EAB LAB I/O 和可编程行列连乘积项可以分配到临近的宏单元中去,以实现的输出逻辑宏单元OLMC的几种组态和特

FLEX/ACEX系列器件内部的可

高速复杂的逻辑功能。利用扩展乘积项可保证 1.专用输入2.专用组合输出3.反馈组合输出EDA软件进

在逻辑综合时,用尽可能少的逻辑资源得到尽5.寄存器输出。

CPLD/FPGA逻辑设计,通常有设计输入、逻

可能快的工作速度。FLEX10K器件主要由嵌入式组成:1逻辑块(LB) <或称逻辑阵列块(

阵列EAB、逻辑阵列块LAB、快速布线互连Fast )>2可编程内连线(PI)、3可编程I/OEAB构成,Track和I/O单元等四部分组成。 I/O B)CPLD的性能特点:1EAB提供2048 2)采用CMOS EPROM、(PAM)乘法器(ROM),FIFOFLEX 10K组成:FLEX10K器件主要由1嵌入式Flash Memory和SRAM等编程技术,具有高ERAM等功能。MAX7000系列器件使用的阵列EAB、2逻辑阵列块LAB、3快速布线互连 3)I/OEEPROM,FLEX10K系列是SRAM. HDLFast Track,4I/O单元等四部分组成 特点:1.属设计综合,设计验于嵌入式PLD系列,具有在单个器件中的系统集和GAL 45、在文本编辑时采用在图形输入和成能力2.高密度3. 系统级特点(1采用先进的 5)SRAM制造工艺,支持多种工作电压 2支持多电可预测,和RETURN()函数,若引用的是图形压I/O接口 3低功耗 4FLEX 10K和FLEX10KA 6)则有多位加密位,INCLUDE的默认模块,

矿大半开卷考试专用

引用额方式为INCLUDE “模块名.inc”简述引脚必须始终与5V电源相连。在这个GND:2,10FPGA器件的几种配置方法:使用JTAG本质的区别。利用HDL语言进行电路设计是,MAX7128的基本结构:逻辑阵列块、宏单元、电平下,输入电压时TTL电平并与3.3V下载方法进行配置(掉电后丢失);使用PS下基本上等效为数字电路的逻辑图和真值表。 扩展乘积项、可编程连线、I/O控制块。 5V输入电压兼容。根据输出要求:VCC10引载方法(掉电后丢失);使用EPC器件进行配置

3.3V或5V电源。当VCCINT接5V电(非易失配);使用单片机和EEPROM作为通讯输出电平与5V系统兼容,当VCCIO接3.3V/下载接口。判断题:错误的AHDL文件属于二

简述CPLD器件多电压接口的含义及用途:能够3.3V系统兼容。当VCCIO进制文件,可以利用文本文件编辑器来建立文与不同的电源电压的系统接口。作用:所有封装4.75V时,会增加一个短延时。MAX器件本。CPLD工作电压与普通的CMOS工作范围一中的5V器件都能将i/o设置在3.3V或5V下工JTAG配置引脚:TCK/TDI/TDO/TMS TCK:1 样。对的:AHDL是一种模块化的高级语言,他 作。这些器件设有两组VCC引脚,他们分别是 VCC:4 TDO:3 TMS;5 GND: 2,10 完全集成与MAX+PLUSII系统中,特别适用于描用于内部电路和输入缓冲器和用于I/O输出缓冲器件的PS配置引脚:DCLK:1 DATAO;9

器。非MAX7000A器件的MAX7000系列器件的 CONFIG_DONE;3 NSTATUS;7 HDL是一种并行执行语言,与计算机编程语言有4位二进制计数器设计 subdesign 4bcnt

(inclk : input ; out[3..0] : output ;) variable

count[3..0] :dff ; begin

count[].clk=inclk ;

count[].d=count[].q+1 ; out[]=count[] ; end ;

十分频器设计(输入10个脉冲,输出1个脉冲)

SUBDESIGN fp10 (inclk :input; fpf :output;) VARIABLE a[2..0],fp: dff; BEGIN

a[ ].clk=inclk;

fp.clk=inclk;ifa[ ]==4 then a[ ]=0;fp=!fp; else

a[ ]=a[ ]+1;fp=fp; end if; fpf=fp; END;

含进位输出的4位二进制BCD计数器设计

SUBDESIGN BCDCNT ( inclk : input;

out[3..0],cy: output;) VARIABLE

count[3..0], fp:dff; BEGIN

count[ ].clk=inclk; fp.clk=inclk;

if count[ ]==9 then

count[ ]=0;fp=vcc;--进位输出 else

count[ ]=count[ ]+1; fp=gnd; end if;

out[ ]=count[ ];cy=fp; END;

8位比较器设计 subdesign cmp8 (a[7..0],b[7..0] :input; dy,xy,equ :output;) begin

if(a[ ]>b[ ]) then dy=Vcc;

elsif a[]==b[ ] thenequ=Vcc; else xy=vcc; end if; end;

2—4译码器设计(CASE)语SUBDESIGN decoder (code[1...0] : INPUT; out[3...0] :OUTPUT; )

BIGEN

CASE code

WHEN 0=>out[]=B”0001”: WHEN 1=>out[]=B”0010” WHEN 2=>out[]=B”0100” WHEN 3=>out[]=B”!000” END CASE END

3-8线译码器

subdesign 3_8Decoder (in[2..0],G[3..1] :input; Y[7..0] :output;) Begin

IF(g1==vcc&G2==GND&G3==GND)then case in[] is

when 0=> Y[]=H”FE”; when 1=> Y[]=H”FD”;; when 2=> Y[]=H”FB”;”; when 3=> Y[]=H”F7”; when 4=> Y[]=H”EF”;

when 5=> Y[]=H”DF”;;when 6=> Y[]=H”BF”;

when 7=> Y[]=H”7F”; end case;end;

计数译码电路用FUNCTION语句调用 FUNCTION

4count(clk,clrn,setn,ln,cin,dnup,d,c,b,a)

RETURNS(qd,qc,qb,qa,cout); FUNCTION16dmux(d,c,b,a) RETURNS(q[15..0]); SUBDESIGN macro2 ( clk :input;

out[15..0] :output;) VARIABLE q[3..0] : NODE; BEGIN

(q[3..0] , )=4count(clk , , , , , GND , , , , );

out[15..0]=16dmux(q[3..0]); 也可写成:

(out[15..0])=16dmux(q[3..0]); END;

60进制计数器subdesign cout60_t

(LDN,EN,CLRN,CLK,Da[3..0],Db[2..0]:input;

Qa[3..0],Qb[2..0],RCO:output;) Variable

coua[3..0],coub[2..0]:dff; tmp:node; begin

coua[].clk=clk;coub[].clk=clk; coua[].clrn=CLRN;coub[].clrn=CLRN;

IF LDN==0 THEN

coua[].d=Da[];coub[].d=Db[]; ELSIF EN THEN IF coua[].q==9 then coua[].d=0;

if coub[].q==5 then coub[]=0;

else coub[]=coub[]+1; end if; else

coua[]=coua[]+1;coub[]=coub[]; end if; end if;

Qa[]=coua[];tmp=Qa3&Qa0&EN;

Qb[]=coub[];RCO=Qb2&Qb0&tmp; end;

奇数分频subdesign fp7 (inclk:input; fpf:output;) Variable

a[2..0],fp,fpo:dff; Begin

a[].clk=inclk; fp.clk=inclk; fpo.clk=inclk; if a[]==3 then a[]=0;fp=!fp; elsif a[]==4 then a[]=a[];fpo=!fpo; else

a[]=a[]+1;fp=fp;fpo=fpo; end if;

fpf=fp#fpo; end;

四位全加器subdesign 4plus (a[3..0],b[3..0]:input; out[3..0],cy:output;) begin

out[]=a[]+b[];

if(out[]<=a[])and(out[]<=b[]) then cy=vcc; else cy=gnd; end if;end;

用AHDL语言设计一个可控加/减计数器。要求 1NK=1时循环计数0~13(加);1NK=0时循环计数0~13(减)

SUBDESIGN 12CNTK (inclk’ink:input; q[3..0] output; )

Variable a[3..0]:dff; bigen

a[].clk=inclk; if ink==1 then;

if a[].ink==11 then a[]=0; else a[]=a[]+1; end if; else

if a[]==0 then a[]=11; else a[]=a[]-1; end if; end if q[]=a[]; end

优先全编码器 priority

(low,middle,high:INPUT: out[1..0]:OUTPUT; );

BEGIN

If high THEN out[]=3;

ELSE middle THEN out[]=2; ELSE low THEN out[]=1; ELSE out[]=1; END IF; END;

十六位的地址译码器 Subdesign decodl

(address[15..0] :INPUT; Chip_enable :OUTPUT; )

BEGIN

Chip_enable=(address[15.. 0]==H”0370”;) END

用AHDL语言描述4*4乘法器 Subdesign 4*4mul (a[3..0],b[3..0]:input; C[7..0] :output; )

BEGIN

C[]=(0,a[]&b0)+(0,a[]&b1)+ (0,a[]&h2,0,0)+(0,a[]&h3,0,0); END

1:3人表决器 SUBDESIGN VOTE3

( in[2..0] : INPUT; out : OUTPUT; ) BEGIN

CASEin[] is

WHENH“0”=>out=GND; WHENH“1”=>out=GND; WHEN H“2”=>out=GND; WHENH“4”=>out=GND; WHENOTHERS=> out=VCC; ENDCASE; END;

十六bit计数器

Subdesign counter 16 (

clk,load,ena,clr,d[15..0]:INPUT; q[15..] :OUTPUT; )

VARIABLE

Count[15..0] :DFF; BEGIN

count[].clk=clk; count[]=! Clr; IF load THEN count[].d=d[]; ELSE ena THEN

count[].d= count[].q+1; ELSE

count[].d= count[].q END IF q[]=count[]; END

40MHz时的分一秒 Subdesign sign fp (inclke:input; Outputf:output; )

variable

fp[24..0]:dff; f:dff; begin

fp[].clk=inclk;f.clk=inclk; iffp:==19999999 then fp[]=0;f11; else fp[]=fp+1; f=f; end if; output=f

具有进位和BCD译码输出的60

进制的计数器

Subdign 60cnt ( inclk:input;

OA[6..0],OB[6..0],CY:output;) Variable

A[3..0],B[3..0]:dff; Begin

(A[],B[]).clk=inclk;

If(b[]==5)and(A[]==9)then B[]=0;A[]=0;

Elsif(A[]==9)then A[]=0;B[]=B[]+1;

\else A[]=A[]+1;B[]=B[]; \end if; Table

A[]=>OA[]; 0=>H”3F”; 1=>H”06”; 2=>H”5B”; 3=>H”4F”; 4=>H”66”; 5=>H”6D”; 6=>H”7D”; 7=>H”07”; 8=>H”7F”; 9=>H”6F”; END TABLE; Table

A[]=>OB[]; 0=>H”3F”; 1=>H”06”; 2=>H”5B”; 3=>H”4F”; 4=>H”66”; 5=>H”6D” End table; End;

带预置端的8位锁存器的设计 Subdesign latch

(clk,load,d[7..0]:input; Q[7..0]:output;) Variable

Ff[7..0]:dffe; Begin

Ff[].clk=clk; Ff[].ena=load; Ff[].d=d[]; Q[]=ff[]; End;

画出以下程序的电路图 Subdesign declde (a0,a1,b,d:input; Out1,out2:output;) Variable Temp:node; Begin

Temp=a0&!a1; Out1=temp&b; Out2=temp&d; End;

数字钟扫描显示 Subdesign cxsm (inclk;input; A[3..0]:input; B[3..0]:input; C[3..0]:input; D[3..0]:input;

Outa[6..0],bitout[3..0]:output;)

Variable

Mda[14..0]:dff; Mseg[3..0]:dff; St[1..0]:dff; Fpa:dff; Begin

Fpa.clk=inclk;mseg[].clk=fpa;

St[].clk=fpa;mda[].clk=inclk;bitout[].clk=fpa;

If mda[]==19999then Mda[]=0;fpa=!fpa; Else

Mda[]=mda[]+1;fpa=fpa; End if;

Case st[]is When 0=> Mseg[]=a[]; Bitout[]=1; St[]=1; When 1=>

Mseg[]=b[]; Bitout[]=2; St[]=2; When 2=> Mseg[]=c[]; Bitout[]=3; St[]=3; When 3=> Mseg[]=d[]; Bitout[]=8; St[]=0; End case; Table

Mseg[3..0]=>outa[6..0]; 0=>H”3F”; 1=>H”06”; 2=>H”5B”; 3=>H”4F”; 4=>H”66”; 5=>H”6D”; 6=>H”7D”; 7=>H”07”; 8=>H”7F”; 9=>H”6F”; END TABLE; End;

本文来源:https://www.bwwdw.com/article/gcoi.html

Top