0415、数字电子系统设计(CPLD)实验指导书资料
收藏
资源目录
压缩包内文档预览:(预览前20页/共97页)
编号:6123299
类型:共享资源
大小:505.61KB
格式:ZIP
上传时间:2017-11-24
上传人:超****计
IP属地:浙江
4.8
积分
- 关 键 词:
-
数字
子系统
设计
cpld
实验
试验
指导书
资料
- 资源描述:
-
0415、数字电子系统设计(CPLD)实验指导书资料,数字,子系统,设计,cpld,实验,试验,指导书,资料
- 内容简介:
-
数字电子系统设计(CPLD)实验指导书中国矿业大学电工电子教学实验中心2001 年 11 月1目 录第一部分 CPLDEE 实验 开发系统及配套软件简介第一节 CPLDEE 实验开发系 统简介第二节 CPLDDN 下 载软件简介第二部分 数字电子系统设计实验实验一 简单 逻辑 电路 设计 与仿真实验二 译码与寄存 器电 路设计与仿真实验三 全 加器 设计、仿 真与 下载实验四 分频程 序设计 与 12 归 1 电路实验五 利用硬 件描述语言进 行数字钟设计实验六 串形扫 描显示 电路设计实验七 BCD 码转换 电路 设计实验八 数据采 集与 显示 电路 设计实验九 LPM 使用及 88 乘 法器的设计实验十 CPLD 间串 行通信( 单工)综合实验一 数字系 统设计与单 片机接 口实验一综合实验二 数字系统 设计 与单片机接 口实验二综合实验三 数字系 统设计与单片 机接 口实验三综合实验四 数字系统 设计 与单片机接 口实验四综合实验五 数字系统设计 与单片机 接口实验五综合实验六 CPLD 与 计算 机双 工串行通 信实验综合实验七 CPLD 与计算机并行口 通信实验2第一部分 CPLDEE 实验开发系统及配套软件简介第一节 CPLDEE 实验开发系统简介目前,随着大规模可编程器件在市场上的应用越来越广泛,各高校都相继开出了这门课程,为了配合高校 EDA 技术的教学、实验以及科研人员的设计开发,我们推出了 CPLDEE-4 系列实验开发装置。本实验装置是在世界银行贷款招标标书要求的基础上设计并有所突破,广泛适用于教学和科研,面向本科教育、研究生教育及科研开发。1. 系统基本特征 配备:本实验箱配有三家公司(altera低电压1k系列(3万门以上)、lattice的ispLSI1032E70LJ84、xilinx的xc95108系列)芯片下载板,适用范围广泛。 资源:芯片门数最多达到10万门(ACEX1K100),管脚可达 208脚。 编辑方式有图形编辑,文本编辑,波形编辑,混合编辑等方式, 硬件描述语言有AHDL, VHDL,Verilog-HDL等语言。 主板功能: 配有模拟可编程器件ispPAC器件系列,突破传统的EDA实验箱一般只做数字电路实验的模式,用户可以在实验箱上通过的模拟可编程器件进行模拟电子的开发训练。 实验箱配有10个数码管,(包括6个并行扫描数码管和4个串行扫描数码管)。 个数据开关,4个脉冲开关,数据开关和脉冲开关可配合使用,也可单独使用。 AD转换,采用双AD转换,有常规的8位A D 转换器ADC0809,还可以适配位数较高,速度较快的12位AD 转换器MAX196。 DA转换器,采用学生所熟知的芯片DAC0832. 通用小键盘,本实验箱提供16个微动开关(4X4 ),可通他们方便的进行人机交互。 单片机扩展槽,由于实验箱上的所有资源(如数码管、数据开关、小键盘等)都可以借用,因此通过此扩展槽可以开发单片机及单片机接口实验。 外围扩展口,为了便于开发,本实验箱还预留一个40PIN的扩展槽,用以与外围电路的联接。2. 本实验箱可完成的实验本实验箱用作数字系统设计实验。 可完成的基础实验: 各种传统数字电路实验 AHDL、VHDL、VERILOG语言描述数据显示译码设计 语言描述设计加法器,乘法器,计数器,数字钟,分频器,数字频率计等常用的数字实验 键盘去抖与译码实验 状态机设计实验 A/D、D/A转换 可编程仪用放大器,通用放大器3 可编程模拟滤波器 可完成的较复杂实验 复杂数字电路实验,如八位BCD转换、20位以内乘法器等 数据采集与显示(可配合MAX196进行12路的A/D 采样) 用内部EAB技术实现各种数学函数运算。 PC机与CPLD之间的串行及并行通信 单片机与CPLD之间的异步串行通信 CPLD与CPLD 之间的串、并行通信 单片机课程的各种实验 工业控制用微处理器方案其实现。3. 利用本实验箱可开发的实验由于本实验箱设计考虑周全,因此,除了能完成数字系统的实验外,还可以开发使用单片机实验,模拟电子实验,通信原理实验、计算机组成原理等一系列学科的实验,体现出很强的开发性 ASK、FSK、PSK调制与解调实验 通过单片机扩展口与单片机开发机配合,本实验箱中的所有资源都可以被单片机借用,可以完成单片机课程中复杂的实验。 可以开发单片机接口实验,利用已开发成功的模块如 8255、8155、8279 等进行进行各种单片机接口实验。 利用四型实验/开发系统可以很方便进行单片机、 CPLD 及单片机 CPLD 综合工业设计。 计算机组成原理的大部分的实验可以利用本系统完成。4. 详细的管脚说明下面详细的介绍有关电路组成:(1)时钟源本实验器CPLD芯片由4M 晶振提供振荡频率,接与P183管脚,同时还有4M(可分频至1000Hz)接在CPLD的对应管脚 P184管。为了方便操作,还为系统提供了约1Hz1MHz连续可调的时钟信号,接至CPLD的P78脚,通过调节短路夹 J1和J2来改变其输出频率值。 11.0592M(或22.1184MHz)的时钟信号接于CPLD的80脚(P80) 。(2)输入开关本实验器中的开关设计新颖独特,有创意,与一般电路中的开关设计不同。本实验器中有个数据开关(SW1SW16),4个脉冲开关( KP1KP4)。在通常状态下数据开关和脉冲开关为低电平。数据开关和脉冲开关可配合使用,也可单独使用。若二者配合使用,在数据开关为低电平时,按下脉冲开关则产生一个高脉冲;在数据开关为高电平时,按下脉冲开关则产生一个低脉冲。其中个数据开关与CPLD的管脚的连接情况依次为:SW1-P94,SW2-P95,SW3-P96 ,SW4-P97,SW5-P99,SW6-P100, SW7-P101,SW8-P102,SW9-P103 ,SW10-P104,SW11-P111,SW12-P112,SW13-P113,SW14-P114 , SW15-P115,SW16-P116 。同时与数据开关和 CPLD相应引脚相连的还有16个LED显示管,可以作为输出使用。在作为输出时,不论数据开关和脉冲开关为高电平还是低电平,均不影响其状态。4脉冲开关(KP1KP4 )与CPLD 的管脚的连接情况依次为 P94,P95,P96, P97与数据开关SW1SW4复用CPLD管脚。脉冲开关经RS触发器去抖动之后,便可实现在数据开关为高电平时产生一个负脉冲,在数据开关为低电平时产生一个正脉冲。此电路极适合作计数器,暂存器的脉冲输入、分析测试观察用。(3)数码管显示本实验器有0个数码管(SEG1SEG10),采用共阴极段LED显示。其中SEG1SEG2采用静态显示方式,SEG3SEG10采用动态扫描显示方式。数码管SEG1SEG10与CPLD的对应管脚接法为:SEG1(a,b,c,d,e,f,g,p)P142,P143,P144,P147,P148,P149,P150,P157SEG2(a,b,c,d,e,f,g,p)P158,P159,P160,P161,P162,P163,P164,P166其中SEG1、SEG2的段LED显示输入端分别与个LED管相连且同时显示。SEG3SEG6的共阴公共端G经反向器分别与CPLD的对应管脚 170,P172,P173,P174相连,由其控制实现各位分时选通,动态扫描。SEG3SEG6(a,b,c,d,e,f,g,p)的各段与CPLD引脚的对应关系为:P175、P176、P177 、P179 、P180、P186、P187 、P189。SEG7SEG10的共阴公共端G经反向器分别与CPLD的对应管脚 190,P191,P192,P193相连,由其控制实现各位分时选通,动态扫描。SEG7SEG10(a,b,c,d,e,f,g,p)的各段与CPLD引脚的对应关系为:P195、P196、P197 、P198 、P199、P200、P202 、P203。(4)AD转换本实验器AD转换采用双AD转换,有8位A D 转换器ADC0809与12位AD转换器MAX196 。对于ADC0809本实验器只使用了一路模拟量输入IN-1 ,其余个模拟量输入端均接到扩展槽COM5。用户可实现最多7路模拟量分时输入。ADD-A,ADD-B,ADD-C可选择地址,分别接到CPLD的对应管脚P36,P37,P38 。START(启动信号)与ALE(地址锁存信号)均接到CPLD的对应管脚P19。时钟CLOCK端接到CPLD的对应管脚P40。EOC(转换结束信号)接到CPLD的对应管脚P39,Enable对应的管脚P17。8位数字量输出端由低(lsb28)到高(msb21)分别接到CPLD的对应管脚P24,P25,P26 ,P27,P28,P29,P30 ,P31。对于MAX196,其VDD 接外电源VCC(+5V),WR写端接与P25,RD 读端接与 P24, INT端接与P19,6路输入与ADC0809复用,12位输出(D0D12 )分别接与P26,P27,P28,P29,P30,P31,P36,P37,P38,P39,P40,P41。用户可以随意的使用任意一种。(5)DA转换在主板上在一个DA转换器,DAC0832 ,参考电压为VCC (5V),数字量由CPLD输入到DAC0832的DI0-DI7,与CPLD管脚的对应关系为:P132DI0,P133DI1 ,P134DI2 ,P135DI3,P136DI4,P139DI5,P140DI6,P141PDI7 ,P16CS。模拟量输出由J3(COM2)输出。 (6)单片机扩展槽及外扩槽在主板上留有一个模拟单片机扩展槽,用于CPLD模拟单片机之用,其与CPLD的接口分别为,P0.0P0.7(3932),对应与P44,P45,P46,P47 ,P53, P54,P55,P56;P1.0P1.7(18),对应与P57,P58,P60 ,P61,P62,P63,P64 ,P65;P2.0P2.7(2128),对应与P75,P74,P73 ,P71,P70,P69,P68 ,P67;P3.0P3.7(1017),对应与P83,P85,P86 ,P87,P88,P89,P90 ,P92;PSEN脚对应于P93,ALE脚对应与P79;RST 脚对应于P18同时,为了外扩使用,我们在主板上有一个 40PIN 的扩展槽 COM6(标准的单片机接口),一个 26PIN 的扩展槽,其与 CPLD 对应的管脚在主板上已标明,此扩展槽可供用户根据自己的需要使用。5第二节 CPLDDN 下载软件简介我们研制的 CPLDDN 是与 Altera 公司 MAX+PLUSCPLD 开发软件配套使用的下载软件。该下载软件具有操作简单、功能强大等优点,是 CPLDEE-4 型实验开发系统的配套软件之一,下图就是它的软件操作界面:图 1 CPLDDN3 型下载软件界面一 CPLDDN3 型下载软件1可以对 D10K10、D10K20、D10K30E、D1K30、D1K100 五种型号的器件进行配置。2通过计算机串口与下载电路连接,下载软件中的“串口设置”菜单用于对所用串口(COM1 或 COM2 )进行设置。3自带 MIF 文件生成器。可以生成三角函数、幂函数、指数函数等多种常用数学函数,且能显示相应波形,直接用于配置片内 ROM(EAB)。软件提供十进制, BCD 码两种表示方式。点击 MIF 文件生成器对话框中“打开” 菜单的“报告文件”项可随时察看同时生成的报告文件。( MIF 文件生成器界面如图 2所示)。 4安装软件操作简单。 5在“帮助”菜单中有我们的详细信息,欢迎反馈使用意见与建议,欢迎与我们联系。 二 CPLDDN3 型下载软件使用说明(一)下载1启动 CPLDDN3 下载软件。2在驱动器列表框中选择欲下载文件所在的驱动器。3在目录列表框中选择欲下载文件所在的目录。4以文件列表框中选择下载文件。5点击“下载 CPLD”按钮。 (二)将下载程序写入 EEPROM。1第 14 同上。2点击“写 EEPROM”,。6(三)读 EEPROM 中的数据到 CPLD。1 启动 CPLDDN3 下载软件。2 鼠标移到 EEPROM 框,单击左键,击活。3 点击“读 EEPROM”按钮,即可将存在里面的下载程序下载到 CPLD 中。注:读 EEPROM 也可用硬复位的方法实现,即按下载板上的“复位”按钮。(四)MIF 文件生成。1 点击“下载软件”中的菜单项中“函数”打开 “MIF 文件生成器”,界面如下图: 图 2 MIF文件生成器界面2在“器件”菜单中选择要用的器件。3在“十进制数”与“BCD 码”选项框中选择生成文件的表示制式。4在“数据宽度”选择框及其下方的制式选项框,选择生成文件中数据的宽度及显示制式。5在“地址深度”选择框及其下方的制式选项框,选择生成文件中数据地址的深度及显示制式。6“打开”菜单中选“函数编辑”项,进入“函数编辑器”界面,选择函数类型(点击显示波形可以查看所选函数的波形图)。7退出“函数编辑器”。8在“MIF 文件生成器”的“取值范围”文本框中填入要转换的数据范围。9点击“转换”按钮开始转换。10当“转换按钮”变为红色时,表明转换已经完成。(五)察看“MIF 文件”点击 MIF 文件生成器对话框中“打开”菜单的“报告文件”项,察看 MIF 文件的报告文件。7实验一 简单逻辑电路设计与仿真一实验目的1 学习并掌握 MAX+PLUS CPLD 实验开发系统的基本操作。2 学习在 MAX+PLUS下设计简单逻辑电路与功能仿真的方法。二实验仪器设备1 PC 机一台2 MAX+PLUS CPLD 软件开发系统一套。三实验要求1 预习教材中的相关内容。2 阅读并熟悉本次实验的内容。3 用图形输入方式完成电路设计。84 分析器件的延时特性。四实验内容及参考实验步骤1 用 D 触发器设计一个 4 进制加法计数器并进行功能仿真。(1)开机,进入 MAX+PLUS CPLD 实验开发系统。(2)点击 File 菜单 Project 子菜单之 Name 项,出现 Project Name 对话框。你可以为当前的实验选择恰当的路径并创建项目名称。(3)点击 File 菜单之 New 项,出现对话框,为选择输入方式,这儿我们选择 Graphic Editor File。出现图形编辑窗口。(注意界面发生了一定变化)(4)双击空白编辑区,出现 Enter Symbol 对话框(或点击 Symbol 菜单 Enter Symbol 项)从 Symbol Libraries 项中选择 mf 子目录(双击),然后在 Symbol File 中选择 7474 元件(双 D 触发器);在 prim子目录中选择输入脚 input 和输出引脚 output。(或直接在 Symbol Name 中输入所需元件的名称回车亦可)(5) 在图形编辑窗口中的左侧点击连线按钮(draws a horizontal or vertical line),并完成对电路的连线。(参考电路如图 3)图 3 4 进制加法计数器(7)在引脚的 PIN_NAME 处左键双击使之变黑,键入引脚名称。(8)点击工具栏中的“change the project name to the name of the current file” 按钮,使项目名称与当前设计文件相同。(9)选择器件。点击 Assign 菜单 Device 项,选择 FLEX10K 系列的 EPF1K50QC208-3。(10)点击 File 菜单 Project 子菜单之 save and check 项对文件进行存盘并进行语法检查,然后点击START 按钮进行编译。(11)点击 MAX+PLUS菜单 Waveform Editor 子菜单出现 Waveform Editor 窗口。点击 Node 菜单Enter Nodes From SNF,在 Enter Nodes From SNF 对话框中点击 List 按钮、“=” 按钮和 Ok 按钮。(12)点击 Name 项下 in1(所在行会变黑)。(int2 设定步骤与 int1 相同)(13)点击界面左侧 Move a transition or edits a waveform 按钮手工设定波形,或点击 overwrites a single selected nodes or a group waveform with a specified count sequence 自动设定波形。( 14)点击 File 菜单 Project 子菜单之 save &compile 项对文件进行存盘编译。(15)点击在 Simulator 按钮出现仿真界面。Simulator :Timing Simulator 对话框的 Start Time 和 End Time中设定起始和终了时间(对初学者推荐采用默认值),点“start”开始仿真。9(16)点击 “Open SCF”按钮,观察仿真结果,并进行延时分析,是否与器件标称值相符。2 设计一个 24 译码器并进行静态功能仿真。首先确定 2-4 线译码器的逻辑线路图,如图 4 所示。图 4 24 译码器(1) 点击 File 菜单 project 子菜单的 Name 项建立一个新的项目。(2) 点击 New 按钮,选 Graphic Editor 项新建一个图形输入文件。(3) 双击左键,在 Enter Symbol 框中 Symbol Libraries 中双击 prim。(4) 在 Symbol Files 中选用 7474。(5) 点击连线按钮(draws a horizontal or vertical line),完成电路连线。(6) 双击 PINNAME 为引脚命名。(7) 点击工具栏中的“change the project name to the name of the current file” 按钮,使项目名称与当前设计文件相同。(8)选择器件。点击 Assign 菜单 Device 项,选择 FLEX10K 系列的 EPF1K50QC208-3。(9)点击 File 菜单 Project 子菜单之 save and check 项对文件进行存盘并进行语法检查,然后点击 START按钮进行编译。(10)打开波形仿真窗口,点击 overwrites a node with a clock waveform 按钮为时钟输入端 cp 设制波形。(11)点击编译按钮对进行编译。(12)点击仿真按钮(Timing Simulator),对电路进行仿真。(13)分析仿真结果。 五实验报告1总结用 MAX+PLUS CPLD 开发系统对逻辑电路进行设计、仿真的操作步骤。2讨论用 CPLD 开发系统进行逻辑电路设计的特点与优越性。10实验二 译码与寄存器电路设计与仿真一.实验目的1.掌握 MAX+PLUS CPLD 开发系统的操作技巧。2.掌握用 MAX+PLUS进行一般数字逻辑电路的设计方法。3.学习 CPLD 芯片下载与实验基本方法。4.熟悉 CPLDEE3 型实验开发系统的基本结构。5.掌握使用 CPLDEE3 型实验系统的 LED 显示的方法。二.实验仪器设备1.PC 机一台2.MAX+PLUS CPLD 开发系统一套3.CPLDEE3 型实验开发系统一套4.CPLDDN3 型下载软件一套三.实验要求1.预习教材相关内容。2.阅读并熟悉本次实验的内容。3.用图形输入方式完成电路设计。4.完成从设计输入到下载的全部设计过程。115.预习 CPLDEE3 型系统下载界面及使用方法。四.实验内容及步骤1 设计一个 BCD 译码器,进行功能仿真及下载测试。图 5 BCD 译码器(1)用图形编辑方法完成电路的输入,以及管脚命名等,具体步骤参照实验二有关部分。(参考电路如图5)(2)存盘与编译。(3)点击 Assign 菜单的 Device 项选择 EPF10K10QC2084 型的芯片。(4)点击 floorplan editor 按钮进行管脚分配。(5)后编译。对电路进行编译。(6)下载。启动 CPLDDN-3 下载软件,在项目目录下选中文件,点击“下载 CPLD”按钮,观察、验证实验电路的正确性。2 串入并出移位寄存器电路设计、仿真与下载(1) 用图形编辑方法完成电路的输入,以及管脚命名等。(参考电路如图 6)(2) 点击 File 菜单 Project 子菜单之 save and check 项对电路进行编译。(3) 点击 Assign 菜单的 Device 项选择芯片。(4) 管脚分配。图 6 串入并出移位寄存器(5) 后编译。对电路进行编译。(6)下载。启动 CPLDDN-3 下载软件,在项目目录下选中文件,点击“下载 CPLD” 按钮进行下载,观察、验证实验电路的正确性。五实验报告1 总结进行 CPLD 电路设计与仿真的操作步骤和技巧。122 总结进行 CPLD 电路下载和硬件实验的方法和步骤。3 讨论在设计与实验过程中遇到的问题、解决的办法及收获。实验三 全加器设计、仿真与下载一实验目的1熟练掌握 MAX+PLUS的使用。2掌握一位全加器的设计方法、学会用一位全加器组成四位全加器。3掌握 CPLDEE 开发系统硬件电路的下载及测试。4学习模块化电路设计方法。二实验仪器设备1PC 机一台2MAX+PLUS CPLD 开发系统一套3CPLDEE3 型实验开发系统一套4CPLDDN 3 型下载软件一套三实验要求1预习组合电路中一位、四位全加器的设计方法。2预习 CPLDEE3 型开发系统(硬件电路)中的开关及发光管的使用方法。3预习本次实验内容。4用图形编辑方法输入电路。四实验内容及操作步骤13(一)设计一位全加器图 7 一位全加器线路图(1)完成电路的输入,以及对引脚的命名等。(参考电路如图 7)(2)对一位全加器进行编译、仿真与下载。(3)点击 File 菜单的 Create Default Symbol 项,创建缺省模块。(二)利用一位全加器模块进行四位全加器的设计。(1) 创建一个新的项目,新建文件。在新打开的图形编辑区双击左键,从 Enter Symbol 对话框中的用户目录(你创建的目录)下选择模块名。(2)连接线路,并进行编译。(如图 8) (3)选择 EPF1K50QC2083 器件。14图 8 四位全加器(5) 管脚分配。(6) 后编译,并进行下载。观察实验结果。五实验报告1总结模块化电路设计的方法。2总结 MAX+PLUS进行电路设计的实质。3总结用 MAX+PLUS进行电路设计的一般步骤。15实验四 分频电路与 12 归 1 电路设计一实验目的1 学习硬件描述语言描述电路的原理。2 学习分频电路的设计算法。3 学会使用 AHDL 进行简单的电路设计。4 学会使用 VHDL 进行简单的电路设计。5 掌握生成 include 文件并调用的方法。6 掌握 VHDL 语言调用子程序的方法。二实验仪器1PC 机一台2MAX+PLUS CPLD 开发系统一套3CPLDEE3 型实验开发系统一套4CPLDDN 3 型下载软件一套三实验要求1 复习教材有关硬件描述语言的章节。2 预习实验内容。3 用硬件描述语言进行电路设计。4 下载并用数码管显示结果。四实验内容与步骤1 设计一个频电路已知 cpld 信号源脉冲频率为 10M,试编写一分频程序,得到一周期为 1 秒(频率为 1Hz)的脉冲频率,并将之形成 include 文件。(1) ahdl 设计输入。参考程序如下:subdesign fp(inclk:input;outputf :output; )variablefp23.0:dff;f :dff;beginfp.clk=inclk;f.clk=inclk;if fp=4999999 thenfp=0;f=!f;else fp=fp+1;f=f;end if;outputf=f;end; 16(2) vhdl 设计输入参考程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fp isport(inclk:in std_logic;outputa:out std_logic);end fp;architecture arch_fp of fp issignal fp:std_logic_vector(23 downto 0);signal f:std_logic;beginprocess(inclk)beginif (inclkevent and inclk=1) thenif fp=4999999 then fp outa0,outa1,outa2,outa3,outa4,outa5,outa6;H0 = 1, 1, 1, 1, 1, 1, 0;H1 = 0, 1, 1, 0, 0, 0, 0;H2 = 1, 1, 0, 1, 1, 0, 1;H3 = 1, 1, 1, 1, 0, 0, 1;H4 = 0, 1, 1, 0, 0, 1, 1;H5 = 1, 0, 1, 1, 0, 1, 1;H6 = 1, 0, 1, 1, 1, 1, 1;H7 = 1, 1, 1, 0, 0, 0, 0;H8 = 1, 1, 1, 1, 1, 1, 1;H9 = 1, 1, 1, 1, 0, 1, 1;HA = 1, 1, 1, 0, 1, 1, 1;HB = 0, 0, 1, 1, 1, 1, 1;HC = 1, 0, 0, 1, 1, 1, 0;HD = 0, 1, 1, 1, 1, 0, 1;HE = 1, 0, 0, 1, 1, 1, 1;HF = 1, 0, 0, 0, 1, 1, 1;END TABLE;TABLEvb3.0 = outb0,outb1,outb2,outb3,outb4,outb5,outb6;H0 = 1, 1, 1, 1, 1, 1, 0;H1 = 0, 1, 1, 0, 0, 0, 0;H2 = 1, 1, 0, 1, 1, 0, 1;H3 = 1, 1, 1, 1, 0, 0, 1;H4 = 0, 1, 1, 0, 0, 1, 1;H5 = 1, 0, 1, 1, 0, 1, 1;18H6 = 1, 0, 1, 1, 1, 1, 1;H7 = 1, 1, 1, 0, 0, 0, 0;H8 = 1, 1, 1, 1, 1, 1, 1;H9 = 1, 1, 1, 1, 0, 1, 1;HA = 1, 1, 1, 0, 1, 1, 1;HB = 0, 0, 1, 1, 1, 1, 1;HC = 1, 0, 0, 1, 1, 1, 0;HD = 0, 1, 1, 1, 1, 0, 1;HE = 1, 0, 0, 1, 1, 1, 1;HF = 1, 0, 0, 0, 1, 1, 1;END TABLE;end;(5) 用 vhdl 编写的例子library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity twelveto1 isport(finclk: in std_logic;outputa:out std_logic_vector(0 to 6);outputb:out std_logic_vector(0 to 6);end twelveto1;architecture arch_twelveto1 of twelveto1 issignal sa:std_logic_vector(3 downto 0);signal sb:std_logic_vector(3 downto 0);signal f: std_logic;component fpport (inclk : in std_logic;outputa: out std_logic);end component;beginu1: fpport map(inclk=finclk,outputa=f);process(f)beginif (rising_edge(f) thenif (sa=2 and sb=1) then saot13,ot12,ot11,ot10,ot9,ot8,ot7;0 = 1,1,1,1,1,1,0;1 = 0,1,1,0,0,0,0;2 = 1,1,0,1,1,0,1;End table;Tablelw=ot6,ot5,ot4,ot3,ot2,ot1,ot0;220 = 1,1,1,1,1,1,0;1 = 0,1,1,0,0,0,0;2 = 1,1,0,1,1,0,1;3 = 1,1,1,1,0,0,1;4 = 0,1,1,0,0,1,1;5 = 1,0,1,1,0,1,1;6 = 1,0,1,1,1,1,1;7 = 1,1,1,0,0,0,0;8 = 1,1,1,1,1,1,1;9 = 1,1,1,1,0,1,1;End table;End;2 VHDL 语言描述的 60 归 0 的参考程序library IEEE;use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity count60 isport (inclk: in STD_LOGIC;outa: out STD_LOGIC_VECTOR (0 to 6);outb: out STD_LOGIC_VECTOR (0 to 6);end count60;architecture count60_arch of count60 issignal ma,mb: std_logic_vector(3 downto 0);signal f :std_logic;signal md: std_logic_vector(23 downto 0);begin P1:process(inclk)beginif inclkevent and inclk=1 thenif md=4999999 thenmdout0,out1,out2,out3,out4,out5,out6,b;H0=1,1,1,1,1,1,0,1;H1=0,1,1,0,0,0,0,2;H2=1,1,0,1,1,0,1,4;H3=1,1,1,1,0,0,1,8;H4=0,1,1,0,0,1,1,1;H5=1,0,1,1,0,1,1,2;H6=1,0,1,1,1,1,1,4;H7=1,1,1,0,0,0,0,8;26H8=1,1,1,1,1,1,1,1;H9=1,1,1,1,0,1,1,2;Ha=1,1,1,0,1,1,1,4;Hb=0,0,1,1,1,1,1,8;Hc=1,0,0,1,1,1,0,1;Hd=0,1,1,1,1,0,1,2;He=1,0,0,1,1,1,1,4;Hf=1,0,0,0,1,1,1,8;END TABLE;out7=VCC;END;(2) 用 VHDL 设计,示例如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tcx isport( inclk:in std_logic;outa:out std_logic_vector(0 to 6);outb:out std_logic_vector(0 to 3);end tcx;architecture arth_tcx of tcx is signal ma:std_logic_vector(1 downto 0);signal mb:std_logic_vector(3 downto 0);signal fp:std_logic_vector(23 downto 0);signal f:std_logic;beginprocess(inclk)beginif (inclkevent and inclk=1) then if fp=4999999 then fpmrd=ibd;st=1;mmr=mmr;mhr=mhr;mlr=mlr;When 1 = If mrd=0 thenmhr=mh;mlr=ml;mmr=mm;mm=mm;mh=mh;ml=ml; st=0;29Elsemmr=mmr;mhr=mhr;mlr=mlr;mrd=mrd-1;st=1;If ml=9 thenml=0;If mm=9 thenmm=0;If mh=9 thenmh=0;Else mh=mh+1;End if;Else mm=mm+1;mh=mh;End if;Elseml=ml+1;mm=mm;mh=mh; End if;End if;End case;Table mmr=odd13.7;0 =h3f; 1 =h06;2 =h5b; 3 =h4f; 4 =h66; 5 =h6d; 6 =h7d; 7 =h07; 8 =h7f; 9 =h6f; End table;Tablemlr=odd6.0;0 =h3f; 1 =h06;2 =h5b; 3 =h4f; 4 =h66; 5 =h6d; 6 =h7d; 7 =h07; 308 =h7f; 9 =h6f; End table;Tablemhr=odd20.14;0 =h3f; 1 =h06;2 =h5b; 3 =h4f; 4 =h66; 5 =h6d; 6 =h7d; 7 =h07; 8 =h7f; 9 =h6f; End table;End;(2) VHDL 示例library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bcdconvert isport(ina:in std_logic_vector(7 downto 0);inclk:in std_logic;outa: out std_logic_vector(0 to 6);outc: out std_logic_vector(0 to 6);outb:out std_logic_vector (0 to 6);end bcdconvert;architecture arch_bcdconvert of bcdconvert issignal sina: std_logic_vector(7 downto 0);signal souta: std_logic_vector(3 downto 0);signal soutb: std_logic_vector(3 downto 0);signal soutc: std_logic_vector(3 downto 0);signal ssouta:std_logic_vector(3 downto 0);signal ssoutb:std_logic_vector(3 downto 0);signal ssoutc:std_logic_vector(3 downto 0);beginprocess(inclk)beginif (inclkevent and inclk=1)thenif sina=00000000 then 31ssoutast=gnd;dp=ds;sm=1;When 1 =st=gnd; dp=dp;if eoc thensm=2;elsesm=1;end if;When 2=st=vcc; sm=0; dp=ds; End case;zhq.ibd=dp;outb=zhq.odd;out=outb;End; (2) VHDL 编写的实例library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adc0809 isport( ina: in std_logic_vector( 7 downto 0);inclk:in std_logic;eoc: in std_logic;outa:out std_logic_vector( 0 to 13);adda,addb,addc: out std_logic;ck,ale: out std_logic);end adc0809;architecture arch_adc0809 of adc0809 issignal fp: std_logic_vector(2 downto 0);signal f: std_logic;signal counter:std_logic_vector(3 downto 0);signal sa:std_logic_vector(7 downto 0);beginprocess(inclk)beginif (inclkevent and inclk=1) thenif fp=5 thenfpad_start=GND;ad_reg=ad_reg;ad_sm=1;WHEN 1 =ad_start=GND; IF ad_eoc THENad_sm=2;ad_reg=ad_q;ELSEad_sm=1;ad_reg=ad_reg;END IF;WHEN 2=ad_start=VCC; ad_sm=0; ad_reg=ad_reg; END CASE;-*串行发送电路 *- (fd19k,f19k).clk=INCLk;-分频电路 11059200/(2*288)=19200bpsif fd19k=288 then fd19k=1;f19k=!f19k;elsefd19k=fd19k+1;f19k=f19k;end if;(sbuf,stsm).clk=f19k;-发送数据更新if stsm=0 then sbuf7.0=ad_reg;elsesbuf7.0=sbuf7.0; end if;-串行发送端口构建 case stsm iswhen 0= 42sout=GND;stsm=1;when 1 =sout=sbuf0;stsm=2;when 2 =sout=sbuf1;stsm=3;when 3=sout=sbuf2;stsm=4;when 4 =sout=sbuf3;stsm=5; when 5 =sout=sbuf4;stsm=6;when 6 =sout=sbuf5;stsm=7;when 7 =sout=sbuf6;stsm=8; when 8 =sout=sbuf7;stsm=9; when 9 = -从这个状态开始发四位停止位so
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。