《数字电子系统设计(CPLD)实验指导书资料.doc》由会员分享,可在线阅读,更多相关《数字电子系统设计(CPLD)实验指导书资料.doc(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 数字电子系统设计(CPLD)实验指导书 中国矿业大学电工电子教学实验中心 2001年11月 目 录第一部分CPLDEE实验开发系统及配套软件简介第一节 CPLDEE实验开发系统简介第二节 CPLDDN下载软件简介第二部分 数字电子系统设计实验实验一 简单逻辑电路设计与仿真实验二 译码与寄存器电路设计与仿真实验三 全加器设计、仿真与下载实验四 分频程序设计与12归1电路实验五 利用硬件描述语言进行数字钟设计实验六 串形扫描显示电路设计实验七 BCD码转换电路设计实验八 数据采集与显示电路设计实验九 LPM使用及88乘法器的设计实验十 CPLD间串行通信(单工)综合实验一 数字系统设计与单片机接
2、口实验一综合实验二 数字系统设计与单片机接口实验二综合实验三 数字系统设计与单片机接口实验三综合实验四 数字系统设计与单片机接口实验四综合实验五 数字系统设计与单片机接口实验五综合实验六 CPLD与计算机双工串行通信实验综合实验七 CPLD与计算机并行口通信实验第一部分 CPLDEE实验开发系统及配套软件简介第一节 CPLDEE实验开发系统简介 目前,随着大规模可编程器件在市场上的应用越来越广泛,各高校都相继开出了这门课程,为了配合高校EDA技术的教学、实验以及科研人员的设计开发,我们推出了CPLDEE-4系列实验开发装置。本实验装置是在世界银行贷款招标标书要求的基础上设计并有所突破,广泛适用
3、于教学和科研,面向本科教育、研究生教育及科研开发。1. 系统基本特征l 配备:本实验箱配有三家公司(altera低电压1k系列(3万门以上)、lattice的ispLSI1032E70LJ84、xilinx的xc95108系列)芯片下载板,适用范围广泛。l 资源:芯片门数最多达到10万门(ACEX1K100),管脚可达208脚。l 编辑方式有图形编辑,文本编辑,波形编辑,混合编辑等方式, 硬件描述语言有AHDL,VHDL,Verilog-HDL等语言。l 主板功能: 配有模拟可编程器件ispPAC器件系列,突破传统的EDA实验箱一般只做数字电路实验的模式,用户可以在实验箱上通过的模拟可编程器件
4、进行模拟电子的开发训练。 实验箱配有10个数码管,(包括6个并行扫描数码管和4个串行扫描数码管)。 个数据开关,4个脉冲开关,数据开关和脉冲开关可配合使用,也可单独使用。 AD转换,采用双AD转换,有常规的8位AD转换器ADC0809,还可以适配位数较高,速度较快的12位AD转换器MAX196。 DA转换器,采用学生所熟知的芯片DAC0832. 通用小键盘,本实验箱提供16个微动开关(4X4),可通他们方便的进行人机交互。 单片机扩展槽,由于实验箱上的所有资源(如数码管、数据开关、小键盘等)都可以借用,因此通过此扩展槽可以开发单片机及单片机接口实验。 外围扩展口,为了便于开发,本实验箱还预留一
5、个40PIN的扩展槽,用以与外围电路的联接。2. 本实验箱可完成的实验本实验箱用作数字系统设计实验。l 可完成的基础实验: 各种传统数字电路实验 AHDL、VHDL、VERILOG语言描述数据显示译码设计 语言描述设计加法器,乘法器,计数器,数字钟,分频器,数字频率计等常用的数字实验 键盘去抖与译码实验 状态机设计实验 A/D、D/A转换 可编程仪用放大器,通用放大器 可编程模拟滤波器l 可完成的较复杂实验 复杂数字电路实验,如八位BCD转换、20位以内乘法器等 数据采集与显示(可配合MAX196进行12路的A/D采样) 用内部EAB技术实现各种数学函数运算。 PC机与CPLD之间的串行及并行
6、通信 单片机与CPLD之间的异步串行通信 CPLD与CPLD之间的串、并行通信 单片机课程的各种实验 工业控制用微处理器方案其实现。3. 利用本实验箱可开发的实验由于本实验箱设计考虑周全,因此,除了能完成数字系统的实验外,还可以开发使用单片机实验,模拟电子实验,通信原理实验、计算机组成原理等一系列学科的实验,体现出很强的开发性 ASK、FSK、PSK调制与解调实验 通过单片机扩展口与单片机开发机配合,本实验箱中的所有资源都可以被单片机借用,可以完成单片机课程中复杂的实验。 可以开发单片机接口实验,利用已开发成功的模块如8255、8155、8279等进行进行各种单片机接口实验。 利用四型实验/开
7、发系统可以很方便进行单片机、CPLD及单片机CPLD综合工业设计。 计算机组成原理的大部分的实验可以利用本系统完成。4. 详细的管脚说明下面详细的介绍有关电路组成:(1)时钟源本实验器CPLD芯片由4M晶振提供振荡频率,接与P183管脚,同时还有4M(可分频至1000Hz)接在CPLD的对应管脚P184管。为了方便操作,还为系统提供了约1Hz1MHz连续可调的时钟信号,接至CPLD的P78脚,通过调节短路夹J1和J2来改变其输出频率值。11.0592M(或22.1184MHz)的时钟信号接于CPLD的80脚(P80)。 (2)输入开关本实验器中的开关设计新颖独特,有创意,与一般电路中的开关设计
8、不同。本实验器中有个数据开关(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
9、,SW16-P116。同时与数据开关和CPLD相应引脚相连的还有16个LED显示管,可以作为输出使用。在作为输出时,不论数据开关和脉冲开关为高电平还是低电平,均不影响其状态。 脉冲开关(KP1KP4)与CPLD的管脚的连接情况依次为P94,P95,P96, P97与数据开关SW1SW4复用CPLD管脚。脉冲开关经RS触发器去抖动之后,便可实现在数据开关为高电平时产生一个负脉冲,在数据开关为低电平时产生一个正脉冲。此电路极适合作计数器,暂存器的脉冲输入、分析测试观察用。 (3)数码管显示本实验器有0个数码管(SEG1SEG10),采用共阴极段LED显示。其中SEG1SEG2采用静态显示方式,SE
10、G3SEG10采用动态扫描显示方式。数码管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)的各段
11、与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位AD转换器ADC0809与12位AD转换器MAX196。对于ADC0809本实验器只使用了一路模拟量输入IN-1,其余个模拟量输
12、入端均接到扩展槽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,I
13、NT端接与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)单片机扩展槽及外扩槽在主板上留有一个模拟单片机
14、扩展槽,用于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(标准的单片
15、机接口),一个26PIN的扩展槽,其与CPLD对应的管脚在主板上已标明,此扩展槽可供用户根据自己的需要使用。 第二节 CPLDDN下载软件简介 我们研制的CPLDDN是与Altera公司MAX+PLUSCPLD开发软件配套使用的下载软件。该下载软件具有操作简单、功能强大等优点,是CPLDEE-4型实验开发系统的配套软件之一,下图就是它的软件操作界面:图1 CPLDDN3型下载软件界面一 CPLDDN3型下载软件 1可以对D10K10、D10K20、D10K30E、D1K30、D1K100五种型号的器件进行配置。 2通过计算机串口与下载电路连接,下载软件中的“串口设置”菜单用于对所用串口(COM
16、1 或COM2 )进行设置。3自带MIF文件生成器。可以生成三角函数、幂函数、指数函数等多种常用数学函数,且能显示相应波形,直接用于配置片内ROM(EAB)。软件提供十进制,BCD码两种表示方式。点击MIF文件生成器对话框中“打开”菜单的“报告文件”项可随时察看同时生成的报告文件。(MIF文件生成器界面如图2所示)。 4安装软件操作简单。 5在“帮助”菜单中有我们的详细信息,欢迎反馈使用意见与建议,欢迎与我们联系。 二 CPLDDN3型下载软件使用说明(一)下载1启动CPLDDN3下载软件。2在驱动器列表框中选择欲下载文件所在的驱动器。3在目录列表框中选择欲下载文件所在的目录。4以文件列表框中
17、选择下载文件。5点击“下载CPLD”按钮。 (二)将下载程序写入EEPROM。1第14同上。2点击“写EEPROM”,。(三)读EEPROM中的数据到CPLD。1 启动CPLDDN3下载软件。2 鼠标移到EEPROM框,单击左键,击活。3 点击“读EEPROM”按钮,即可将存在里面的下载程序下载到CPLD中。注:读EEPROM也可用硬复位的方法实现,即按下载板上的“复位”按钮。(四)MIF 文件生成。1 点击“下载软件”中的菜单项中“函数”打开“MIF文件生成器”,界面如下图: 图2 MIF文件生成器界面2在“器件”菜单中选择要用的器件。3在“十进制数”与“BCD码”选项框中选择生成文件的表示
18、制式。4在“数据宽度”选择框及其下方的制式选项框,选择生成文件中数据的宽度及显示制式。5在“地址深度”选择框及其下方的制式选项框,选择生成文件中数据地址的深度及显示制式。6“打开”菜单中选“函数编辑”项,进入“函数编辑器”界面,选择函数类型(点击显示波形可以查看所选函数的波形图)。7退出“函数编辑器”。8在“MIF文件生成器”的“取值范围”文本框中填入要转换的数据范围。9点击“转换”按钮开始转换。10当“转换按钮”变为红色时,表明转换已经完成。(五)察看“MIF文件” 点击MIF文件生成器对话框中“打开”菜单的“报告文件”项,察看MIF文件的报告文件。实验一 简单逻辑电路设计与仿真一 实验目的
19、1 学习并掌握MAX+PLUS CPLD实验开发系统的基本操作。2 学习在MAX+PLUS下设计简单逻辑电路与功能仿真的方法。二 实验仪器设备1 PC机一台2 MAX+PLUS CPLD软件开发系统一套。三 实验要求1 预习教材中的相关内容。2 阅读并熟悉本次实验的内容。3 用图形输入方式完成电路设计。4 分析器件的延时特性。四 实验内容及参考实验步骤1 用D触发器设计一个4进制加法计数器并进行功能仿真。(1)开机,进入MAX+PLUS CPLD实验开发系统。(2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。你可以为当前的实验选择恰当的路径并创建项目
20、名称。(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 horiz
21、ontal 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)点
22、击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 cou
23、nt sequence自动设定波形。( 14)点击File菜单Project子菜单之save &compile项对文件进行存盘编译。(15)点击在Simulator 按钮出现仿真界面。Simulator :Timing Simulator对话框的 Start Time和End Time中设定起始和终了时间(对初学者推荐采用默认值),点“start”开始仿真。(16)点击 “Open SCF”按钮,观察仿真结果,并进行延时分析,是否与器件标称值相符。2 设计一个24译码器并进行静态功能仿真。首先确定2-4线译码器的逻辑线路图,如图4所示。 图4 24译码器(1) 点击File菜单project子
24、菜单的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)选择器件。
25、点击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讨论用C
26、PLD 开发系统进行逻辑电路设计的特点与优越性。 实验二 译码与寄存器电路设计与仿真一.实验目的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.完成从
27、设计输入到下载的全部设计过程。5.预习CPLDEE3型系统下载界面及使用方法。四.实验内容及步骤1 设计一个BCD译码器,进行功能仿真及下载测试。 图5 BCD译码器(1)用图形编辑方法完成电路的输入,以及管脚命名等,具体步骤参照实验二有关部分。(参考电路如图5)(2)存盘与编译。(3)点击Assign菜单的Device项选择EPF10K10QC2084型的芯片。(4)点击floorplan editor按钮进行管脚分配。(5)后编译。对电路进行编译。(6)下载。启动CPLDDN-3下载软件,在项目目录下选中文件,点击“下载CPLD”按钮,观察、验证实验电路的正确性。2 串入并出移位寄存器电路
28、设计、仿真与下载(1) 用图形编辑方法完成电路的输入,以及管脚命名等。(参考电路如图6)(2) 点击File菜单Project子菜单之save and check项对电路进行编译。(3) 点击Assign菜单的Device项选择芯片。(4) 管脚分配。 图6 串入并出移位寄存器(5) 后编译。对电路进行编译。(6)下载。启动CPLDDN-3下载软件,在项目目录下选中文件,点击“下载CPLD” 按钮进行下载,观察、验证实验电路的正确性。五实验报告1 总结进行CPLD电路设计与仿真的操作步骤和技巧。2 总结进行CPLD电路下载和硬件实验的方法和步骤。3 讨论在设计与实验过程中遇到的问题、解决的办法
29、及收获。 实验三 全加器设计、仿真与下载一 实验目的 1熟练掌握MAX+PLUS的使用。 2掌握一位全加器的设计方法、学会用一位全加器组成四位全加器。 3掌握CPLDEE开发系统硬件电路的下载及测试。 4学习模块化电路设计方法。二 实验仪器设备 1PC机一台 2MAX+PLUS CPLD开发系统一套 3CPLDEE3型实验开发系统一套 4CPLDDN3型下载软件一套三 实验要求 1预习组合电路中一位、四位全加器的设计方法。 2预习CPLDEE3型开发系统(硬件电路)中的开关及发光管的使用方法。 3预习本次实验内容。 4用图形编辑方法输入电路。四实验内容及操作步骤(一)设计一位全加器 图7 一位
30、全加器线路图 (1)完成电路的输入,以及对引脚的命名等。(参考电路如图7) (2)对一位全加器进行编译、仿真与下载。(3)点击File菜单的Create Default Symbol项,创建缺省模块。(二)利用一位全加器模块进行四位全加器的设计。(1) 创建一个新的项目,新建文件。在新打开的图形编辑区双击左键,从Enter Symbol 对话框中的用户目录(你创建的目录)下选择模块名。(2)连接线路,并进行编译。(如图8) (3)选择EPF1K50QC2083器件。 图8 四位全加器(5) 管脚分配。(6) 后编译,并进行下载。观察实验结果。五实验报告 1总结模块化电路设计的方法。 2总结MA
31、X+PLUS进行电路设计的实质。 3总结用MAX+PLUS进行电路设计的一般步骤。 实验四 分频电路与12归1电路设计一 实验目的1 学习硬件描述语言描述电路的原理。2 学习分频电路的设计算法。3 学会使用AHDL进行简单的电路设计。4 学会使用VHDL进行简单的电路设计。5 掌握生成include文件并调用的方法。6 掌握VHDL语言调用子程序的方法。二 实验仪器 1PC机一台 2MAX+PLUS CPLD开发系统一套 3CPLDEE3型实验开发系统一套 4CPLDDN3型下载软件一套三 实验要求1 复习教材有关硬件描述语言的章节。2 预习实验内容。3 用硬件描述语言进行电路设计。4 下载并
32、用数码管显示结果。四 实验内容与步骤1 设计一个频电路 已知cpld信号源脉冲频率为10M,试编写一分频程序,得到一周期为1秒(频率为1Hz)的脉冲频率,并将之形成include文件。(1) ahdl设计输入。参考程序如下:subdesign fp(inclk:input; outputf :output; ) variable fp23.0:dff; f :dff; begin fp.clk=inclk;f.clk=inclk; if fp= then fp=0; f=!f; else fp=fp+1; f=f; end if; outputf=f; end; (2) vhdl设计输入参考程
33、序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 is signal fp:std_logic_vector(23 downto 0); signal f:std_logic; begin process(inclk) begin if (inclkevent and inclk=1) then if fp= t
34、hen fp=00; f=not f; else fp=fp+1; end if; end if; end process; outputa 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 =
35、 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; TABLE vb3.0 = outb0,outb1,outb2,outb3,outb4,outb5,outb6; H0
36、 = 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,
37、 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);
38、outputb:out std_logic_vector(0 to 6); end twelveto1; architecture arch_twelveto1 of twelveto1 is signal sa:std_logic_vector(3 downto 0); signal sb:std_logic_vector(3 downto 0); signal f: std_logic; component fp port (inclk : in std_logic; outputa: out std_logic ); end component; begin u1: fp port map(inclk=finclk,outputa=f); process(f) begin if (rising_edge(f) then if (sa=2 and sb=1) then sa=0001; sb=0000; else if sa=9 then sa=0000; sb=sb+1; else sa=sa+1;