电子设计自动化技术第四章quartusII使用.ppt

上传人:牧羊曲112 文档编号:6003811 上传时间:2023-09-13 格式:PPT 页数:59 大小:2.64MB
返回 下载 相关 举报
电子设计自动化技术第四章quartusII使用.ppt_第1页
第1页 / 共59页
电子设计自动化技术第四章quartusII使用.ppt_第2页
第2页 / 共59页
电子设计自动化技术第四章quartusII使用.ppt_第3页
第3页 / 共59页
电子设计自动化技术第四章quartusII使用.ppt_第4页
第4页 / 共59页
电子设计自动化技术第四章quartusII使用.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《电子设计自动化技术第四章quartusII使用.ppt》由会员分享,可在线阅读,更多相关《电子设计自动化技术第四章quartusII使用.ppt(59页珍藏版)》请在三一办公上搜索。

1、1,2008.11,电子技术创新实践,Quartus II 使用,2,第一讲电子系统设计初步,可编程器件设计流程,建立工程,编写设计文件,指定设计约束,文本输入图形输入模块输入,器件选择管脚分配,编 译,分析综合适配,仿 真,建立波形文件输入仿真节点输入激励信号,编程 配置,PS模式JTAG模式AS模式,3,第一讲电子系统设计初步,Quartus II软件使用,4,工程建立,5,6,7,8,9,下面介绍如何建立一个图形设计文件:,10,11,12,编辑文本文件,对文本文件进行编辑时,文本编辑器窗口的标题名称后面将出现一个星号(*),表明正在对当前文本进行编辑操作,存盘后星号消失。在文本编辑中,

2、我们可以直接利用Quartus软件提供的模板进行语法结构的输入,方法如下:(1)将鼠标指针放在要插入模板的文本行。(2)在当前位置右击,在快捷菜单中选择Insert Template命令,或单击图中的“插入模板”快捷按钮,则弹出如下图所示的插入模板对话框。Quartus软件会根据所建立的文本类型(AHDL、VHDL或Verilog HDL),在插入模板对话框中自动选择对应的语言模板。(3)在下图所示的插入模板对话框的Template Section选项组中选择要插入的语法结构,单击OK按钮确定。(4)编辑插入的文本结构。,13,插入模版界面,14,建立图形设计文件,建立图形设计文件,15,Qu

3、artus图形编辑器也称为块编辑器(Block Editor),用于以原理图(Schematics)和结构图(Block Diagrams)的形式输入和编辑图形设计信息。Quartus的图形编辑器可以读取并编辑结构设计文件(Block Design Files)和MAX+PLUS图形设计文件(Graphic Design Files)。可以在Quartus软件中打开图形设计文件并将其另存为结构图设计文件。在这里,用图形编辑器替代了MAX+PLUS软件中的图形编辑器。,16,Quartus软件为实现不同的逻辑功能提供了大量的基本单元符号和宏功能模块,设计者可以在原理图编辑器中直接调用,如基本逻辑

4、单元、中规模器件以及参数化模块LPM等。可按照下面的方法调入单元符号到图形编辑区。(1)在图所示的图形编辑器窗口的工作区中双击,或单击图中的“符号工具”按钮,或选择菜单Edit/Insert Symbol,则弹出如下图所示的Symbol对话框。,基本单元符号的输入,17,输入单元符号界面,18,(2)单击单元库前面的加号(+),直到使所有库中的图元以列表的方式显示出来;选择所需要的图元或符号,该符号显示在Symbol对话框的右边;单击OK按钮,所选择符号将显示在下图的图形编辑工作区域,在合适的位置单击放置符号。重复步骤,即可连续选取库中的符号。如果要重复选择某一个符号,可以在上图中选中“重复输

5、入”复选框,选择一个符号以后,可以在图形编辑区重复放置。放置完成后右击,选择Cancel命令取消放置符号。,19,输入设计项目和存盘,元件输入对话框,20,(3)要输入74系列的符号,方法与步骤(2)相似,选择其他库,打开maxplus2列表,从其中选择所要的74系列符号。当选择其他库或兆功能函数库中的符号时,图中的“以块形式插入”复选框有效。如果选中该复选框,则插入的符号以图形块的形状显示。(4)如果知道图形符号的名称,可以直接在Symbol对话框的符号名称文本框中输入要调入的符号名称,Symbol对话框将自动打开输入符号名称所在的库列表。如直接输入74161,则Symbol对话框将自动定位

6、到74161所在库中的列表。(5)图形编辑器中放置的符号都有一个实例名称(如inst1,可以简单理解为一个符号的多个复制项的名称),符号的属性可以由设计者修改。在需要修改属性的符号上右击,在弹出的下拉菜单中选择Properties命令,则弹出Symbol Properties对话框,如图所示。在General选项卡中可以修改符号的实例名;Ports可以对端口状态进行修改;Parameters选项卡中可以对LPM的参数进行设置;Format选项卡可以修改符号的显示颜色等。,21,要建立一个完整的原理图设计文件,调入所需要的逻辑符号以后,还需要根据设计要求进行符号之间的连线,以及根据信号I/O类型

7、放置I/O或双向引脚。(1)连线符号之间的连线包括信号线和总线。如果需要连接两个端口,则将鼠标指针移动到其中一个端口上,这时鼠标指针自动变为“+”形状,一直按住鼠标的左键并拖动鼠标到达第二个端口,放开左键,即可在两个端口画出信号线或总线。在连线过程中,当需要在某个地方拐弯时,只需要在该处放开鼠标左键,然后再继续按下左键拖动即可。(2)放置引脚引脚包括输入(input)、输出(output)和双向(bidir)三种类型,放置方法与放置符号的方法相同,即在图形编辑窗口的空白处双击,在Symbol对话框的符号名称文本框中输入引脚名,或在基本符号库的引脚库中选择,单击OK按钮,对应的引脚就会显示在图形

8、编辑窗口中。要重复放置同一个符号,可以在Symbol对话框中选中重复输入复选框,也可以将鼠标指针放在要重复放置的符号上,按下Ctrl键和鼠标左键不放,此时鼠标指针右下角会出现一个加号,拖曳鼠标指针到指定位置,松开鼠标左键就可以复制符号了。,22,为引线和引脚命名引线的命名方法是:在需要命名的引线上单击一下,此时引线处于被选中状态,然后输入名字。对单个信号线的命名,可用字母、字母组合或字母与数字组合的形式,如A0、A1、clk等;对于n位总线的命名,可以采用An1.0形式,其中A表示总线名,可以用字母或字母组合的形式表示。引脚的命名方法是:在放置引脚的pin_name处双击,然后输入该引脚的名字

9、,或在需命名的引脚上双击,在弹出的引脚属性对话框的引脚名称文本框中输入该引脚名。引脚的命名方法与引线命名一样,也分为单信号引脚和总线引脚。,23,选择图形文件后,next,出现如下图形设计编辑窗;双击输入元件和引脚,并连接电路,完成设计。保存文件。,24,25,接下来编译写好的程序:,编译,26,编译窗口,27,开始:,28,修改所有编译中出现的错误;编译中出现的警告一般可以忽略。,仿真,仿真分:功能仿真、时序仿真。,29,30,31,32,设置激励信号,并保存波形文件:,33,选择仿真工具,进行仿真:,34,仿真工具:,35,仿真结果:,仿真结果正确!,36,原理图设计方法,将所需元件全部调

10、入原理图编辑窗并连接好,将设计项目设置成可调用的元件,37,原理图设计方法,连接好的全加器原理图f_adder.bdf,设计全加器顶层文件,38,管脚分配,重新编译,下载至芯片,39,管脚锁定:当一个项目的顶层实体设计完成后,就可以进行管脚锁定和约束。锁定前先进行一些设置:AssignmentDevice,器件与管脚选项,Device&Pin,40,将未使用的管脚设置:input tri-stated(输入三态),还可以进行配置芯片的设置;IO管脚电压规格的设置,等等,41,管脚锁定:AssignmentAssignment Editer,项目实体定义的IO端口与芯片管脚的对应关系:取决于所选

11、的实验模式实验连接关系 详见:实验箱使用手册,42,重新编译项目,下载:ToolsProgrammer(sof文件),采 用JTAG模式下 载,43,数字电路实验箱介绍,功能说明:,8 bits DIP开关 8 bits 复位开关、44矩阵键盘 88点阵输出、8位七段数码管 LCD液晶显示、27个LED显示 A/D、D/A转换、E2PROM等模块 05V、-2.5V+2.5V模拟量输出 蜂鸣器、喇叭、JTAG模块 交通灯、电梯、步进电机、通信模块 VGA、USB、RS232接口模块 单片机小系统模块(含地址锁存)4个信道脉冲输出 2信道连续可调脉冲输出(2HZ24MHZ),44,45,务必将C

12、PLD/FPGA芯片上未使用的引脚设置为“输入三态”类型。,46,47,ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b;END ARCHITECTURE one;,48,ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e:

13、BIT;BEGINd=a AND(NOT S);e=b AND s;y=d OR e;END ARCHITECTURE one,49,ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE one;,50,LPM_ROM宏模块应用,定制LPM_ROM元件,定制新的宏功能块,51,4.4 LPM

14、_ROM宏模块应用,4.4.3 定制LPM_ROM元件,LPM宏功能块设定,52,4.4 LPM_ROM宏模块应用,4.4.3 定制LPM_ROM元件,选择data_rom模块数据线和地址线宽,53,LPM_ROM宏模块应用,定制LPM_ROM元件,选择地址锁存信号inclock,54,LPM_ROM宏模块应用,定制LPM_ROM元件,调入ROM初始化数据文件并选择在系统读写功能,55,LPM_ROM宏模块应用,定制LPM_ROM元件,LPM_ROM设计完成,56,【例4-1】LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;

15、USE;-使用宏功能库中的所有元件ENTITY data_rom ISPORT(address:IN STD_LOGIC_VECTOR(5 DOWNTO 0);inclock:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END data_rom;ARCHITECTURE SYN OF data_rom ISSIGNAL sub_wire0:STD_LOGIC_VECTOR(7 DOWNTO 0);COMPONENT altsyncram-例化altsyncram元件,调用了LPM模块altsyncramGENERIC(-参数传递语句inten

16、ded_device_family:STRING;-类属参量数据类型定义width_a:NATURAL;widthad_a:NATURAL;numwords_a:NATURAL;operation_mode:STRING;outdata_reg_a:STRING;address_aclr_a:STRING;outdata_aclr_a:STRING;width_byteena_a:NATURAL;init_file:STRING;lpm_hint:STRING;lpm_type:STRING);PORT(clock0:IN STD_LOGIC;-altsyncram元件接口声明address_

17、a:IN STD_LOGIC_VECTOR(5 DOWNTO 0);q_a:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;(接下页),57,BEGINq Cyclone,-参数传递映射width_a=8,-数据线宽度8widthad_a=6,-地址线宽度6numwords_a=64,-数据数量64operation_mode=ROM,-LPM模式ROMoutdata_reg_a=UNREGISTERED,-输出无锁存address_aclr_a=NONE,-无异步地址清0outdata_aclr_a=NONE,-无输出锁存异步清0width_by

18、teena_a=1,-byteena_a输入口宽度1init_file=./dataHEX/SDATA.hex,-ROM初始化数据文件,此处已修改过lpm_hint=ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=NONE,lpm_type=altsyncram)-LPM类型PORT MAP(clock0=inclock,address_a=address,q_a=sub_wire0);END SYN;,58,LPM_ROM宏模块应用,完成顶层设计,【例4-2】正弦信号发生器顶层设计LIBRARY IEEE;-正弦信号发生器源文件USE IEEE.STD_LOGIC_

19、1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SINGT IS PORT(CLK:IN STD_LOGIC;-信号源时钟 DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-8位波形数据输出END;ARCHITECTURE DACC OF SINGT ISCOMPONENT data_rom-调用波形数据存储器LPM_ROM文件:data_rom.vhd声明 PORT(address:IN STD_LOGIC_VECTOR(5 DOWNTO 0);-6位地址信号 inclock:IN STD_LOGIC;-地址锁存时钟 q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;SIGNAL Q1:STD_LOGIC_VECTOR(5 DOWNTO 0);-设定内部节点作为地址计数器 BEGINPROCESS(CLK)-LPM_ROM地址发生器进程 BEGINIF CLKEVENT AND CLK=1 THEN Q1Q1,q=DOUT,inclock=CLK);-例化END;,59,LPM_ROM宏模块应用,正弦信号发生器结构框图,工作原理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号