免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序列信号发生器的设计摘要:在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器1。本设计中选用目前应用较广泛的vhdl硬件电路描述语言,实现对序列信号发生器的硬件电路描述,在altera公司的eda软件平台max+plus环境下通过了编译、仿真,并下载到cpld器件上进行编程制作,实现了序列信号的发生过程。关键字:序列信号 vhdl eda 仿真 max+plus一、前言:电子设计技术的核心就是eda技术,eda是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子cad通用软件包,主要能辅助进行三方面的设计工作,即ic设计、电子电路设 和pcb设计2。eda技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(cad)阶段,人们开始用计算机辅助进行ic版图编辑、pcb布局布线,取代了手工操作。80年代为计算机辅助工程(cae)阶段。与cad相比,cae除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。cae的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,pcb后分析3。90年代为esda阶段。尽管cad/cae技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种eda软件界面千差万别,学习使用困难并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯彻整个设计过程的自动化,即电子系统设计自动化(esda)。eda技术是电子设计领域的一场革命,目前正处于高速发展阶段,每年都有新的eda工具问世,广大电子工程人员应该尽早掌握这一先进技术,这不仅是提高设计效率的需要,更是我国电子工业在世界市场上生存、竟争与发展的需要。二、工作原理:序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号。能产生这种信号的逻辑器件就称为序列信号发生器4。源程序首先用一个进程对clk输入脉冲个数进行统计,统计结果存放信号cnt中。然后用另一个进程根据输入脉冲的统计结果,控制序列信号的输出,当第0个clk脉冲到来时,输出zout=“1”,当第1个clk脉冲到来时,zout=“1”,当第2个clk脉冲到来时,zout=“0”;以此类推,每十六个脉冲为一次循环使输出序列信号为“1101001111011011”。其中cnt以二进制数表示,初值由复位信号clrn控制。当clrn=0时,使cnt=0000,当clrn=1时,不影响程序运行,每来一个clk脉冲cnt加一。cnt只取低四位有效,前十五个脉冲到来时cnt从0000变化到1111,当第十六个脉冲到来时cnt又变为0000继续上一步的操作。即程序每个进程包括十六个脉冲。其中cnt与zout的对应关系如下表所示:cnt000000010010001101000101011001111zout11010011cnt10001001101010111100110111101111zout11011011三、程序设计:在max+plus环境下,用文本编辑方式输入16位序列信号发生器的vhdl源程序xlsignal16_1.vhd如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; -ieee库使用说明entity xlsignal16_1 is port( clk,clrn:in std_logic; -声明clk,clrn是标准逻辑位类型的输入端口 zout:out std_logic); -声明zout是标准逻辑位类型的输出端口end xlsignal16_1;architecture one of xlsignal16_1 is signal cnt:std_logic_vector(3 downto 0); signal zreg:std_logic:=0;begin process(clk,clrn) begin if(clrn=0)then cnt=0000;else -复位 if(clkevent and clk=1)then cntzregzregzregzregzregzregzregzregzregzregzregzregzregzregzregzregzreg=0; end case; end process; zout=zreg;end one;vhdl源程序输入编辑输入完成后,分别以xlsignal16_1.vhd为源文件名,保存于vhdl文本文件工程目录中。并在max+plus环境下生成序列信号发生器的顶层文件,并通过max+plus的编译5。四、仿真结果与分析: 建好波形文件,设置好输入clrn,clk的初始值,进行波形仿真,得到16位序列信号发生器的仿真波形如下图1所示。图1 16位序列信号发生器的仿真波形图由vhdl源程代码生成的序列信号发生器元件符号如图2所示,其中clk是时钟输入端;clrn是复位控制输入端,低电平有效;zout是序列信号输出端。图2 序列信号发生器元件符号clrn是复位控制输入端,当clrn=0时复位使cnt=0000;当clrn=1时,在一个进程内每当clk=1时cnt增1以统计输入的脉冲个数。通过控制语句根据输入脉冲的统计结果控制序列信号的输出,当第0个clk脉冲到来时,输出zout=“1”;当第1个clk脉冲到来时,zout=“1”;以此类推,使输出序列信号为“1101001111011011”。当第十六个脉冲到来时cnt加一后保留低四位重复以上步骤,继续输出序列信号“1101001111011011”。五、结论:本文用vhdl语言实现了16位序列信号的产生,并通过实例来说明利用vhdl语言实现数字系统的过程6。在介绍16位序列信号发生原理的基础上,设计出了序列信号发生器,写出了基于vhdl语言实现的源程序,并通过max+plus软件进行仿真验证,实现了预期功能.序列信号发生器能产生一组特定的串行数字信号,此类信号在数字信号的传输和数字系统的测试中有着广泛应用。此发生器可产生任意16位信号,便于实际应用。参考文献:1 谭会生,张昌凡.eda技术及应用m.西安:西安电子科技大学出版社20012 汪国强. eda技术及应用m. 北京:电子工业出版社 20073乔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论