电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

开发的软件工具介绍课件

27页
  • 卖家[上传人]:F****n
  • 文档编号:88146258
  • 上传时间:2019-04-19
  • 文档格式:PPT
  • 文档大小:238KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第三章 VHDL开发的软件工具 介绍-MAX+plus,3.1 MAX+plus10.2 演示 3.2 在MAX+plus下使用VHDL有关问题 3.3 自学 1.书P255264 2.课件-Max+Plus II 简易用户入门指南,举例:设计一个8位计数显示译码电路,层次化设计 把该电路分成三个模块: cnt4e.vhd-用VHDL编写4位二进制计数器源程序。 dec7s.vhd-用VHDL编写共阴极七段显示译码器源程序。 cnt_dec8.gdf-以cnt4.vhd、dec7s.vhd为元件,用原理图输入法设计顶层文件。,编辑4位二进制计数器VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY cnt4e IS PORT (clk,ena: IN STD_LOGIC; cout: OUT STD_LOGIC; q: BUFFER INTEGER RANGE 0 TO 15); END cnt4e; ARCHITECTURE one OF cnt4e IS BEGIN PROCESS(clk,ena) BEGIN IF c

      2、lkEVENT AND clk=1 THEN IF ena=1 THEN IF q=15 THEN q=0; cout=0; ELSIF q=14 THEN q=q+1; cout=1; ELSE q=q+1; END IF; END IF; END IF; END PROCESS; END one;,编辑七段显示译码器VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dec7s IS PORT (a: IN BIT_VECTOR(3 DOWNTO 0); led7s: OUT BIT_VECTOR(7 DOWNTO 0); END dec7s; ARCHITECTURE one OF dec7s IS BEGIN PROCESS(A) BEGIN CASE A(3 DOWNTO 0) IS WHEN “0000“ =LED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL; END CASE; END PRO

      3、CESS; END one;,设计8位计数显示顶层文件 在图形编辑框中,调出两个cnt4e元件符号和两个dec7s元件符号及输入(INPUT)和输出(OUTPUT)元件符号,然后连接成系统。,编译仿真顶层文件 下载顶层文件,硬件仿真验证,在MAX+plus下 使用VHDL有关问题,3.2.1 创建文件时应注意的问题 3.2.2 编程过程中应注意的问题 3.2.3 编译过程中应注意的问题 3.2.4 波形仿真时应注意的问题,对于MAX+plus环境中的VHDL设计,一个项目不仅包括了设计输入的源文件(.vhd),还有编译过程中产生的一系列文件。如果各个设计都不加整理地放在默认的目录下,势必造成文件管理的混乱。,3.2.1 创建文件时应注意的问题,文件的保存, 对于一个设计,创建一个单独的目录,该目录的路径从根目录开始都必须是英文名称,任何一级目录都不能出现中文字样,否则在读文件时会发生错误; 将设计的源文件(.vhd)放在对应的目录底下,编译等过程中产生的文件也就自动放在该目录下了。 对于一个设计(称为主设计),若要引用其它的设计作为自己的模块,其它设计的源程序必须和该设计在同一目录下,

      4、否则无法引用。,文件的保存,3.2.1 创建文件时应注意的问题,文件的命名,用VHDL语言进行设计,其设计源文件名必须和设计实体名称相同。,波形文件的创建,对于波形文件在创建时,也必须和设计实体相同,但波形文件可以另存 一个和设计实体不相同的名字。这个优点对于一个需要多个仿真的设计提供了很多方便。,3.2.1 创建文件时应注意的问题,3.2.2 编程过程中应注意的问题,实体设计中应注意的问题, 实体定义的格式 :实体的定义必须按照规定的格式,否则编译时会出错误。, 端口的说明 :在端口说明中,端口的模式(方向)说明很重要。例如,一个端口在构造体中被引用作为某个语句的条件,那么该端口就必须定义成BUFFER类型,否则在编译过程中会出错。 在一个具体设计的实体端口说明中,端口的数据类型建议使用标准逻辑信号形式,这样可以大大提高设计的效率,也可以避免一些不必要的麻烦。,结构体设计中应注意的问题, 信号和变量的定义位置 : 信号(signal)的定义位置在ARITECTURE和BEGIN之间,用于对结构体内部所使用信号的定义。该信号在整个结构体中都能够被使用。 变量(variable)的定义位

      5、置在PROCESS和BEGIN之间,用于对该进程内部所使用信号的定义,且该变量只能在该进程内被使用。,3.2.2 编程过程中应注意的问题, 进程中的敏感量 : 进程是靠进程中的敏感量来触发的,当敏感量有变化时就会触发进程,从第一个语句开始顺序执行一次进程中的所有语句。因此设计敏感表时,要充分考虑进程的特性,不要把任何不必要的信号放入敏感表。,结构体设计中应注意的问题,3.2.2 编程过程中应注意的问题, 信号的赋值问题 : 一个定义了的信号,能够在整个结构体内使用,但是一个信号只能在一个进程中被赋值,不能在多个进程中被赋值,否则编译时将出错。,结构体设计中应注意的问题, 进程中的时钟动作 : 一个进程只能有一个时钟信号发生动作,而不能有多个时钟信号动作;时钟信号动作一般以IF clkevent AND clk= 0 形式出现,且不支持ELSE形式。,3.2.2 编程过程中应注意的问题, 并行结构语句与顺序结构语句 : 在一般设计中,顺序结构语句只能应用于进程中,并行结构语句应用于进程外的结构体中。,结构体设计中应注意的问题, 数据宽度的匹配问题 : 在赋值语句中,符号的两侧,数据的宽度

      6、必须匹配。在数据宽度匹配的条件下,要注意数据的高低位的匹配,即符号两侧的数据排位顺序的对应问题,否则虽然编译能够通过,但结果会产生意想不到的错误。,3.2.2 编程过程中应注意的问题, 注意行为描述抽象的程度 : 行为描述分为两种:一种是可以进行逻辑综合的,另一种是由于采用了很高抽象程度的VHDL语句而不能进行逻辑综合的。在具体的设计中,要注意不能使用抽象程度高的VHDL语句,同时也要明确所使用的逻辑综合器所支持的语句。,结构体设计中应注意的问题,3.2.2 编程过程中应注意的问题,在MAX+plus中使用VHDL语言提要, 避免使用WAIT语句 : 避免在MAX+ plus设计源代码中使用WAIT语句,这种语句不会被综合成一种元件,即MAX+ plus不支持这种语句。, 避免使用AFTER XX ns语句 : XX指明在执行一种操作之前需要等待的时间(单位是ns )。综合工具在进行综合时会忽略AFTER语句。,3.2.2 编程过程中应注意的问题, 使用CASE语句和IF-ELSE语句 : IF-ELSE语句描述一个优先级编码的逻辑,CASE语句描述一种对称平衡的行为。,在MAX+pl

      7、us中使用VHDL语言提要,3.2.2 编程过程中应注意的问题, 对算术功能进行排序和重组 : 对算术功能的排序和重组可以改变设计的功能。如下面两个VHDL语句,虽然结果一样,但并不等价。 add=a1+a2+a3+a4; add =(a1+a2)+(a3+a4); 第一个表达式将会连续地层叠三个加法器;而第二个表达式是两个并行加法器将同时进行加法运算,然后再通过一个加法器相加。显然,后者在综合后可以形成一个速度更快的电路。,在MAX+plus中使用VHDL语言提要,3.2.2 编程过程中应注意的问题, 避免使用初始化语句 : 不要在信号和变量声明时赋初值(VARIABLE a:integer:=0),因为MAX+plus将忽略初始化语句 。如果使用初始化语句,那么综合的结果和仿真的结果将产生差异。在VHDL编程中,如果要赋初值,可以通过专门的进程来实现。,在MAX+plus中使用VHDL语言提要, 选择统一的编程风格 : 统一的编程风格会使阅读、理解程序变得简单,同时便于资源共享,大大提高设计效率 。,3.2.2 编程过程中应注意的问题,通常遵循的编码规则如下 : 1. 选择使用大小

      8、写字母的规则(如关键字和自定义名称分别采用大小写方式) 。 2. 使用和实体名相匹配的文件名称。 3. 使用有意义的名称为标识符、类型、程序包等一些资源命名。 4. 给进程、函数、过程、代码流等资源使用标号、注释,以提高程序的可读性。 5. 不要使用变量替代常量。这种编码规则可以提高优化的效果,并且还可以提高代码的可读性和易修改性。,在MAX+plus中使用VHDL语言提要,3.2.2 编程过程中应注意的问题, 编写可读性高的代码 : 为提高程序的可读性,需要遵循如下规则: 1. 使用代码缩进。 2. 使用空行。 3. 使用空格。 4. 不要使用长表达式。 5. 增加注释。,在MAX+plus中使用VHDL语言提要,3.2.2 编程过程中应注意的问题,3.2.3 编译过程中应注意的问题,编写源代码 编译程序 修改错误 完善程序,编译器可完成从网表提取到编程文件的生成,在编译过程中生成一系列标准文件可进行时序模拟、适配等。, 编译过程中错误的定位与改正 : MAX+plus中的编译器在编译过程中,如遇到一般错误,会在错误的地方停止编译,并告知错误的原因及位置。若遇到不能自动定位的程序,可通过所谓“人为制造错误”的方法进行定位。 错误的改正,需要依靠设计者的经验。, 编译过程中的警告 : 正常的警告: 不必理睬 不正常的警告:必须改正,否则将影响设计的 正确性。,3.2.3 编译过程中应注意的问题,3.2.4 波形仿真时应注意的问题, 修改程序后应重新建立仿真文件 : 当修改程序后,尤其是结构体中信号量发生变化及实体中端口发生变化后,应重新建立仿真文件再进行仿真,否则会出现警告 。, 有的设计逻辑完全正确,但仿真波形时而正确,时而错误的问题 :这是由于设计中某个条件在波形图中恰好未得到满足的原因。可将波形图进行相应调整即可。,作业: 开始本课程实验环节中的综合设计 -集成电路CAD综合设计与验证 (要求详见实验指导书),THANKS!,

      《开发的软件工具介绍课件》由会员F****n分享,可在线阅读,更多相关《开发的软件工具介绍课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.