欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA课设分析方案--信号发生器的设计 .docx

    • 资源ID:13052316       资源大小:397.37KB        全文页数:21页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA课设分析方案--信号发生器的设计 .docx

    精品名师归纳总结集成电路 VHDL 设计 课程设计报告设计题目专业班级:电信 0901设 计 者: 03庄威 06邓智超 42 郭乐安 指导老师:蔡剑华设计时间: 2021-06-23目录摘要 .2Abstract.3绪论 .41. V H D L 简介 51.1 VHDL的特点 51.2 VHDL进展史 52. 设计的方案确定62.1 AD558工作原理 62. 2设 计方 案 73. 设计流程 .8 4.终止语 145. 参考文献 .15附录.16摘要本说明书第一介绍了 VHDL 语言的特点及进展史。接着简要说明白D/A 接口(函数发生器)的工作原理及设计思想和设计方案的确定。然后着重说明白使用 VHDL 语言设计 D/A 接口(函数发生器)的详细操作步骤及主要流程。为了更加详细的说明清楚主要流程在本课程设计说明书中仍附加了相应的图片。最终仍附加了实现设计的 VHDL 源程序。关键词: VHDLD/A接口 设计Abstract可编辑资料 - - - 欢迎下载精品名师归纳总结This manual introduces the VHDL language features and development histo。ry followed by a brief description of the D/A interface and the working principle and design ideas and the way that the design program was confirm。ed and then I explain the emphasis on the use of VHDL language to design D/A interface and the specificsteps and the main process. In order to explain in more details of the main process I also attached the corresponding pictures. Finally I added the VHDL design source codes in the addendum.Keywords: VHDL D/A Interface Design绪论EDA 是电子设计自动化 Electronic Design Automation的缩写。 EDA 技术就是依靠功能强大的运算机,在 EDA 工具软件平台上,对以硬件描述语言HDLHardware Description Language为系统规律描述手段完成的设计文件,自动的完成规律编译、化简、分割、综合、布局布线以及规律优化和仿真测试,直至实现既定的电子线路系统功能。 EDA 技术使设计者的工作仅局限于利用软件的方式来完成对系统硬件功能的实现,可以说EDA 技术的产生与进展是电子设计技术的一个巨大进步。 EDA 技术融合了众多电子设计技术和运算机帮忙技术,使得它在现代电子学方面的应用越来越广泛,也成为电子、电气类高校生必需娴熟把握的一种设计工具。硬件描述性语言 HDL 是 EDA 技术的重要组成部分,常见 HDL 的有VHDL 、HDL 、ABEL 、Verilog、AHDL 、SystemC等。其中 VHDL 、Verilog 在现在的 EDA 设计中使用的最多,也拥有了几乎全部主流EDA 工具的支持,而相对于其他语言 VHDL 更加完善。 VHDL 是英文全名是 VHSICVery HighSpeed Integrated Circuit Hardware Description Language是, 硬件描述语言的业界标准之一。它作为一个规范语言和建模语言,具有与详细硬件电路无关及设计平台无关的特性,而且仍有很强的电路行为描述和建模才能,能从多个层次的数字系统进行建模和描述,从而大大简化了硬件设计的任务,提高了设计效率和牢靠性。D/A 转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号。AD558 是并行 8 位 D/A 转换芯片,应用 CPLD 可以完成对 AD558 的控可编辑资料 - - - 欢迎下载精品名师归纳总结制。CPLD 与 CPLD 结合之后可以完成函数发生器的基本功能:波形输出。要实现这种结合就需要应用 VHDL 语言完成 D/A 接口的设计。通过合适的 VHDL语言可以完成递增斜波、递减斜波、三角波、递增阶梯波的输出。1. VHDL简介1.1 VHDL 的特点VHDL 语言功能强大、设计灵敏。VHDL 语言可以用简洁明确的源代码来描述复杂的规律把握,它具有多层次的设计描述功能,层层细化,最终可直接生成电路级描述。 VHDL 支持同步电路、异步电路和随机电路的设计, 这是其他硬件描述语言虽不能比拟的。VHDL 仍支持多种设计方法,既支持自底向上的设计,又支持自顶向下的设计。既支持模块化设计,又支持层次化设计。由于 VHDL 已经成为 IEEE 标准所规定的硬件描述性语言,目前大多数 EDA 工具几乎都支持VHDL 。由于 VHDL 易读和结构化且易于修改设计所以在硬件电路设计过程中,VHDL 语言得到广泛应用。VHDL 语言独立于器件的设计与工艺无关。因而设计人员用VHDL 进行设计时,不需要考虑选择器件得问题,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。VHDL 语言易于共享和复用。 VHDL 接受基于库( Library )的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设 计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行沟通和共享,削减硬件电路设计。VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。VHDL 语句的行为描述才能和程序结构准备了它具有支持大规模设计的分解和已有设计的再利用功能。这个特点很好的符合了市场需求。对于用VHDL 完成的一个确定的设计,可以利用 EDA 工具进行规律综合和优化,并自动的把 VHDL 描述的设计转变成门级网表。总之,由于 VHDL 语言有的这些优良的特点,它被广泛的应用在电子线路和电子系统的设计中。1.2 VHDL 进展史可编辑资料 - - - 欢迎下载精品名师归纳总结VHDL 于 1983 年由美国国防部发起创建,由IEEE 进一步进展,并在1987 年作为“ IEEE 标准 1076”发布。从今 VHDL 成为硬件描述语言的业界标准之一。随后各 EDA 公司相继推出了自己的VHDL 设计环境,或宣布自己的设计工具支持 VHDL 。此后 VHDL 在电子设计领域得到了广泛的接受, 并逐步取代了原有的非标准的硬件描述语言。1993 年, IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述才能上扩展了 VHDL 的内容,公布了新版本的VHDL ,即 IEEE 标准的 1076- 1993 版本。现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语 言。现在公布的最新 VHDL 标准版本是 IEEE1076-2002 。在现代电子行业中, VHDL 语言将承担起大部分的数字系统设计任务。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中,当然在一些实力较为雄厚的单位,它也被用来设计ASIC 。2. 设计方案的确定2.1 AD558 工作原理A/D 转换器和 D/A 转换器是把微型运算机的应用领域扩展到检测和过程把握的必要装置,是把运算机和生产过程、科学试验过程联系起来的重要桥梁。D/A 转换器的功能是把二进制数字信号转换为与其数值成正比的模拟信号。D/A 转换器相对于 A/D 转换器在时序上要求较低。在 D/A 参数中一个最重要的参数就是辨论率,它是指输入数字量发生单位数码变化时,所对应输出模拟量电压或电流 的变化量。辨论率是指输入数字量最低有效位为1 时,对应输出可辨论的电压变化量 U 与最大输出电压 Um 之比。D/A 转换器 AD558 是 EDA 试验箱上自带的并行 8 位 D/A 转换芯片,它可以把输入的 8 位数字量转化为 02.56V 的电压量,它与 CPLD 器件联合使用可以产生几种波形。其芯片管脚外形和内部结构框图分别如图 1、图 2 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结图 1 AD558 芯片管脚外形图图 2 AD558 内部结构框图AD558 的真值表如图 3 所示。由真值表可知:当 CS 为低电平、 CE 为电平常, AD558 保持上次的转换结果。当 CS 和 CE 同时为电平常,通过数据总线D7.0 读入数据,同时讲转换结果输出。图 3. AD558 真值表可编辑资料 - - - 欢迎下载精品名师归纳总结2.2 设计方案本次 D/A 接口(函数发生器)的设计中,转换结果是时时输出的。依据对AD558 真值表的分析可知:当 CE 和 CS 同时置 0时 AD558 的工作模式为时时输出。因此在本次设计中我只需要将CE 和 CS 同时置 0即可。依据对AD558 功能的分析可知:利用 VHDL 语言编写源程序通过 CPLD 完成对 AD558 的把握,并与 AD558 结合可以完成四种波形的产生。详细设计方案如下:利用 VHDL 语言设计 0255 循环加法计数器、 2550 循环减法计数器、 01280 循环加减计数器、 0224 等梯度循环加法计数器便可分别完成递增斜波、递减斜波、三角波、递增阶梯波的输出。每个计数器仍设计了片选端和清零端。当清零端为0 时计数器复原为初始状态。为了实现输出波形模式的选择,在本次设计中我使用了一个四选一选择器:输入为2 位规律数组输出为 4 个一位规律量。每一种输入状态对于于一种输出状态,每个状态有且仅有一位为 1,其余 3 位皆为 0,每个输出量与一种计数器的片选端相连接,即每个输入状态都只选中一种输出状态。由于 CPLD 试验箱上没有 D/A 转换器,为了显示设计结果检验设计成果我准备使用 7 段数码管显示产生波形的数字量。由于输出范畴为0255,在十六进制数 0HEEH 的范畴内,而且试验箱上只有 8 个 7 段数码管因此我各用 2 个7 段数码管显示 4 种波形的输出。在每个计数器输出端口和 7 段译码器中间添加一个输入频率为1000HZ 的 4选 1 数据选择器,并利用两个拨码开关实现输入数据的选择。由于试验箱上自带的时钟源频率为 20MHZ ,为了得到 1000HZ 的频率,我仍设计了一个分频器。以上即为本次 D/A 接口(函数发生器)的主要设计方案。3. 设计流程第一启动 Quartus II 软件如图 4 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结图 4 Quartus II启动界面接着利用向导,建立一个新的工程。在File 菜单中选择 New Project Wizard选项启动工程向导。如图 5 所示,分别指定创建工程的路径,工程名和顶层文件名。工程名和顶层文件可以一样也可以不同。一个工程中可以有多个文件, 但只能有一个顶层文件。这里我将工程名取为:keshe,顶层文件名取为zhuanhuan。如图 5 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结图 5 创建工程界面图在图 5 所示界面点击 NEXT按钮显现对话框如图 6 所示直接点 Finish 按钮然后在显现的界面中依次点击 File/new 显现如图 7 所示界面。点击创建 VHDL 编辑界面中 VHDLFile 按钮即进入 VHDL 语言编辑区如图 8 所示。可编辑资料 - - - 欢迎下载精品名师归纳总结图 6 创建工程的终止界面图 7 创建 VHDLFile 对话框可编辑资料 - - - 欢迎下载精品名师归纳总结图 8 VHDL语言编辑框在图 8 所示的 VHDL 语言编辑框中依次输入分频器、四选一选择器、循环加法计数器等 4 钟计数器、七段译码器等功能模块的VHDL 语言源程序。输入完成之后单击储存图标并输入相应的文件名。储存之后即可对源程序进行编译。假如编译成功就源程序完全正确,否就应当返回到出错处改正错误直至编译成功为止。编译成功之后选中源程序依次单击File、NEW 、create/update、create symbol file for current file 便可对相应的模块生产元器件。本次设计中对顶层文件实行原理图输入法,利用前期设计的各模块的元器件图连接成整体电路图。修改设计直至编译成功为止,电路原理图如图9 所示:可编辑资料 - - - 欢迎下载精品名师归纳总结图 9 整体电路图原理图设计成功之后,依据试验箱上相应的管教,锁定管教之后再次编译,编译成功之后就可以把程序下载到试验箱上进行功能验证了。如功能验证结果符合设计要求就设计至此终止。终止语通过这次 EDA 课程设计,我对课堂上所学到的理论学问的懂得加深了许多,自己动脑、动手设计的才能也得到了较大提高。虽然我们这学期学习了 EDA这门课,但是由于学时特别有限,当时学的有些不系统。而且在第八周课程及终止了,十一周考完考试之后就几乎没有再接 触 EDA的学问了。在此次课程设计之前,有许多细节我已经不是很清楚了,为此我特意花了两天的时间提前再次学习了EDA技术与 VHDL这本教材。我想这和课堂上的学习一样是我能顺当完成本次课程设计的一个重要缘由。在这次课程设计的过程中,我对VHDL语言有了更深的熟识。通过查阅相关可编辑资料 - - - 欢迎下载精品名师归纳总结资料和动手设计我发觉我以前对VHDL语言的熟识太过肤浅,认为 VHDL语言只能用于设计小型的电路系统。但有了更深刻的熟识之后我发觉学好VHDL语言可以设计出大规模的、功能复杂的电路系统。以前之所以会有错误的熟识是由于自己对 VHDL语言的明白和把握仍不够。现在仔细想想,这次课程设计使得我对VHDL语言的懂得与应用才能得到了较大的提升,也让我熟识到只要升入学习, 提升的空间永久的存在的。在设计的过程中我遇到了一些问题,如:编写源程序中显现了语法错误, 使用原理图设计顶层文件是对输入输入输出端口的位数选择错误和端口命名错误等。通过查阅书本和以前设计的程序我发觉了产生错误的缘由并解决了问题完成了设计。经过反思我发觉较大一部分错误时由于操作的不娴熟照成的,这也让我明白了要保持设计的高效率及必需经常练习。另一方面我也发觉了动手实践的重要性。动手实践是理论学问得以灵敏运用的必要前提,也是今后今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并依据自己对课堂上获得的专业学问的懂得来解决它才能真正的提高自己的才能。这也提示我在平常的学习生活中不能一味埋头于课本学问,当今社会竞争越来越猛烈,社会对人才的要求越来越全面,只有理论学问是远远不够的,必需靠动手才能做支撑。因此在学习之余我们应当积极参加各种与专业学问有关的实践活动和学问竞赛,巩固所学的理论学问,多留意培养实际动手才能和专业技术才能,这样才能在以后的工作岗位上有所作为。参考文献【1】潘松 黄继业. EDA 技术与 VHDL (其次版) . 北京:清华高校出版社, 2005.7【2】康华光 . 电子技术基础 . 北京:高等训练出版社 .2006.1【3】付家才 .EDA 工程实践技术 . 北京:化学工业出版社, 2007.1【4】汉泽西 . EDA 技术及其应用 . 北京:北京航空航天高校出版社,2004.5【5】赵刚.EDA 技术简明教程 . 成都:四川高校出版社, 2004.6【6】章彬宏 周正林. EDA 应用技术 . 北京:北京理工高校出版社, 2007.7可编辑资料 - - - 欢迎下载精品名师归纳总结【7】刘艳萍 高振斌 李志平.EDA 有用技术及应用 . 北京:国防工业出版社,2006.1附录分频器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity fpq isportclk: in std_logic 。f_out:out std_logic。end entity。architecture bhv of fpq issignal b:integer range 0 to 200000。 beginprocessclk beginif clk'event and clk='1' thenif b=20000 then b<=0。f_out<='1'。elsif b<20000 then b<=b+1。f_out<='0'。end if。end if。end process。end bhv。4 选 1 选择器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity xuanze4_1 isporta1:in std_logic。可编辑资料 - - - 欢迎下载精品名师归纳总结a2:in std_logic。q1:out std_logic。q2:out std_logic。q3:out std_logic。q4:out std_logic。end entity xuanze4_1。architecture bhv of xuanze4_1 issignal q:std_logic_vector3 downto 0。signal a:std_logic_vector1 downto 0。beginprocessa begin a<=a1&a2。case a iswhen "00" => q<="0001" 。when "01" => q<="0010" 。when "10" => q<="0100" 。when "11" => q<="1000" 。end case。q1<=q0。q2<=q1。q3<=q2。q4<=q3。end process。end bhv。递增计数器源程序:llibrary ieee 。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll可编辑资料 - - - 欢迎下载精品名师归纳总结entity dizeng is portclk,cs,ret:in std_logic。q1:buffer integer range 0 to 256。end entity dizeng。architecture bhv of dizeng is beginprocessclk,cs,ret beginif cs='1' thenif ret='0' then q1<=0。elsif ret='1' thenif clk'event and clk='1' then if q1=255 then q1<=0。elsif q1<255 then q1<=q1+1。end if。end if。end if。end if。end process。end bhv。递减计数器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity dijian isportclk,cs,ret:in std_logic。q1:buffer integer range 0 to 256。 end entity dijian。architecture bhv of dijian is可编辑资料 - - - 欢迎下载精品名师归纳总结begin processclk,cs,ret beginif cs='1' thenif ret='0' then q1<=0。elsif ret='1' thenif clk'event and clk='1' then if q1=0 then q1<=255。elsif q1>0 then q1<=q1-1。end if。end if。end if。end if。end process。end bhv。三角波发生器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity sanjiao is portclk,cs,ret:in std_logic。q:buffer integer range 0 to 256。end entity sanjiao。architecture bhv of sanjiao is signal q1:integer range 0 to 256。beginprocessclk,cs,ret,q1 beginif cs='1' then可编辑资料 - - - 欢迎下载精品名师归纳总结if ret='0' then q1<=0。elsif ret='1' thenif clk'event and clk='1' then if q1=255 then q1<=0。elsif q1<255 then q1<=q1+1。end if。end if。end if。end if。if q1<=128 then q<=q1。elsif q1>128 then q<=255-q1。end if。end process。end bhv。递增阶梯波发生器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity jieti isportclk,cs,ret:in std_logic。q1:buffer integer range 0 to 256。 end entity jieti 。architecture bhv of jieti is beginprocessclk,cs,retbeginif cs='1' thenif ret='0' then q1<=0。elsif ret='1' then可编辑资料 - - - 欢迎下载精品名师归纳总结if clk'event and clk='1' then if q1=224 then q1<=0。elsif q1<224 then q1<=q1+32。end if。end if。end if。end if。end process。end bhv。4 选 1 选择器源程序:library ieee。use ieee.std_logic_1164.al。l use ieee.std_logic_unsigned.a。ll entity choose isportm1,m2:in std_logic。a,b,c,d:in integer range 0 to 256。 q:out integer range 0 to 256。end entity choose。architecture bhv of choose issignal x:std_logic_vector0 to 1。beginx<=m1&m2 。with x select q<=a when "00",b when "01",c when "10",d when others。end bhv。7 段译码器源程序:可编辑资料 - - - 欢迎下载精品名师归纳总结library ieee。use ieee.std_logic_1164.al。l entity scan isportclk:in std_logic 。aa:in integer range 0 to 256。 out3:buffer integer range 0 to 7。segout:out std_logic_vector7 downto 0。end scan。architecture behave of scan issignal a,b,c,segin:integer range 0 to 。9 begina<=aa/100。 b<=aa-100*a/10。c<=aa-100*a-10*b。processbeginwait until clk'event and clk='1'。if out3=2 then out3<=0。else out3<=out3+1。end if。case out3 iswhen 0=>segin<=b。when 1=>segin<=a。when 2=>segin<=c。when others=>null。end case。end process。with segin select segout<="00111111"when 0,"00000110"when 1,"01011011"when 2,可编辑资料 - - - 欢迎下载精品名师归纳总结"01001111"when 3,"01100110"when 4,"01101101"when 5,"01111101"when 6,"00000111"when 7,"01111111"when 8,"01101111"when 9,unaffected when others。end behave。可编辑资料 - - - 欢迎下载

    注意事项

    本文(EDA课设分析方案--信号发生器的设计 .docx)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开