为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第7章_基于原理图的设计输入

2012-04-27 40页 ppt 318KB 49阅读

用户头像

is_551965

暂无简介

举报
第7章_基于原理图的设计输入null基于原理图的设计输入基于原理图的设计输入何宾 2010.07第7章 基于原理图的设计输入-本章概要 第7章 基于原理图的设计输入-本章概要 HDL语言的出现使得许多PLD设计都是基于HDL的 设计流程,但是基于原理图的设计也有着重要应用。例 如,对于一个简单数字系统设计而言,顶层文件使用原理 图设计,这样做设计比较直观,容易理解,要比使用HDL 例化语句描述简单。该章还是通过秒表的设计示例介绍基 于原理图的设计流程。 在这里需要说明的是,一个有经验的EDA设计人员, 会使用基于HDL语言、原理图和...
第7章_基于原理图的设计输入
null基于原理图的输入基于原理图的设计输入何宾 2010.07第7章 基于原理图的设计输入-本章概要 第7章 基于原理图的设计输入-本章概要 HDL语言的出现使得许多PLD设计都是基于HDL的 设计流程,但是基于原理图的设计也有着重要应用。例 如,对于一个简单数字系统设计而言,顶层文件使用原理 图设计,这样做设计比较直观,容易理解,要比使用HDL 例化语句描述简单。该章还是通过秒表的设计示例介绍基 于原理图的设计流程。 在这里需要说明的是,一个有经验的EDA设计人员, 会使用基于HDL语言、原理图和IP核的混合设计方法完成 设计,这些设计方法可能使用在设计的各个模块中,而不 会只局限在顶层模块中。第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立 在建立工程前,需要将示例文件从光盘上拷到创建工程 的路径下。该设计完成一个比赛用的秒表计时器。(设计 文件通过http://china.xilinx.com/support /techsup /tutoria ls/tutorials9.htm资源)。下面给出基于原理图设计流 程的工程建立步骤: 1、在桌面上双击ISE9.2的图标,或者在开始菜单->所 有程序->XilinxISE9.1->Project Navigator。在ISE主界面 中选择File->New Project。如图7.1所示,桌面出现下面 的界面;第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立 2、在Project Location域内,由设计人员给出保存工程 的路径; 3、在Project name域内,由设计人员给出工程名 wtut_sc; 4、在Top-Level Source Type域内,选择原理图 Schematic,单击下一步; 如图7.2所示,桌面出现下面的界面;第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立 5、在Device Properties界面中,选择合适的产品范围 (Product Category)、芯片的系列(Family)、具体的芯 片型号(Device)、封装类型(Package)、速度信息 (Speed),此外,在该界面中还要选择综合工具 (Synthesis Tool)、仿真工具(Simulator)和设计语言 (Preferred Language)。图7.2给出了示例中的参数配置; 6、连续两次用鼠标点击下一步按钮,出现图7.3添加源 文件的界面。在该界面中,第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立第7章 基于原理图的设计输入-工程建立 点击“Add Source”按钮。添加下列文件:cd4rled.sch, ch4rled.sch,clk_div_262k.v,lcd_control.v, stopwatch.sch和statmach.dia文件,并单击open按钮,单 击下一步按钮,然后完成新工程的建立; 7、在确认所有设计文件和Synthesis/Imp+Simulation选 项关联后,单击ok;第7章 基于原理图的设计输入-设计描述 第7章 基于原理图的设计输入-设计描述 在该设计中,采用了层次化的、基于原理图的设计方 法。该设计的顶层文件是由原理图生成,而顶层文件下面 的其它模块可以用Verilog HDL语言、原理图或IP核生 成。该设计就是完成一个还未完成的工程。通过这个设计 流程,读者可以完成和产生其它的模块。当设计完成后, 可以通过仿真验证设计的正确性。图7.4给出了该设计完 整的顶层原理图描述。该例子的输入、输出信号和功能模 块与前一章的例子完全一样。第7章 基于原理图的设计输入-设计描述第7章 基于原理图的设计输入-设计描述第7章 基于原理图的设计输入-设计描述第7章 基于原理图的设计输入-设计描述 在这个基于分层的设计中,读者可以建立各种类型的 模块,其中包括基于原理图输入模块、基于HDL输入模块、 基于状态图输入模块和基于IP核输入模块。通过该示例, EDA设计人员可以详细学习建立每一种模块的方法,并且 学习如何将这些模块连接在一起构成一个完整的设计。第7章 基于原理图的设计输入 -原理图编辑器操作 第7章 基于原理图的设计输入 -原理图编辑器操作 原理图模块由模块符号和符号的连接组成。下面的步骤 将通过ISE的原理图编辑器(Schematic Editor)介绍建立 基于原理图设计time_cnt模块的过程: 1、在ISE主界面下,选择Project->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符号 第7章 基于原理图的设计输入-添加I/O符号 I/O符号用来确定模块的输入/输出端口,通过下面的步 骤可以创建模块的I/O符号: 1、在原理图编辑器界面内,选择Tools>Create 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章 基于原理图的设计输入-添加I/O符号第7章 基于原理图的设计输入 -添加原理图元件 第7章 基于原理图的设计输入 -添加原理图元件 通过符号浏览器(Symbol Brower)可以看到对于当前 设计所用芯片可以使用的元件名字和符号(这些符号按字 母顺序排列)。这些元件符号可以用鼠标直接拖到原理图 编辑器中。下面给出添加原理图元件的步骤: 1、在原理图编辑器的界面内,选择Add->Symbol或者 在工具栏中点击Add Symbol图标。如图7.6所示,在原理 图编辑器窗口左边,打开符号浏览器(Symbol Brower)。 在设计路径下,选择cd4rled,该元件是4比特双向可加载 的BCD计数器;第7章 基于原理图的设计输入 -添加原理图元件第7章 基于原理图的设计输入 -添加原理图元件 2、选择cd4rled元件,用鼠标将其拖入编辑器窗口内。 如图7.7所示,再添加3个这样的元件到编辑界面中,同时 添加AND2b1,ch4rled和AND5元件到编辑器窗口内;第7章 基于原理图的设计输入-添加连线 第7章 基于原理图的设计输入-添加连线 1、在元件编辑器界面内,选择Add>wire或者在工具栏 中点击Add wire图标; 2、点击AND2B1的输出,拖动连线到cd4rled元件的CE 引脚。此时在两个引脚之间建立连线; 3、点击AND5元件输出,拖动连线到AND2b1反向输入 引脚。此时在两个引脚之间建立连线;第7章 基于原理图的设计输入-添加连线第7章 基于原理图的设计输入-添加连线第7章 基于原理图的设计输入-添加连线第7章 基于原理图的设计输入-添加连线 4、分别将load,up,clk和clr输入和五个计数器模块的 L,UP,C,R引脚连接,将前一个计数器CE0和下一个计数器 CE连接; 通过以上4个步骤就可以完成元件之间的线连接,下面 将介绍通过总线连接元件的方法。第7章 基于原理图的设计输入-添加总线符号第7章 基于原理图的设计输入-添加总线符号 添加总线包括添加总线符号和与总线连接的比特位的连 接。下面给出建立总线hundredths(3:0), tenths(3:0), sec_lsb(3:0), sec_msb(3:0)和minutes(3:0)连接的步骤: 1、分别选择上面的总线输出符号; 2、选择Add>wire或者在工具栏中点击Add wire图标,从 这些端口拖出总线连接线,按图7.8所示,引出这些总线 的连接线;第7章 基于原理图的设计输入 -添加总线符号第7章 基于原理图的设计输入 -添加总线符号第7章 基于原理图的设计输入-添加总线符号第7章 基于原理图的设计输入-添加总线符号 3、当添加操作结束时,按ESC键放弃总线连接操作; 4、下面将要把比特端口和总线连接,选择Add>Bus Tap 或者在工具栏中点击Add BusTap图标。 5、从原理图编辑器左边的Option标签中选择--wire或者在工具栏中点击Add wire图标, 分别从5个计数器的Q0~Q3分别引出四个连接线,注意不 要和Bus Tap连接。第7章 基于原理图的设计输入-添加总线符号第7章 基于原理图的设计输入-添加总线符号 8、在工具条中,选择Add Net Name图标,在原理图编 辑器的Option标签内,选择Name the branch’s net选项,并 输入需要连接的比特端口名字,形式为:总线名字(索引 号),然后将光标移动到相对应比特端口的连接线上,此 时名字就添加在连线上。 9、完成上述总线命名后,将这些比特端口连接线和Bus Tap标记连接。经过上面的步骤后完成比特端口和总线的 连接。 10、按照上面几节的描述步骤,完成所有输入和输出端 口和元件的连接,最后选择tools->Check Schematic,对设 计的原理图进行检查,修改错误,当没有错误后,将该原 理图保存。第7章 基于原理图的设计输入-创建模块符号 第7章 基于原理图的设计输入-创建模块符号 当设计完成后,下面创建该原理图的RTL符号描述。这 个RTL符号是该原理图的例化描述。当创建完RTL符号 后,就可以将该符号添加到顶层的原理图设计文件中。下 面给出创建模块符号的步骤: 1、在工程管理窗口(Source window),选择time_cnt. sch文件; 2、在处理窗口(Process window),选择+ Design Utilties 并将其展开,下面工具将以分层列表的方式显示。 3、双击Create Schematic Symbol选项。 通过以上步骤,产生该模块的RTL符号描述。第7章 基于原理图的设计输入 -创建状态图模块 第7章 基于原理图的设计输入 -创建状态图模块 使用状态图编辑器(state diagram editor),可以通过状 态图编辑器建立有限自动状态机(FSM),该状态机中包 括状态,输入/输出和状态的迁移条件。状态图编辑器以 VHDL、Verilog和ABEL的形式输出设计文件。作为结果 的HDL代码被综合建立网表文件,同时创建RTL的符号描 述用于顶层原理图的调用。在该部分将一个尚未完成的状 态图设计完成。 如图7.9所示,使用前面的方法,通过状态图编辑器打 开statmach.dia文件。 第7章 基于原理图的设计输入 -创建状态图模块第7章 基于原理图的设计输入 -创建状态图模块 该文件中的圆圈代表不同的状态;黑色描述的表达式是 状态迁移的条件;输出表达式。这些表达式的书写有 的语法,最终以VHDL、Verilog和ABEL语言输出描述。第7章 基于原理图的设计输入-添加状态第7章 基于原理图的设计输入-添加状态 通过下面的步骤,将一个clear状态添加到状态机中: 1、在状态图编辑器的界面中,单击图标; 2、如图7.10所示,将光标移到图的左边,点击鼠标 将其放在给定的位置; 3、单击该图标,将状态名字改为clear,选择ok; 第7章 基于原理图的设计输入-添加状态第7章 基于原理图的设计输入-添加状态第7章 基于原理图的设计输入-添加迁移第7章 基于原理图的设计输入-添加迁移 状态迁移定义了状态机之间的状态变化。状态图中的状 态变化用箭头描述。该状态的迁移是无条件的,因此不需 要迁移的条件。通过下面的步骤,在clear和zero状态之间 添加迁移: 1、在状态图编辑器的界面中,单击图标; 2、单击clear状态图标,然后再单击zero状态图标。可以 看到在两个状态之间产生了由clear指向zero的箭头; 3、在状态图编辑器的界面中,单击图标,放弃继续添 加迁移;第7章 基于原理图的设计输入-添加迁移第7章 基于原理图的设计输入-添加迁移第7章 基于原理图的设计输入-添加行为第7章 基于原理图的设计输入-添加行为 状态行为描述的是在该状态下的输出的情况,通过下面 的步骤将在clear状态中,驱动RST的输出为‘1’: 1、双击clear状态,弹出图7.12的状态对话框。在输出的 对话框中输入rst=’1’的条件,当然也可以通过output Wizard生成。第7章 基于原理图的设计输入-添加行为第7章 基于原理图的设计输入-添加行为 2、如果通过output Wizard的工具,在Logic Wizard中输入下面的值dout=rst,constant =’1’。第7章 基于原理图的设计输入 -添加复位条件第7章 基于原理图的设计输入 -添加复位条件 使用状态复位的特征,为状态机指定复位条件。状态 机初始化这个特定的状态,并且当复位条件满足时,进 入到下一个给定的状态。当RST或者DCM的lock信号满 足条件时,状态机将进入到clear状态。下面的步骤将添 加rst信号到状态机中: 1、在状态图编辑器的界面中,单击图标; 2、在clear状态单击鼠标,然后移动到clear状态的圆 圈上,单击鼠标,如图7.13所示,这时产生一个状态复 位的信号指示箭头;第7章 基于原理图的设计输入 -添加复位条件第7章 基于原理图的设计输入 -添加复位条件第7章 基于原理图的设计输入 -添加复位条件第7章 基于原理图的设计输入 -添加复位条件 3、此时有一个提示出现,“should this reset be asynchronous(yes) or synchronous(no)?”,回答”yes”; 通过上面的步骤,完成了复位条件的添加。第7章 基于原理图的设计输入 -设计输出和添加 第7章 基于原理图的设计输入 -设计输出和添加 当状态图全部完成后,剩下的就是输出HDL语言描述的 文件。下面给出产生HDL输出文件的步骤: 1、选择Options>Configuration。在Language Section中选 择VHDL语言。 2、在Language Vendor Section选择Xilinx XST,点击OK 按纽。 3、在工具条中选择Generate HDL图标。然后在Resoult 窗口中显示编译的状态,单击ok按纽。 4、浏览器自动打开,显示产生的VHDL代码。查看代 码然后关闭该窗口。第7章 基于原理图的设计输入 -设计输出和添加第7章 基于原理图的设计输入 -设计输出和添加 5、关闭状态图编辑工具。 6、在ISE主界面中,添加设计文件,打开statmach.v 文件。 7、在Source标签下,选择statmach.v文件。 8、在处理标签下,单击+ Design Utilities选项。双击 Create Schematic Symbol图标,产生该设计的RTL符号, 该符号在最后将由顶层文件调用。第7章 基于原理图的设计输入 -设计完成第7章 基于原理图的设计输入 -设计完成 在该设计中,还设计到DCM1模块的建立,ROM模块 的建立,Debounce模块的建立,这些模块的建立过程和 前面是一样的,在此就不进行详细的说明了。这些模块 建立完成后,必须通过Create Schematic Symbol工具生成 RTL的符号,这样才能完成顶层原理图的设计。 顶层模块的生成过程和前面原理图的建立过程是一样 的,只要遵循前面的步骤即可。习习题 1、说明基于原理图的设计输入方法。 2、举例说明状态图的设计方法。 3、建立一个基于原理图的设计工程。
/
本文档为【第7章_基于原理图的设计输入】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索