基于vhdl智能函数发生器的设计说明书.doc_第1页
基于vhdl智能函数发生器的设计说明书.doc_第2页
基于vhdl智能函数发生器的设计说明书.doc_第3页
基于vhdl智能函数发生器的设计说明书.doc_第4页
基于vhdl智能函数发生器的设计说明书.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理课程设计报告 学 院 计通学院 专 业 网络工程 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 2012年1月6日 课程设计任务书计算机与通信工程学院 网络工程专业课程名称计算机组成原理课程设计时间第1学期1819周学生姓名指导老师题 目基于VHDL的智能函数发生器的设计主要内容:本设计根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计出智能函数发生器,主要是正弦波,方波,三角波,递增,递减斜波和阶梯波六种函数发生器,然后通过函数选择器进行选择,决定要输出的函数。要求:(1)要求能独立地运用VHDL语言、EDA相关知识和Max Plus II仿真软件,编制一个简单的课程设计。(2)学生按要求编写课程设计报告书,能正确阐述设计和实验结果。(3)通过课程设计培养学生严谨的科学态度和团队协作精神。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计报告。(2)课程设计附件(源程序、各类图纸、实验数据、仿真截图等实证材料)。课程设计成绩评定学 院 计通学院 专 业 网络工程 班 级 学 号 学生姓名 指导教师 完成日期 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日基于VHDL的智能函数发生器的设计学生: 指导老师: 摘 要 系统使用EDA技术设计了智能函数发生器,采用硬件描述语言VHDL进行设计,然后进行编程,时序仿真等。在Max+plus软件开发平台,输入原理图或硬件描述语言VHDL完成的设计文件,系统将自动地完成逻辑编译、综合、仿真、目标芯片的适配编译、下载等的工作。设计的工作是利用编程的方式来进行对系统的功能的描述,在EDA工具的帮助下,应用相应的可编程器件,实现设计的最终结果。使常用到的波形发生器微型化,设计简单化,使用简单化。关键词:EDA;VHDL;函数发生器The design of Intelligent function generator based on VHDLStudent Name: TangShengYuan Teacher: Cai ShuoAbstract: System using EDA technology to design of intelligent function signal generator, using hardware description language VHDL design, and programming, timing simulation. In the Max+plus software development platform, input schematic or hardware description language VHDL completed the design documents, the system will automatically complete the logic compilation, comprehensive, simulation, the target chip adaptation compile, Download work. Design of the work is the use of programming way to carry on the function of the system are described, with the help of EDA tool, the application of appropriate programmable device design, implementation of the final result. The common to the waveform generator miniaturization, simple design, easy to use。Keywords: EDA; VHDL; Function generator目录1 引 言11.1 课程设计的目的11.2 课程设计的内容12 EDA和VHDL简介32.1 EDA简介32.2 VHDL41 VHDL的简介42 VHDL语言的特点43 VHDL的设计流程42.3 MAXPLUS II简介63 智能函数发生器设计过程83.1 设计规划83.2 各模块工作原理及设计84 系统仿真164.1 三角波函数模块仿真164.2 递减谐波函数模块仿真164.3 递增谐波函数模块仿真164.4 阶梯波函数模块仿真174.5 方波函数模块仿真174.6 正弦波函数模块仿真174.7 整体仿真17小结19致 谢20参考文献21附录22 基于VHDL语言的移位寄存器的设计 第22页 共29页 1 引 言 VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,从而实现可编程的专用集成电路(ASIC)的设计。智能函数发生器在生产实践和科技领域中有着广泛的应用。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。1.1课程设计的目的波形发生器在生产实践和科技领域有着和广泛的应用,只要用到波形传输的技术和产业,都与波形发生器有着密不可分的关系。因此,波形发生器的设计是必要的。本次设计的目的就是利用计算机组成原理中硬件和处理机的相关知识,通过课程设计更加深入的了解计算机处理及相关知识。了解EDA技术,并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合计算机组成原理中的相关知识理论联系实际,掌握所学的课程知识。通过对智能函数发生器的设计,巩固和综合运用所学知识,提高对计算机组成原理的理解。1.2 课程设计的内容要求设计一个函数发生器,该函数发生器能够产生递增斜波、递减斜波、方波、三角波、正弦波、及阶梯波,并且可以通过选择开关选择相应的波形输出;系统具有复位的功能;通过按键确定输出的波形及确定是否输出波形。FPGA是整个系统的核心,构成系统控制器,波形数据生成器,加法器,运算/译码等功能。2 EDA和VHDL简介2.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。 图2.1 EDA的设计流程2.2VHDL1 VHDL的简介VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language),翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。诞生于1982年。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。2 VHDL语言的特点(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。3 VHDL的设计流程1.设计规范的定义明确设计的目的,进行设计的总体规划。分析设计要求,以及自己要达到的设计目的和目标。2. 采用VHDL进行设计描述这部分包括设计规划和程序的编写。设计规划主要包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计。3. VHDL程序仿真对于某些人而言,仿真这一步似乎是可有可无的。但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。4. 综合、优化和布局布线综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。5仿真这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。 图2.2 VHDL设计流程2.3 MAXPLUS II简介Max Plus II是美国Altera公司开发的软件,它具有操作系统的程序界面,采用全菜单操作和鼠标操作方式,是一个完全集成化,易学易用的可编程逻辑设计环境。它提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、触发器等),宏功能元件(包含了几乎所有74 系列的器件)以及功能强大、性能良好的类似于核的兆功能块库,但更为重要的是它提供了使用方便,精度良好的时序仿真器,能够对系统中任一元件的功能进行精确的时序仿真,精度达0.1ns,非常准确。Max Plus II开发系统是一个完全集成化、易学易用的可编程逻辑器件设计和开发系统,它提供了一种真正与结构无关的可编程逻辑设计环境。它所提供的灵活性和高效性是无可比拟的,其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用Max Plus II软件。Max Plus II支持灵活多样的输入方式:原理图输入、硬件描述语言输入、波形输入,以及层次设计输入。Max Plus II的设计输入、处理和校验功能全部集成在统一的开发环境下,这样可以加快动态调试进程。它提供丰富的库单元供设计者使用,包括74系列的全部器件、多种特殊的逻辑宏功能(macro-function)和参数化功能模块(LPM: Library of Parameterized Modules),但更为重要的是Max Plus II还提供了原理图输入多层次设计功能,使得用户能设计更大规模的电路系统,以及使用方便、精度良好的时序仿真器。与传统的数字电路实验相比,Max Plus II提供灵活多样的层次化输入设计功能,具有显著的优势:1能进行任意层次的数字系统设计。传统的数字电路实验只能完成单一层次的设计,使设计者无法了解和实现多层次的硬件数字系统设计。2对系统中的任一层次或任一元件的功能进行精确的时序仿真,精度达0.1ns,因此能发现对系统可能产生不良影响的竞争冒险现象。3通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正。4能对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档。5通过编译和下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证。6如果使用FPGA和配置编程方式,将不会有器件损坏和损耗问题。7符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法完成元件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可,而不必顾及引线长短,粗细弯曲方式,可能产生的分布电感和电容效应,以及电磁兼容性等等十分重要的问题。Max Plus II还提供设计校验的仿真器,其中包括功能仿真和时序仿真。仿真器的灵活性很强电路设计完成后,需要验证电路设计的逻辑功能是否正确。这是一项简单的逻辑检查,可采用功能仿真,这对于初步的逻辑功能检测非常方便。功能检查完成后,可进行时序仿真。Max Plus II的时序分析程序可以计算点到点的器件延时,确定器件引脚上的建立时间和保持时间要求,还可计算最高时钟频率。用Max Plus II软件进行逻辑设计的步骤包括:1根据所选课题的任务和设计指标要求,确定总体设计方案,画出总体方案的系统框图(亦称预设计阶段)。2进行底层单元电路分析及输入设计、编译、仿真。3利用已编译正确的底层单元电路模块,画出顶层电路的原理图 ,进行编译调试和仿真测试。4撰写设计报告。图2.3 Max Plus II 设计流程图3 智能函数发生器设计过程3.1设计规划本设计是基于VHDL语言设计的智能函数发生器,函数发生器是一种很常用的器件,在很多情况下,最常用的波形是正弦波,方波,三角波,递增,递减斜波和阶梯波六种。虽然用模拟电子线路很容易得到这些波形,但是这种方法会使硬件线路较为繁琐,而且模拟线路会受到干扰。本设计采用综合设计方法使用FPGA来实现智能函数发生器,它由六个波形产生模块及波形选择输出模块组成,波形选择模块的输出q接在D/A转换的数据端,就可以在D/A输出端得到想要的其中之一的任一种光滑的波形。3.2 各模块工作原理及设计 (1)智能函数发生器的工作原理智能函数发生器主要由七大模块组成,其中六大模块是用来产生常用的波形图,包括正弦波,方波,三角波,递增,递减谐波和阶梯波六种波。在这六个模块中,每个都有两个输入端口,分别是时钟信号端口CLK,CLK输入时钟脉冲,时钟上升沿有效,和复位清零信号RESET,当高电平有效时,系统恢复初始状态;每个模块还有一个输出端口,输出对应的波形函数。另一大模块就是波形选择模块,SEL【2.0】为输出选择信号,该信号的不同取值对应递增斜波、递减斜波、方波、三角波、正弦波、阶梯波六种不同的输出;Q【7.0】为输出信号,根据输出函数选择信号SEL【2.0】的取值输出相应的波形。其完整电路原理图如图3.2.1所示。图3.2.1 完整电路原理图 (2) 三角波函数模块的设计电路符号:三角波函数工作原理框图。如图3.2.2所示。图3.2.2三角波函数工作原理框图 图中CLK为时钟输入信号,CLR为复位清零信号,Q【7.0】为输出波形函数。三角波函数发生器由VHDL程序实现,下面是其VHDL代码:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jcb IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END jcb;ARCHITECTURE behave OF jcb ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); VARIABLE a: STD_LOGIC; BEGIN IF reset=0THEN tmp:=00000000; ELSIF clkEVENT AND clk=1THEN IF a=0THENIF tmp=11111110THEN tmp:=11111111; a:=1; ELSE tmp:=tmp+1; END IF;ELSE IF tmp=00000001THEN tmp:=00000000; a:=0;ELSE tmp:=tmp-1; END IF; END IF;END IF;q=tmp; END PROCESS;END behave;(3)递减谐波模块的设计电路符号:递减谐波函数发生器工作原理框图。如图3.2.3所示。图3.2.3递减谐波发生器原理框图其实现VHDL代码如下:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY dj IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END dj;ARCHITECTURE behave OF dj ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN IF reset=0THEN tmp:=11111111; ELSIF clkEVENT AND clk=1THEN IF tmp=00000000THEN Tmp:=11111111; ELSE tmp:=tmp-1; END IF;END IF; q=tmp; END PROCESS;END behave;(4)递增谐波模块设计电路符号:递增谐波发生器工作原理框图。如图3.2.4所示。图3.2.4 递增谐波发生器工作原理图其实现VHDL代码如下:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dz IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END dz;ARCHITECTURE behave OF dz ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN IF reset=0THEN tmp:=00000000; ELSIF clkEVENT AND clk=1THEN IF tmp=11111111THEN tmp:=00000000; ELSE tmp:=tmp+1; END IF; END IF;q=tmp; END PROCESS;END behave;(5)阶梯波函数发生器模块的设计电路符号:阶梯波函数发生器的原理框图,如图3.2.5所示。图3.2.5 阶梯波函数发生器原理框图其实现代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jtb isport(clk,reset:in std_logic;q:out std_logic_vector(7 downto 0);end jtb;architecture a of jtb isbeginprocess(clk,reset)variable tmp:std_logic_vector(7 downto 0);beginif reset=0 thentmp:=00000000;else if clkevent and clk=1 thenif tmp=11111111 thentmp:=00000000;elsetmp:=tmp+16;end if;end if;end if;q=tmp;end process;end a;(6)方波函数发生器模块的设计电路符号:方波函数发生器的原理框图,如图3.2.6所示。图3.2.6 方波函数发生器原理框图其实现代码如下:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY fb IS PORT (clk,reset: IN STD_LOGIC; q:OUT INTEGER RANGE 0 TO 255);END fb; ARCHITECTURE behave OF fb ISSIGNAL a: BIT;BEGIN PROCESS (clk,reset) VARIABLE cnt: INTEGER range 0 to 31; BEGIN IF reset=0THEN A=0; ELSIF clkEVENT AND clk=1THEN IF cnt31 THENCnt:=cnt+1; ELSE cnt:=0; a=NOT a;END IF; END IF; END PROCESS; Process (clk,a) BEGINIF clkEVENT AND clk=1THEN IF a=1THEN Q=255; ELSE Q=0; END IF; END IF;END PROCESS;END behave;(7)正弦波函数发生器模块的设计电路符号:正弦波函数发生器的原理框图,如图3.2.7所示。图3.2.7 正弦波函数发生器原理框图其实现代码如下:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zx is port(clk:in std_logic; reset:in std_logic; q:out std_logic_vector(7 downto 0);end zx;architecture behave of zx is signal b:integer range 0 to 63; signal d:integer range 0 to 255;beginprocess(clk)begin if reset=0then b=0; elsif clkevent and clk=1 then if b=63 then b=0; else bddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; end case; end process; qqqqqqqNULL; END CASE; END PROCESS; END behave;4 系统仿真4.1 三角波函数模块仿真三角波函数的仿真图,如图4.1所示。图 4.1 三角波函数仿真图4.2递减谐波函数模块仿真递减谐波函数模块的仿真图,如图4.2所示。图4.2递减谐波函数的仿真图4.3递增谐波函数模块仿真递增谐波函数模块的仿真图,如图4.3所示。图4.3递增谐波函数模块仿真图4.4 阶梯波函数模块仿真阶梯波函数的仿真图,如图4.4所示。图 4.4 阶梯波函数仿真图4.5 方波函数模块仿真方波函数的仿真图,如图4.5所示。图 4.5 方波函数仿真图4.6 正弦波函数模块仿真正弦波函数的仿真图,如图4.6所示。图 4.6 正弦波函数仿真图4.7 整体仿真整体的仿真图,如图4.7所示。图 4.7 整体仿真图小结经过了两周的学习和工作,我终于完成了基于VHDL的智能函数发生器的设计及相关论文。设计语言主要是采用VHDL语言的自顶向下的设计方法。EDA中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程,应用VHDL运行自顶向下的设计,就是使用VHDL模型在所有综合级别上对硬件进行说明、建模和仿真测试。顶层文件采用了原理图的方法设计,使各模块之间的层次关系清晰。应用EDA技术用FPGA完成波形发生器,通过选择波形的按钮,实现6种波形的互相转换。利用示波器可以验证波形发生器与原定的设计的理论是相一致。通过这次课设,也给我带来以下一些收获:1、进一步熟悉maxplus II软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;2、对VHDL语言的自顶向下设计方法有了进一步的认识;在底层文件具备的条件下,使用原理图可以使设置更加简单。使程序清晰,增加可读性。3、锻炼了独立思考和解决问题的能力。4、熟悉了写电子设计试验报告的方法,为写毕业设计论文奠定了一定的基础。致 谢本设计在老师的悉心指导和严格要求下已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着蔡烁老师的心血和汗水。在这次组成原理的课程设计中,我曾遇到过不少问题和技术难题,单凭我个人的努力,很难按时完成该课程设计及报告。在此,我衷心感谢我的指导老师。大家平时没有养成一个写报告的良好习惯,也没有认真对待写报告这件事情,在格式和内容上总是达不到报告的要求,但是蔡烁老师一遍又一遍不胜其烦的给我们纠正错误,直到所有人的报告都附合要求。陈沅涛老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。不积跬步何以至千里,本设计能够顺利的完成,也归功于蔡烁老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了她的悉心帮助和支持,才使我的课程设计工作顺利完成。参考文献1甘登岱.EDA培训教程.北京:机械工业出版社,2005 2 Jayaram.Bhaker.VHDL教程.北京:机械工业出版社,20063赵世霞,杨丰,刘揭生.VHDL与微机接口设计.北京:清华大学出版社,20044潘松 VHDL使用教程 成都:电子科技出版社,20005黄继业. EDA技术实用教程.科学出版社,20026曾繁泰,侯亚宁,崔元明.可编程器件应用导论,2001附录各大模块代码三角波函数发生器代码:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jcb IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END jcb;ARCHITECTURE behave OF jcb ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); VARIABLE a: STD_LOGIC; BEGIN IF reset=0THEN tmp:=00000000; ELSIF clkEVENT AND clk=1THEN IF a=0THENIF tmp=11111110THEN tmp:=11111111; a:=1; ELSE tmp:=tmp+1; END IF;ELSE IF tmp=00000001THEN tmp:=00000000; a:=0;ELSE tmp:=tmp-1; END IF; END IF;END IF;q=tmp; END PROCESS;END behave;递减谐波函数发生器模块代码:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE. STD_LOGIC_UNSIGNED.ALL;ENTITY dj IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END dj;ARCHITECTURE behave OF dj ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN IF reset=0THEN tmp:=11111111; ELSIF clkEVENT AND clk=1THEN IF tmp=00000000THEN Tmp:=11111111; ELSE tmp:=tmp-1; END IF;END IF; q=tmp; END PROCESS;END behave;递增谐波函数发生器模块代码:LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dz IS PORT (clk,reset: IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END dz;ARCHITECTURE behave OF dz ISBEGIN PROCESS (clk,reset) VARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN IF reset=0THEN tmp:=00000000; ELSIF clkEVENT AND clk=1THEN IF tmp=11111111THEN tmp:=00000000; ELSE tmp:=tmp+1; END IF; END IF;q=tmp; END PROCESS;END

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论