囧基于原理图的设计输入

上传人:xiao****1972 文档编号:74709143 上传时间:2019-01-29 格式:PPT 页数:40 大小:735.31KB
返回 下载 相关 举报
囧基于原理图的设计输入_第1页
第1页 / 共40页
囧基于原理图的设计输入_第2页
第2页 / 共40页
囧基于原理图的设计输入_第3页
第3页 / 共40页
囧基于原理图的设计输入_第4页
第4页 / 共40页
囧基于原理图的设计输入_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《囧基于原理图的设计输入》由会员分享,可在线阅读,更多相关《囧基于原理图的设计输入(40页珍藏版)》请在金锄头文库上搜索。

1、基于原理图的设计输入,何宾 2008.09,第7章 基于原理图的设计输入-本章概要,VHDL语言的出现使得许多PLD设计都是基于VHDL的 设计流程,但是基于原理图的设计也有着重要应用。例 如,对于一个简单数字系统设计而言,顶层文件使用原理 图设计,这样做设计比较直观,容易理解,要比使用HDL 例化语句描述简单。该章还是通过秒表的设计示例介绍基 于原理图的设计流程。 在这里需要说明的是,一个有经验的EDA设计人员, 会使用基于HDL语言、原理图和IP核的混合设计方法完成 设计,这些设计方法可能使用在设计的各个模块中,而不 会只局限在顶层模块中。,第7章 基于原理图的设计输入-工程建立,在建立工

2、程前,需要将示例文件从光盘上拷到创建工程 的路径下。该设计完成一个比赛用的秒表计时器。(设计 文件通过http:/ /techsup /tutoria ls/tutorials9.htm资源下载)。下面给出基于原理图设计流 程的工程建立步骤: 1、在桌面上双击ISE9.2的图标,或者在开始菜单-所 有程序-XilinxISE9.1-Project Navigator。在ISE主界面 中选择File-New Project。如图7.1所示,桌面出现下面 的界面;,第7章 基于原理图的设计输入-工程建立,图7.1 创建新工程的界面,第7章 基于原理图的设计输入-工程建立,2、在Project Lo

3、cation域内,由设计人员给出保存工程 的路径; 3、在Project name域内,由设计人员给出工程名 wtut_sc; 4、在Top-Level Source Type域内,选择原理图 Schematic,单击下一步; 如图7.2所示,桌面出现下面的界面;,第7章 基于原理图的设计输入-工程建立,图7.2 芯片属性界面,第7章 基于原理图的设计输入-工程建立,5、在Device Properties界面中,选择合适的产品范围 (Product Category)、芯片的系列(Family)、具体的芯 片型号(Device)、封装类型(Package)、速度信息 (Speed),此外,在

4、该界面中还要选择综合工具 (Synthesis Tool)、仿真工具(Simulator)和设计语言 (Preferred Language)。图7.2给出了示例中的参数配置; 6、连续两次用鼠标点击下一步按钮,出现图7.3添加源 文件的界面。在该界面中,,第7章 基于原理图的设计输入-工程建立,图7.3 添加源的界面,第7章 基于原理图的设计输入-工程建立,点击“Add Source”按钮。添加下列文件:cd4rled.sch, ch4rled.sch,clk_div_262k.vhd,lcd_control.vhd, stopwatch.sch和statmach.dia文件,并单击open

5、按钮,单 击下一步按钮,然后完成新工程的建立; 7、在确认所有设计文件和Synthesis/Imp+Simulation选 项关联后,单击ok;,第7章 基于原理图的设计输入-设计描述,在该设计中,采用了层次化的、基于原理图的设计方 法。该设计的顶层文件是由原理图生成,而顶层文件下面 的其它模块可以用VHDL语言、原理图或IP核生成。该设 计就是完成一个还未完成的工程。通过这个设计流程,读 者可以完成和产生其它的模块。当设计完成后,可以通过 仿真验证设计的正确性。图7.4给出了该设计完整的顶层 原理图描述。该例子的输入、输出信号和功能模块与前一 章的例子完全一样。,第7章 基于原理图的设计输入

6、-设计描述,图7.4 完整的顶层原理图的界面,第7章 基于原理图的设计输入-设计描述,在这个基于分层的设计中,读者可以建立各种类型的 模块,其中包括基于原理图输入模块、基于HDL输入模块、 基于状态图输入模块和基于IP核输入模块。通过该示例, EDA设计人员可以详细学习建立每一种模块的方法,并且 学习如何将这些模块连接在一起构成一个完整的设计。,第7章 基于原理图的设计输入 -原理图编辑器操作,原理图模块由模块符号和符号的连接组成。下面的步骤 将通过ISE的原理图编辑器(Schematic Editor)介绍建立 基于原理图设计time_cnt模块的过程: 1、在ISE主界面下,选择Proje

7、ct-New Source,出现图 7.5的New Source对话框界面。在该界面左边选择 Schematic选项,在File Name中输入time_cnt,单击next按 钮,然后单击Finish按钮,建立新原理图模块; 2、在ISE工作区子窗口,出现原理图编辑窗口,点击鼠 标右键,然后选择Object Properties,将图纸尺寸(Size) 改成D=34x22。点击ok按钮; 通过上面步骤,建立一个time_cnt原理图输入界面;,第7章 基于原理图的设计输入-添加I/O符号,I/O符号用来确定模块的输入/输出端口,通过下面的步 骤可以创建模块的I/O符号: 1、在原理图编辑器界

8、面内,选择ToolsCreate I/O markers.,显示创建I/O marker对话框; 2、如图7.5所示,在Inputs下输入q(19:0),load, up,ce, clk, clr,在output下输入hundredths(3:0),tenths(3:0), sec_lsb(3:0), sec_msb(3:0),minutes(3:0),点击OK;,第7章 基于原理图的设计输入-添加I/O符号,图7.5 I/O marker建立界面,第7章 基于原理图的设计输入 -添加原理图元件,通过符号浏览器(Symbol Brower)可以看到对于当前 设计所用芯片可以使用的元件名字和符号

9、(这些符号按字 母顺序排列)。这些元件符号可以用鼠标直接拖到原理图 编辑器中。下面给出添加原理图元件的步骤: 1、在原理图编辑器的界面内,选择Add-Symbol或者 在工具栏中点击Add Symbol图标。如图7.6所示,在原理 图编辑器窗口左边,打开符号浏览器(Symbol Brower)。 在设计路径下,选择cd4rled,该元件是4比特双向可加载 的BCD计数器;,第7章 基于原理图的设计输入 -添加原理图元件,2、选择cd4rled元件,用鼠标将其拖入编辑器窗口内。 如图7.7所示,再添加3个这样的元件到编辑界面中,同时 添加AND2b1,ch4rled和AND5元件到编辑器窗口内;

10、,图7.6 元件符号浏览器界面,第7章 基于原理图的设计输入-添加连线,1、在元件编辑器界面内,选择Addwire或者在工具栏 中点击Add wire图标; 2、点击AND2B1的输出,拖动连线到cd4rled元件的CE 引脚。此时在两个引脚之间建立连线; 3、点击AND5元件输出,拖动连线到AND2b1反向输入 引脚。此时在两个引脚之间建立连线;,第7章 基于原理图的设计输入-添加连线,图7.7 元件编辑窗口界面,第7章 基于原理图的设计输入-添加连线,4、分别将load,up,clk和clr输入和五个计数器模块的 L,UP,C,R引脚连接,将前一个计数器CE0和下一个计数器 CE连接; 通

11、过以上4个步骤就可以完成元件之间的线连接,下面 将介绍通过总线连接元件的方法。,第7章 基于原理图的设计输入-添加总线符号,添加总线包括添加总线符号和与总线连接的比特位的连 接。下面给出建立总线hundredths(3:0), tenths(3:0), sec_lsb(3:0), sec_msb(3:0)和minutes(3:0)连接的步骤: 1、分别选择上面的总线输出符号; 2、选择Addwire或者在工具栏中点击Add wire图标,从 这些端口拖出总线连接线,按图7.8所示,引出这些总线 的连接线;,第7章 基于原理图的设计输入 -添加总线符号,图7.8 完整的总线连接界面,第7章 基于

12、原理图的设计输入-添加总线符号,3、当添加操作结束时,按ESC键放弃总线连接操作; 4、下面将要把比特端口和总线连接,选择AddBus Tap 或者在工具栏中点击Add BusTap图标。 5、从原理图编辑器左边的Option标签中选择-wire或者在工具栏中点击Add wire图标, 分别从5个计数器的Q0Q3分别引出四个连接线,注意不 要和Bus Tap连接。,第7章 基于原理图的设计输入-添加总线符号,8、在工具条中,选择Add Net Name图标,在原理图编 辑器的Option标签内,选择Name the branchs net选项,并 输入需要连接的比特端口名字,形式为:总线名字(

13、索引 号),然后将光标移动到相对应比特端口的连接线上,此 时名字就添加在连线上。 9、完成上述总线命名后,将这些比特端口连接线和Bus Tap标记连接。经过上面的步骤后完成比特端口和总线的 连接。 10、按照上面几节的描述步骤,完成所有输入和输出端 口和元件的连接,最后选择tools-Check Schematic,对设 计的原理图进行检查,修改错误,当没有错误后,将该原 理图保存。,第7章 基于原理图的设计输入-创建模块符号,当设计完成后,下面创建该原理图的RTL符号描述。这 个RTL符号是该原理图的例化描述。当创建完RTL符号 后,就可以将该符号添加到顶层的原理图设计文件中。下 面给出创建

14、模块符号的步骤: 1、在工程管理窗口(Source window),选择time_cnt. sch文件; 2、在处理窗口(Process window),选择+ Design Utilties 并将其展开,下面工具将以分层列表的方式显示。 3、双击Create Schematic Symbol选项。 通过以上步骤,产生该模块的RTL符号描述。,第7章 基于原理图的设计输入 -创建状态图模块,使用状态图编辑器(state diagram editor),可以通过状 态图编辑器建立有限自动状态机(FSM),该状态机中包 括状态,输入/输出和状态的迁移条件。状态图编辑器以 VHDL、Verilog和

15、ABEL的形式输出设计文件。作为结果 的HDL代码被综合建立网表文件,同时创建RTL的符号描 述用于顶层原理图的调用。在该部分将一个尚未完成的状 态图设计完成。 如图7.9所示,使用前面的方法,通过状态图编辑器打 开statmach.dia文件。,第7章 基于原理图的设计输入 -创建状态图模块,该文件中的圆圈代表不同的状态;黑色描述的表达式是 状态迁移的条件;输出表达式。这些表达式的书写有规定 的语法,最终以VHDL、Verilog和ABEL语言输出描述。,图7.9 未完成的状态图,第7章 基于原理图的设计输入-添加状态,通过下面的步骤,将一个clear状态添加到状态机中: 1、在状态图编辑器

16、的界面中,单击图标; 2、如图7.10所示,将光标移到图的左边,点击鼠标 将其放在给定的位置; 3、单击该图标,将状态名字改为clear,选择ok;,第7章 基于原理图的设计输入-添加状态,图7.10 添加clear状态,第7章 基于原理图的设计输入-添加迁移,状态迁移定义了状态机之间的状态变化。状态图中的状 态变化用箭头描述。该状态的迁移是无条件的,因此不需 要迁移的条件。通过下面的步骤,在clear和zero状态之间 添加迁移: 1、在状态图编辑器的界面中,单击图标; 2、单击clear状态图标,然后再单击zero状态图标。可以 看到在两个状态之间产生了由clear指向zero的箭头; 3、在状态图编辑器的界面中,单击图标,放弃继续添 加迁移;,第7章 基于原理图的设计输入-添加迁移,图7.11 添加迁移,第7章 基于原理图的设计输入-添加行为,状态行为描述的是在该状态下的输出的情况,通过下面 的步骤将在clear状态中,驱动RST的输出为1: 1、双击clear状态,弹出图7.12的状态对话框。在输出的 对话框中输入rs

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号