集成电路资料 三极管资料 可控硅资料 场效应管资料 模拟电路 数字电路
电视机电路图 二极管资料 国外IC厂商 器件检测 电子资料 友情链接
显示器电路图     会员资料修改 会员注册 登陆论坛
目录
第一章 数制与编码
一、数字的进制
二、各种数制相互转换
三、二进制数算术运算
四、原码、反码、补码
五、常用编码
第二章 逻辑基础
一、基本逻辑运算
二、逻辑代数运算规则
三、标准形式逻辑函数
四、逻辑函数公式化简
五、逻辑函数卡诺图化简
六、带约束项函数化简

第三章 门电路

一、分立元件门电路
二、TTL门电路
三、COMS门电路
四、门电路使用
第四章 组合逻辑电路
一、组合逻辑电路分析
二、组合逻辑电路设计
三、译码器
四、编码器
五、数据选择器
六、组合电路竞争冒险
第五章 ROM与可编程逻辑器件
一、只读存储器ROM
二、可编程逻辑器件原理
三、可编程阵列逻辑
四、通用阵列逻辑GAL
五、PLD设计方法及步骤
第六章 触发器
一、时序电路概述
二、R-S和D触发器
三、T和JK触发器
四、触发器相互转换
第七章 时序电路
一、同步时序电路分析
二、同步时序电路设计
三、计数器
四、异步时序电路分析
五、集成电路计数器
六、寄存器电路及应用
七、序列信号发生器
第八章 脉冲产生与变换
一、555定时电路
二、单稳态电路
三、多谐振荡器和施密特触发电路
第九章 数模模数转换电路
一、DAC
二、ADC
第十章 大规模集成电路
一、ROM及其应用
二、PLA及其应用
第五章 ROM与可编程逻辑器件(ROM and Programmable Logic Devices)
五、PLD设计方法及步骤
1、PLD器件的设计步骤

  1.电路逻辑功能描述

  PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在在PLD的设计过程中广泛使用,并且有更加浒的趋势,常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。

  2.计算机软件的编程及模拟

  不管是用硬件描述语言描述的逻辑还是用原理图描述的逻辑,必须通过计算机软件对其进行编译,将其描述转换为经过化简的布尔代数表达式(即通常的最简与或表达式),编译软件再根据器件的特点将表达式适配进具体的器件,最终形成PLD器件的熔断丝文件(通常叫做JEDEC文件,简称为JED文件)。
  通常在将用户设计的逻辑下载到具体器件中前,为了检查设计的结果是否正确,通常可以通过计算机软件进行模拟,检查其设计结果是不否与设计要求相符。

  3.通过编程器将JED文件下载到PLD器件中

  在上步中形成的熔断丝文件必须下载到PLD器件中去才能实现设计的要求,熔断丝文件的下载一般须通过编程器进行下载。
  编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程的专业设备,常见的编程器有台湾河洛公司的ALL系列、南京西尔特公司的Super系列等。编程器通常通过计算机的并行打印器将JED文件下载到编程器中,编程器再将JED文件根据器件的特点将其写入器件内部,从而达到下载的目的。下图给出了PLD的设计过程。

2、 可编程器件设计软件简介

  可编程器件的设计软件种类很多,各大器件厂家及一些软件公司都开发了一系列的设计软件,正是由于这些软件才推动了可编程器件的快速发展。
  通常根据逻辑功能的描述方法分为:语言描述和原理图描述设计两大类。常见的如DATA I/O公司的BAEL语言、四通公司ASIC事业部开发的针对GAL器件的FM(Fast MAP)软件等属于语言描述类设计软件;DATA I/O 公司的Synario软件,Orcad公司的PLD等软件属于电路图描述或电路图描述与语言描述相拼命的软件。这里主要以DATA I/O 公司的Synario软件为例说明GAL器件的设计过程,同时该软件还可以开发Lattice公司的pLSI器件和ispLSI器件等。

  1.ABEL-HDL语言

  ABEL-HDL语言是一种用语言来描述器件逻辑功能的设计语言,它与其它计算机语言一样有一些关键字及一些规定。

  (1)基本的运算表示

  ABEL-HDL语言运算可分为逻辑运算和算术运算。下面两个表格分别列出了两种运算的符号及功能,下面表格中红底的项为时序电路中才会使用到。

ABEL-HDL基本逻辑运算符号

运算符 优先级 功能 例子 含义
! 1 取反 !(AB) (AB)的非
& 2 与运算 A&B A·B
# 3 或运算 A#B A+B
$ 4 异或运算 A$B A⊕B
=   赋值 A=5 将5赋给A
==   数值相等 A==1 用于判断数值相等
!=   数值不等 A!=1 用于判断数值不等

ABEL-HDL基本算术运算符号

运算符 功能 举例 含义
+ 算术加 C=A+B 将A与B相加,将积再赋给C
- 算术减    
* 算术乘    
/ 算术除    
<<,>> 左,右移位 A<<B 将A左移B位

  (2)关键字

关键字 作   用 举  例
module 说明模块的开始,与END对应 MODULE tran
End 模块的结束 END
Title 说明模块的名称(可省略) Title 'U2 is a decode'
Equations 表明与器件相关的方程式的开始  
Pin 说明器件I/O的引脚 CLK,A Pin 1,2;
Istype 说明输出信号的属性 A Pin 19 istype 'COM';
Test_vectors 测试向量的开始  
Truth_table 真值表的开始  
When then Else 当什么时就怎样,否则怎样 When b then c=0 esle a=b
If then else    

  (3)ABEL语言设计举例

   写出全加器的ABEL-HDL语言的源文件。
  分析:在组合逻辑电路中我们分析了全加器的电路,我们可以用真值表、逻辑表达式、电路图等几种方式来描述其逻辑功能。其表达式写为:

进位输出:Co=A·B+A·Ci+B·Ci

本位和的输出:S=A⊕B⊕C

  其值表可写为:

Ci A B Co S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

  该逻辑用真值表和表达式皆可以表示,即ABEL的源文件可以有两种表达方式。
  源文件1:用表达式来表示

源文件  说  明 
Module FSUM; 模块定义,FSUM为模块名,每行结束用分号结束
  A,B,Ci pin 1,2,3; 定义A,B,Ci对应管脚1,2,3
  S,Co pin 19,18 istype 'com'; 定义S,Co的管脚,并定义其为组合逻辑电路输出
Equations 表示下面一段为逻辑表达式
  S=A$B$Ci;  
  Co=A&B+A&Ci+B&Ci;  
Test_vectors ([Ci,A,B]->[Co,S]) 测试向量定义,下面为测试向量用于模拟逻辑功能
       [0,0,0]->[0,0];  
       [0,0,1]->[0,1];  
       [0,1,0]->[0,1];  
       [0,1,1]->[1,0];  
       [1,0,0]->[0,1];  
       [1,0,1]->[1,0];  
       [1,1,0]->[1,0];  
       [1,1,1]->[1,1];  
End 模块结束

  源文件2:用真值表来表示
  只要将上面的源文件中Equations起的三行用下面一段代替即可。

Truth_table ([Ci,A,B]->[Co,S])
       [0,0,0]->[0,0];
       [0,0,1]->[0,1];
       [0,1,0]->[0,1];
       [0,1,1]->[1,0];
       [1,0,0]->[0,1];
       [1,0,1]->[1,0];
       [1,1,0]->[1,0];
       [1,1,1]->[1,1];

  2.原理图输入法

  ABEL-HDL语言作为一种逻辑描述语言可以进行PLD的设计,但由于有一些电路已经有了图纸,人们希望能直接将原理图写入PLD电路中去,省去进行程序设计的时间,随着计算机图形化界面的发展,现在利用电路图进行逻辑描述的软件功能愈来愈多。
  下图为一半加器的电路图,从图上可看出其包括以下几个部分:

  

  (1)逻辑符号:它可以是标准符号库的符号,也可以是代表其它电路功能的符号,如图中的异或门、与门符号,它代表了异或、与门的功能,但在软件上常常是英制的符号,所以读者使用是应加以注意;
  (2)连线:用来连接各个符号,其功能相当于实际电路的导线;
  (3)I/O标志:它用来标明电原理图的输入、输出信号,信号的方向(输入、输出、双向),及输入/输出脚对应于器件引脚号;
  (4)图片和文字:用于帮助说明电路的功能,便于理解电路的原理,对整个电路原理没有实际意义。

3、 可编程逻辑器件设计举例

  1.用ABEL语言设计
  (1)启动Synario软件并创建一个新的设计项目
 在Windows 95的程序组上执行Synario,屏幕中的出现Synario软件的开始界面。
 在 File菜单中选择New Profect…项,键入新的项目名如SUM。如下图所示。

  在实际使用时应注意该项目所处的目录位置,否则当退出当前操作后就找不到前的设计,当前的目录位置可由上图的右框中可以看出;另外还须注意的是,新的项目名一般不要使用中文当文件名。
  (2)选择器件
  双击Virtual Device,将出现Choose Device的对话框,如下图;在Device Kit中选择到GAL16V8,单击OK按钮选中该器件。

  (3)选择源文件的类型
  可编程逻辑设计的源文件可以是ABEL语言也可以原理图,在Source菜单中选择New,出现New话框后选择ABEL-Module表示进行ABEL语言的输入,输入相应的模块名及文件名。如下图。

  这里必须注意,ABEL的模块名不可以使用中文作为文件名,否则无法进行编译。
  (4)输入ABEL语言源程序 在对应的源文件编辑器中输入相应的源文件,在输入时关键字可以是大写,也可以是小写字母,但变量的大小写不能改变,否则在编译时将报错。如下图。

   (5)源文件编译

  在项目管理器下,选择左边方框中对应于源文件的文件名,双击右边区域中的Reduce Logic可以看到如上图所示的编译过程,如源文件无误,则编译器最终给出编译报告,说明完成该逻辑所需要的资源及经化简后的逻辑表达式;如源文件存在问题问题,则编译器会说明错误的原因及地方。
  (6)熔断丝文件形成
  在项目管理器左边的区域选择使用的器件(GAL16V8),双击右边区域中的Create Fuse Map, 可看到如下图所示的熔断丝文件的形成过程,如报设计的逻辑报需要的资源GAL16V8可以实现的话,将最终形成扩展名为.JED的熔断丝文件。

  (7)程序下载
   JED的文件须下载到具有的GAL器件中,才能完成其最终的设计,下载JED文件到GAL须用专门的硬件设计,这种专门的的设备即通常讲的编程器。这种设备与计算机的并口或串口相连,通过相应软件将JED文件下载到GAL器件中到。如下图给出了Super编程器下载JED文件的画面。
   在利用编程器进行下载时,首先选择器件的厂家,不同的厂家器件特性有所不同,故应选择对应的生产厂家,其次选择器件的型号,这时可以将需要下载的JED文件读入缓冲区,最后对器件进行编程,编程器将JED文件下载后还自动进行一次校验,如器件工作正常,则编程 器软件可告知下载正常,否则说明器件损坏。
  由于GAL器件是使用CMOS工艺生产的器件,故在对GAL器件编程时应注意计算机及编程器的接地是否良好,工作人员的人体是否带静电。

  2.原理图输入设计法
   原理图输入法的使用前面步骤与ABEL语言设计的前两步相同,下面是原理图设计的步骤:
  (1)选择源文件类型中选择Schematic,输入对应的图形文件名后将出现下图所示的原理图输入界面。

  (2)添加元件:选择菜Add中的Symbol命令,屏幕出现Symbol Libraries对话框,选择需要的件,其中: GATE:逻辑门电路;ARITHS:数学运算元件;IOPAD:输入输出元件;MUXEX:多路选择开关 ;REGS:寄存器。
  (3)连接两元件:从Add菜单中选择Wire,用MOUSE左键在须连接处单击后,拖动MOUSE到另一点再单击就将两点连接上了。
  (4)在输入输出端连上输入/输出元件:在菜单Add上选择Symbol中的IOPAD元件,在电路的输入/输出画上IOPAD元件。
  (5)给接口输出端赋名:从Add菜单中选择Net Name项,从屏幕底部输入栏中输入网络名并按回车,网络名会粘在光标上随MOUSE一起移动,将光标移到输入或输出端单击,网络名就被 放置在输入/输出处。
  (6)给接口的输入输出端标注类型:在Add菜单中选择I/O Markers,输对应的输入输出标上输入与输出的标记。
  (7)给器件锁定管脚:从Add中选择Symbol Attribute将MOUSE光标移到输入输出端的IOPAD上单击,将SynarioPin=*中的*改为所须的输出管脚号。
   到此一个完整的原理图已经输入完毕,将电路图保存后退出后就可以与ABEL_HDL语言一样进行编译,最终开成JED文件。

最佳浏览效果IE4.0或Netscape 4.0以上浏览器 800x600分辨率

http://www.dzjsw.com
 email:wuruan@ pub.wx.jsinfo.net