设计向导学习.pptx

上传人:莉*** 文档编号:87468641 上传时间:2023-04-16 格式:PPTX 页数:172 大小:1.34MB
返回 下载 相关 举报
设计向导学习.pptx_第1页
第1页 / 共172页
设计向导学习.pptx_第2页
第2页 / 共172页
点击查看更多>>
资源描述

《设计向导学习.pptx》由会员分享,可在线阅读,更多相关《设计向导学习.pptx(172页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2.1 频率计的VHDL设计 创建工程和编辑设计文件 首先应该建立好工作库目录,以便设计工程项目的存储。作为示例,在此设立目录为D:ftest,作为工作库,以便将设计过程中的相关文件存储于此。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般地,不同的设计项目最好放在不同的文件夹中。注意,一个设计项目可以包含多个设计文件,如频率计。第1页/共172页 在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,详细步骤如下:1.新建一个文件夹 首先利用

2、Windows资源管理器新建一个文件夹。假设本项设计的文件夹取名为ftest,在D盘中,路径为D:ftest。注意,文件夹名不能用中文。第2页/共172页 2.输入源程序 打开Quartus II,选择菜单“File”“New”,在New窗中的“Device Design Files”中选择编译文件的语言类型,这里选“VHDL Files”(如图2-1所示)。然后在VHDL文本编译窗中键入例2-1的程序,这是频率计项目中的一个模块:测频计数器CNT1,文本编辑窗口如图2-2所示。第3页/共172页图2-1 选择编辑文件的语言类型 第4页/共172页图2-2 编辑输入设计文件 第5页/共172页

3、【例2-1】计数器设计。LIBRARY IEEE;ENTITY CNT1 IS PORT(CLOCK:IN STD_LOGIC;ACLR:IN STD_LOGIC;CLK_EN:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);第6页/共172页 END CNT1;ARCHITECTURE behav OF CNT1 IS SIGNAL CQI:STD_LOGIC_VECTOR(31 DOWNTO 0);BEGIN PROCESS(CLOCK,ACLR,CLK_EN)BEGIN IF ACLR=1 THEN CQI 0);ELSIF CLOCKE

4、VENT AND CLOCK=1 THEN IF CLK_EN=1 THEN CQI=CQI+1;第7页/共172页 END IF;END IF;END PROCESS;Q=CQI;END behav;第8页/共172页【例2-2】测频时序控制器设计。LIBRARY IEEE;ENTITY TESTCTL IS PORT(CLK:IN STD_LOGIC;TSTEN:OUT STD_LOGIC;CLR_CNT:OUT STD_LOGIC;Load:OUT STD_LOGIC );第9页/共172页END TESTCTL;ARCHITECTURE behav OF TESTCTL IS SIGN

5、AL Div2CLK:STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Div2CLK=NOT Div2CLK;END IF;END PROCESS;第10页/共172页 PROCESS(CLK,Div2CLK)BEGIN IF CLK=0 AND Div2CLK=0 THEN CLR_CNT=1;ELSE CLR_CNT=0;END IF;END PROCESS;Load =NOT Div2CLK;TSTEN=Div2CLK;END behav;第11页/共172页【例2-3】锁存器设计。LIBRARY IEEE;ENT

6、ITY REG1 IS PORT(CLOCK:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(31 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END REG1;第12页/共172页ARCHITECTURE behav OF REG1 ISBEGIN PROCESS(CLOCK,DATA)BEGIN IF CLOCKEVENT AND CLOCK=1 THEN Q CLK,TSTEN=TSTEN1,CLR_CNT=CLR_CNT1,Load=Load1);U2:REG1 PORT MAP(CLOCK=Load1,DAT

7、A=DTO1,Q=DOUT);U3:CNT1 PORT MAP(CLOCK=FSIN,ACLR=CLR_CNT1,CLK_EN=TSTEN1,Q=DTO1);END struc;第17页/共172页 3.文件存盘 完成上述设计之后将文件存盘,选择“File”?“Save As”,找到已设立的文件夹D:Ftest,存盘文件名应该与实体名一致,即CNT1.vhd。当出现问句“Do you want to create.”时,可选“否”,然后重复以上过程,分别将例2-2、例2-3和例2-4编辑存盘至文件夹ftest中。至此,ftest共有4个VHDL文件:cnt1.vhd、testctl.vhd、r

8、eg1.vhd和freqtest.vhd,最下面的文件是顶层设计。此频率计的工作原理和层次结构说明请参考2.6节。第18页/共172页创建工程 在此要利用“New Preject Wizard”创建此频率计的设计工程,即令freqtest.vhd为工程,并设定此工程的一些相关信息,如工程名、目标器件、综合器、仿真器等。步骤如下:1.打开建立新工程管理窗 选择菜单“File”?“New Preject Wizard”,即弹出工程设置对话框(图2-3)。点击此框最上一栏右侧的按钮“.”,找到文件夹D:Ftest,选中已存盘的顶层文件freqtest.vhd(一般应该设定顶层设计文件为工程),再点击

9、“打开”,即出现如图2-3所示的设置情况。第19页/共172页图2-3 利用“New Preject Wizard”创建工程 第20页/共172页 其 中 第 一 行 的 D:Ftest表 示 工 程 所 在 的 工 作 库 文 件 夹;第 二 行 的Freqtest表示此项工程的工程名,此工程名可以取任何其它的名字,也可直接用顶层文件的实体名作为工程名,在此就是按这种方式取名的;第三行是顶层文件的实体名,这里即为“freqtest”。第21页/共172页 2.将设计文件加入工程中 然后点击下方的“Next”按钮,在弹出的对话框中点击“File”栏的按钮,将频率计所有相关的文件都加入此工程,即

10、得到如图2-4所示的情况。所有此工程的文件加入的方法有两种:第一种是点击右边的“Add All”按钮,将设定的工程目录中的所有VHD文件加入到工程文件栏中;第二种方法是点击“.”按钮,从工程目录中选出相关的VHDL文件。第22页/共172页图2-4 将频率计所有相关的文件都加入此工程 第23页/共172页 3.选择仿真器和综合器类型 点击图2-4的“Next”按钮,这时弹出选择仿真器和综合器类型的窗口。如果都是选择默认的“NONE”,表示都选Quartus II中自带的仿真器和综合器。因此,在此都选默认项“NONE”。4.选择目标芯片 再次点击“Next”,选择目标芯片。首先在“Family”

11、栏选芯片系列,在此选“ACEXIK”系列,并在此栏下选“Yes”,即选择一个确定目标器件。再按“Next”键,选择此系列的具体芯片:EPIK30TC144-3,按“Next”键后,弹出工程设置统计窗口,即图2-5所示的内容。第24页/共172页 5.结束设置 最后按“Finish”键,即已设定好此频率计的工程(图2-6)。文件名处打红勾,表示该实体为当前工程。图2-6所示的是工程freqtest的工程管理窗口,或称Compilation Hierarchies窗口,主要显示本工程项目的层次结构和各层次的实体名。第25页/共172页图2-5 工程设置统计窗口 第26页/共172页图2-6 fre

12、qtest的工程管理窗口 第27页/共172页编译前设置 在对工程进行编译处理前,必须作好必要的设置。具体步骤如下:1.选择目标芯片 选择“Assignmemts”菜单中的“Settings”项,在弹出的对话框中选“Compiler Settings”项下的“Device”。首先选目标芯片EPIK30TC144-3(此 芯 片 已 在 建 立 工 程 时 选 定 了),也 可 以 在(图 2-7)“Available devices”栏 分 别 用“Package”:TQFP;“Pin count”:144;“Speed”:3,来选定芯片。第28页/共172页 2.选择目标器件编程配置方式 由

13、图2-7中的按钮“Device&Pin Options”进入选择窗,首先选 择“Configuration”项,在 此 框 的 下 方 有 相 应 的 说 明。在 此 可 选Configuration方式为Passive Serial,这种方式可以直接由PC机配置,也可由专用配置器件进行配置。配置器件选EPC2(如图2-8所示)。第29页/共172页图2-7 选定目标器件 第30页/共172页图2-8 选择配置器件和配置方式 第31页/共172页 3.选择输出配置 在图2-8的“Programming Files”窗口,可以选Hexadecimal,即产生下载文件的同时,产生十六进制配置文件f

14、raqtest.hexout,并设地址起始为0,为递增方式(如图2-9所示)。此文件可用于单片机与EPROM构成的FPGA配置电路系统。第32页/共172页图2-9 输出文件.hexout设置 第33页/共172页 4.选择目标器件闲置引脚的状态 在“Unused Pins”处,可根据实际需要选择目标器件闲置引脚的状态,如可选择为输入状态(呈高阻态),或输出状态(呈低电平),或输出不定状态,或不作任何选择。在General项也可作一些选择,各选择的功能可参考下方的“Description”说明。5.编译模式的选择 在图2-7所示的窗口中选择Compiler Settings项下的Mode。为了

15、使得每一次重复编译进行得更快,选择“Smart compilation.”和“Preserve.”(如图2-10所示)。第34页/共172页图2-10 选择编译模式 第35页/共172页编译及了解编译结果 Quartus II编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合和结构综合。即将设计项目适配进FPGA/CPLD目标器中,同时产生多种用途的输出文件,如功能和时序仿真文件,器件编程的目标文件等。编译器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层次文件中的错误信息,供设计者排除,然后将这些层次构建产生一个结构化的以网表文件表达的电路原理图文件,并把各层次

16、中所有的文件结合成一个数据包,以便更有效地处理。第36页/共172页 在编译前,设计者可以通过各种不同的设置方法,指导编译器使用各种不同的综合和适配技术(如时序驱动技术等),以便提高设计项目的工作速度,优化器件的资源利用率。而且在编译过程中及编译完成后,可以从编译报告窗获得所有相关的详细编译结果,以利于设计者及时调整设计方案。下面首先选择Processing菜单的“Start Compilation”项,启动全程编译。注意这里所谓的编译(Compilation)包括Quartus II对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件与编程配置文件)生

17、成,以及基于目标器件的工程时序分析等。第37页/共172页 如果工程中的文件有错误,在下方的Processing信息栏中会显示出来。如图2-11中所示,在reg1.vhd文件第12行的“BEGEN”处或附近有语句格式错误,可双击此条文,即弹出regl.vhd文件,在闪动的光标处(或附近)可发现,文件中错将“BEGIN”写成“BEGEN”,改正后存盘,再次进行编译,仍选Processing菜单中的“Start Compilation”。第38页/共172页图2-11 检查出文本格式错第39页/共172页 编译结果包括以下一些内容:1.阅读编译报告 编译成功后可以看到如图2-12所示的界面。此界面

18、的左上角是工程管理窗,若用鼠标点击顶层实体“freqtest”左边的“+”号,可以看到整个设计层次;在此栏下是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析。最下栏是编译处理信息,右栏是编译报告,这可以在Processing菜单项的“Compilation Report”处见到。第40页/共172页图2-12 编译完成后的Quartus II管理窗口界面第41页/共172页 2.了解工程的时序报告 点击此栏的“Timing Analyses”项左侧的“+”号,并点击“fmax”项,可以看到(如图2-12右上角的报告栏所示)此频率计最高测试频率为104.17 MHz。第4

19、2页/共172页 3.了解硬件资源应用情况 选择“Compilation Report”栏的Floorplan View,观察此项工程在FPGA器件中逻辑单元的分布情况和使用情况。为了更详细地了解相关情况,可以在打开Floorplan界面后,首先点击View菜单中的“Full Screen”项,打 开 全 部 界 面,然 后 点 击 此 菜 单 的 相 关 项,如“Routing”“Show Node Fan-In”等等。第43页/共172页仿真 仿真就是对设计项目进行一项全面彻底的测试,以确保设计项目的功能和时序特性,以及保证最后的硬件器件的功能与原设计相吻合。仿真可分为功能仿真和时序仿真。

20、功能仿真只测试设计项目的纯逻辑行为,而时序仿真则测试逻辑行为,也测试实际器件在最差条件下设计项目的真实运行情况。第44页/共172页 仿真操作前必须利用Quartus II的波形编辑器建立一个矢量波形文件(.vwf)以作仿真激励。VWF文件将仿真输入矢量和仿真输出描述成一波形的图形来实现仿真,但也可以将仿真激励矢量用文本表达,即为文本方式的矢量文件(.vec)。Quartus II允许对整个设计项目进行仿真测试,也可以对该设计中的任何子模块进行仿真测试。方法是设定仿真测试为“Simulation focus”。仿真设定单元(Simulation Settings)允许设计者指定仿真focus、

21、对该模块的仿真类型、仿真覆盖的时序和矢量激励源等。第45页/共172页 Time/Vectors仿真参数设定窗口允许设定仿真时间区域,以及矢量激励源。可以以VWF文件、VEC文件、矢量表输出文件(.tbl)或功率输入文件(.pwf)的形式作为矢量激励源,也可以通过Tcl脚本窗口来输入矢量激励源。对工程的编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。VWF文件方式的仿真流程的详细步骤如下:1.打开波形编辑器 选择菜单File中的New项,在New窗口中选“Other Files”中的“Vector Waveform File”(图2-13),点击“OK”,即出

22、现空白的波形编辑器(图2-14)。第46页/共172页图2-13 准备编辑矢量波形文件 第47页/共172页图2-14 波形编辑器 第48页/共172页 2.设置仿真时间区域 为了使仿真时间轴设置在一个合理的时间区域上,在Edit菜单中选择“End Time”项,在弹出的窗口中的“Time”窗中键入50,单位选“us”,即整个仿真域的时间设定为50微秒,点击“OK”,结束设置。3.存盘波形文件 选 择 菜 单 File中 的“Save as”,将 波 形 文 件 以 文 件 名Freqtest.vwf(默认名)存入文件夹D:FTEST中。第49页/共172页 4.输入信号节点 将频率计的端口信

23、号节点选入此波形编辑器中。方法是首先选“View”菜单中的“Utility Windows”项的“Node Finder”选项。其对话框如图2-15所示。在“Filter”框中选“Pins:all”,然后点击“Start”钮。于是在下方的“Nodes Found”窗口中出现了设计中的freqtest工程的所有端口引脚名(如果此对话框中的“start”不显示,需要重新编译一次,即选Processing?Start Compilation,然后再重复以上操作过程)。用鼠标将重要的端口节点CLK,第50页/共172页 FSIN和输出总线信号DOUT逐个拖到波形编辑窗口,点击波形窗左侧的全屏显示钮,使

24、全屏显示。点击放大/缩小钮后,用鼠标右键在波形编辑区域点击,使仿真坐标处于适当位置(图2-16(a),最后关闭Node Finder窗口。第51页/共172页图2-15 向波形编辑器输入信号节点 第52页/共172页图 2-16(a)调入了信号节点的波形编辑器第53页/共172页图 2-16(b)设置仿真信号数据格式 第54页/共172页 5.编辑输入波形 点击待测频率信号名“FSIN”,再点击左侧的时钟设置键,在Clock窗口中设置FSIN的时钟周期为200 ns,并以同样方法设置CLK的周期为10 us。这里,CLK是测频的门控信号,它将产生10 us的计数门控宽度(在 点 击“FSIN”

25、后,也 可 选 菜 单 Edit中 的“Value”项,再 选“Clock”项),如图2-17所示的Clock窗中的“Duty cycle”是占空比,可选50,即选50%占空比,最后对波形文件再次存盘。第55页/共172页图2-17 选择时钟周期和占空比 第56页/共172页 6.总线数据格式设置 如果点击如图2-16(a)所示的输出信号“DOUT”左旁的“+”,则将展开此总线中的所有信号;如果双击此“+”号左旁的信号标记,将弹出 该 信 号 数 据 格 式 设 置 对 话 框(如 图 2-16(b)所 示)。在 该 对 话 框 的“Radix”栏有5种选择:Binary:二进制;Hexade

26、cimal:十六进制;Octal:八进制;Signed Decimal:有符号十进制;Unsigned Decimal:无符号十进制。通常选择十六进制表达方式比较方便。第57页/共172页 7.仿真器参数设置 选 择 菜 单 Assignment中 的 “Settings”,在 Settings窗 的Category下选“Simulator Settings”,在此项下分别选“General”,观察仿真总体设置情况。选“Mode”,以确认仿真模式为时序仿真“Timing”(图 2-18);选 择 Options,确 认 选 定“Simulation coverage reporting”;毛刺

27、检测“Glitch detection”为1 ns宽度。8.启动仿真器 现 在 所 有 设 置 进 行 完 毕,在 菜 单 Processing项 下 选“Run Simulation”,直到出现“Simulation was successful”,仿真结束。第58页/共172页图2-18 选择时序仿真模式 第59页/共172页 9.观察仿真结果 点击菜单Processing中的“Simulation Report”项,以便打开波形输出结果(图2-19)。注意,Quartus II的仿真波形文件中,波形编辑文件(*.vwf)与波形仿真报告文件(Simulation Report)是分开的,而

28、MaxplusII的编辑与仿真报告波形是合二为一的。由图2-19可见,由于设定“FSIN”的时钟周期为200 ns,门控信号周期为10 us,则应测得频率为50 Hz,图中显示为“32”(十六进制),即为十进制的50,表明此频率计功能正确。第60页/共172页 如果在启动仿真运行(Processing?Run Simulation)后,并没有出现仿真完成后的波形图,而是出现文字“Cant open Simulation Report Window”,但报告仿真成功,则可自己打开仿真波形报告,选择:Processing?Simulation Report。第61页/共172页图2-19 仿真波形

29、输出 第62页/共172页引脚锁定和下载 为了能对频率计进行硬件测试,应将频率计的输入/输出信号锁定在芯片确定的引脚上。在此根据GW48系统电路模式No.0(见附录),以及EP1K30TC144适配板的引脚情况,通过查表确定频率计的引脚分别为:FSIN:Clock0(P126);Clk:Clock5(P54);第63页/共172页 32位输出数据总线DOUT31.0:对应的引脚编号为:96,95,92,91,90,89,88,87,86,83,82,81,80,79,78,73,72,70,69,68,67,65,42,41,39,38,37,36,33,32,31,30。将引脚锁定后再编译一

30、次,把引脚信息一同编译进配置文件中,最后就可以把配置文件下载进目标器件中。具体步骤如下:第64页/共172页 1.引脚锁定 假设现在已打开了freqtest工程(如果刚打开Quartus II,应在菜单File中选“Open Preject”项,并点击工程文件“freqtest”,打开此前已开始设计的工程),在菜单Assignments中,选“Assign Pins”项,弹出的对话框如图2-20所示。为了将DOUT0锁定在第30脚上,有两种方法:一种是先点击“Available Pins.”窗中的“30”,再于“Pin name”框中键入“DOUT0”,然后点击“Add”即可(如图2-20所示

31、);第65页/共172页 另一种方法是点击“30”(引脚序号)后,再点击“Pin name”栏右侧的“.”,将出现图2-21的对话框,点击“Filter”钮,选“Pins all”,再点击“Start”,于是在“Nodes Found”中出现所有的引脚信号名,在其中选“DOUT0”,再点击“OK”,于是回到图2-20所示对话框,点击“Add”后,即可将“DOUT0”锁定在“30”脚上。以同样方法可以将所有引脚信号锁定在对应的引脚上(见图2-22),最后点击“OK”,关闭对话框。第66页/共172页图2-20 打开引脚锁定窗口第67页/共172页图2-21 选择待锁定的引脚名 第68页/共172

32、页图2-22 将频率计的输入/输出信号锁定在希望的引脚上 第69页/共172页 2.打开编程窗 引脚锁定后,必须再编译一次(Processing?Start Compilation),将引脚锁定信息编译进下载文件中。首先将系统连接好,上电,然后在菜单Tool中,选择“Programmer”,于是弹出如图2-23所示的编程窗。第70页/共172页图2-23 编程窗口 第71页/共172页 3.选择编程模式 为了直接对FPGA EP1K30进行配置,在编程窗的编程模式Mode 中选“Passive Serial”,然后点击左侧的“Add File”按钮,选择配置文件“Freqtest.sof”,最

33、后点击“Start”。当“Progress”显 示 出 100%以 及 在 底 部 的 处 理 栏 中 出 现“Configuration Succeeded”时,表示编程成功(注意,如果必要可再次点击“Start”,直至编程成功)。第72页/共172页 注意:CPLD和EPC系列配置器件只有一种编程模式,即利用FTAG口的isp方式。但用于FPGA的SOF文件有两种编程配置模式,即Passive Serial和JTAG模式,他们的编程电路连接方式也不一样。因此,如果FPGA的下载模式是以JTAG模式连接的,则应选择编程模式为“JTAG”,如图2-24所示。第73页/共172页 4.选择编程器

34、 在图2-23所示的编程窗中,选“Setup”按钮可设置下载接口的方式。这里选择“ByteBlaster MVLPT1”,方法是点击图2-23所示的编程窗上的“Setup”钮,即弹出“Hardware Setup”对话框;选择此框的“Hardware settings”页,再双击此页中的选项“ByteBlaster.”,之后点击“Close”按钮,关闭对话框即可。这时,在如图2-23所示的编程窗右上方的编程方式指示“Type”的右侧,显示出编程方式:ByteBlasterLPT1。第74页/共172页 5.对配置器件编程 如果要对工程目标器件EP1K30的配置器件EPC2进行编程,可选择EP1

35、K30适配板,并作好跳线设置,然后作如图2-24(a)的设置,即选择编程为“Freqtest.pof”,下载模式选“JTAG”,并分别对文件名右侧的“Progam/Configure”、“Verify”和“Blank-Check”条目下的小方块打勾,点击“Start”后,即可对EPC2进行编程。编程成功后的界面如图2-24(b)所示。第75页/共172页图 2-24(a)对EPC2编程设置第76页/共172页图 2-24(b)编程成功第77页/共172页图 2-24(c)将编程设置以.cdf文件方式存盘第78页/共172页 6.保存编程信息 编程完毕后,如果希望将此次设置的所有结果保存起来,以

36、便能够很快调出进行编程,可以点击“Save as”,将弹出如图2-24(c)所示的文件存储窗,在这里可以将所有编程和配置条件与文件的信息都存在Chain Description File(:cdf)文件中(ftest.cdf),以后编程只要打开此文件就可以了。第79页/共172页在Windows 2000上的安装设置 在Windows 98中,Quartus II一旦安装完毕,仅通过Quartus II上的直接设置,即可使用硬件下载功能。但在Windows 2000上安装时,除了安装Quartus II软件外,为使用ByteBlasterMV下载功能,还必须安装硬件驱动(drivers),以支

37、持Quartus II对PC机并行口的操作。具体安装步骤如下:(1)假设已在Windows 2000上安装好Quartus II;(2)选择左下方“开始”“设置”“控制面板”;第80页/共172页 (3)双击“游戏选项”图标,然后选择“添加”“添加其它”“从磁盘安装”命令,再单击“浏览”,浏览驱动器所在目录:Quartus II的安装目录driverswin2000;(4)选择 win2000.inf,单击“确定”;(5)在“数字签名未找到”对话框中选择“是”;(6)在“选 择 一 个 设 备 驱 动 程 序”窗 口 中,选 择“Altera ByteBlaster”,并单击“下一步”;(7)

38、在接下去的“数字签名未找到”对话框中,仍选择“是”;(8)安装完成,依提示重新启动计算机。第81页/共172页2.2 使用宏功能块设计频率计 为了说明在一项顶层设计中如何定制和调用宏功能块,这里以上述频率计的设计为例,分别用宏功能块取代此频率计中的32位锁存器和32位计数器,再进行编译、仿真和硬件测试。首先定制32位计数器,步骤如下:第82页/共172页 1.打开MegaCore管理器 选择“Tools”菜单中的“MegaWizard Plug-In Manager”,在弹出的窗口中(图2-25)确认选择“Create a new custom megafunction variation”,

39、点击“Next”。2.选择目标器件和宏功能块类型 出 现 如 图 2-26所 示 的 对 话 框。在 此 框 中 选 择 目 标 器 件 为“ACEX1K”,模块表达语言为“VHDL”,模块内容为arithmetic项下的“LPM_COUNTER”,生成功能块的路径与取名为“D:FTESTcnt32-core.vhd”。第83页/共172页图2-25 建立一个宏功能块 第84页/共172页图2-26 选择计数器模块及设定文件存储路径 第85页/共172页 3.确定宏功能块工作方式 点击“Next”后即进入图2-27,在此对话框中选择计数器为单一加法计数器“Up only”。再点击“Next”后

40、进入图2-28所示的对话框,在这里选择普通二进制计数方式(如果要选某数进制的计数方式,如十进制计数器,应该选“Modulus”,“with.a count.”),并 在“How wide should theqoutput bus”旁键入“32”,即设定为32位二进制计数器。第86页/共172页图2-27 选择32位单一加法计数器第87页/共172页图2-28 选择普通二进制计数方式 第88页/共172页 4.选择清0输入 点击“Next”按钮后,出现图2-29所示的对话框,在这里的“Asynchronous inputs”下选择“Clear”,表示此计数器的清零方式选择为异步清零方式,输入端

41、为“aclr”(如图2-30)。5.结束编辑 为了将此模块利用顶层文件进行例化,应该特别注意此二进制计数器的端口信号名。点击“Next”后,即进入结束编辑窗口(如图2-31所示)。最后得到的文件名是“reg32_core.vhd”,在D:FTEST文件夹中。第89页/共172页图2-29 清零方式选择 第90页/共172页图2-30 选择异步清零方式 第91页/共172页图2-31 宏功能模块的VHDL文件形成 第92页/共172页 6.编辑32位锁存器宏功能块 此后可以以完全相似的方法定制32位锁存器,其宏功能模块名是“LPM_FF”。在“storage”类别中,存盘可取名为“reg32_c

42、ore.vhd”,存在同一目录中。最后完成类似于图2-30和图2-31所示的设置。7.修改顶层文件例化元件 最后修改例2-4,分别以cnt32_core.vhd和reg32_core.vhd取代原来的cnt1.vhd和reg1.vhd,并注意它们的端口信号。改变后的文件如例2-5所示。此后就可以根据上节介绍的方法对频率计文件进行完整的设计和测试了,也可以比较两种结构的硬件特性、时序情况和逻辑资源耗用率。第93页/共172页【例2-5】修改后的文件。LIBRARY IEEE;ENTITY FREQTEST IS PORT(CLK:IN STD_LOGIC;FSIN:IN STD_LOGIC;DO

43、UT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END FREQTEST;ARCHITECTURE struc OF FREQTEST ISCOMPONENT TESTCTL第94页/共172页 PORT(CLK:IN STD_LOGIC;TSTEN:OUT STD_LOGIC;CLR_CNT:OUT STD_LOGIC;Load:OUT STD_LOGIC);END COMPONENT;COMPONENT cnt32_core PORT(CLOCK:IN STD_LOGIC;ACLR:IN STD_LOGIC;CLK_EN:IN STD_LOGIC;Q:OUT ST

44、D_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT;COMPONENT reg32_core第95页/共172页PORT(CLOCK:IN STD_LOGIC;DATA:IN STD_LOGIC_VECTOR(31 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT;SIGNAL TSTEN1:STD_LOGIC;SIGNAL CLR_CNT1:STD_LOGIC;SIGNAL Load1:STD_LOGIC;SIGNAL DTO1:STD_LOGIC_VECTOR(31 DOWNTO 0);第

45、96页/共172页BEGINU1:TESTCTL PORT MAP(CLK=CLK,TSTEN=TSTEN1,CLR_CNT=CLR_CNT1,Load=Load1);U2:reg32_core PORT MAP(CLOCK=Load1,DATA=DTO1,Q=DOUT);U3:cnt32_core PORT MAP(CLOCK=FSIN,ACLR=CLR_CNT1,CLK_EN=TSTEN1,Q=DTO1);END struc;第97页/共172页2.3 嵌入式系统块ESB的应用I 嵌入式系统块即Embedded System Block(ESB)。1个ESB有2048个可编程RAM位,能配

46、置成16个逻辑宏单元,并含有OR和XOR逻辑、32个乘积项及16个D触发器。可以利用Quartus II将某些特定的设计放在ESB中实现,而非利用常规的逻辑宏单元LCs(或称LEs)来实现,从而达到优化、提高速度与降低逻辑资源耗用的目的。第98页/共172页 ESB具有特殊的功能结构,它内部含有多种可以利用的逻辑资源,如可配置的RAM结构和乘积项逻辑结构。其RAM结构可根据设计者的要求进行组合、配置,形成不同大小和类型的单口RAM、双口RAM、ROM、FIFO or CAM(内 容 寻 址 存 储 器:Content-addressable memory)。ESB是FLEX系列中的EAB功能结

47、构的扩充。ESB中的乘积项结构适合用于组合逻辑的实现,这种逻辑结构形式过去只存在CPLD中(如Lattice的ispLSI系 列 或 Altera的 MAX系 列)。含 有 ESB结 构 的 器 件 系 列 有 APEX,Excalibur,Mercury等。第99页/共172页应用普通方法设计正弦信号发生器 简单正弦信号发生器的VHDL描述如例2-6所示。当此电路结构的8位输出端与8位D/A连接后,可扫描出每周期64点的正弦波形,其中CLK输入频率为f0,控制输出正弦波型的频率为f,它与输入频率的关系是:f=f0/64。第100页/共172页【例2-6】正弦信号发生器的VHDL描述。LIBR

48、ARY IEEE;ENTITY DAC IS PORT(CLK :IN STD_LOGIC;DD :OUT INTEGER RANGE 255 DOWNTO 0);END;ARCHITECTURE DACC OF DAC IS第101页/共172页SIGNAL Q :INTEGER RANGE 63 DOWNTO 0;SIGNAL D :INTEGER RANGE 255 DOWNTO 0;BEGIN PROCESS(CLK)BEGIN IF(CLKEVENT AND CLK=1)THEN Q D D D D D D D D D D D D D D D D D D D D D D D D D

49、D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D NULL;END CASE;END PROCESS;DD=D;END;第105页/共172页 实现步骤如下:1.编译源文件 首先,在D:SIN-WV1路径下,将例2-6的DAC.vhd设置成工程,并选目标器件为“EP20K200EQC240-3”,启动“Processing”?“Start Compilation”,开始编译。编译结束后,可以通过右栏的“Compilation Report”了解对工程DAC的设计结果(可以在Processi

50、ng菜单中找到编译报告项)。第106页/共172页 2.了解硬件资源利用情况 首先点击“Compilation Report”栏的“Summary”,则将显示此项设计的硬件资源利用情况。由图2-32可见,DAC设计耗用的逻辑宏单元(Logic elements)数是49,没有使用片内RAM(memory bits)。第107页/共172页 3.观察Floorplan 然后点击此报告栏的“Floorplan View”,以了解DAC电路在目标芯片中的资源占用情况。如图2-33所示,DAC主要占用了一些小方块,每一小方块是一个逻辑宏单元LC,而在最右侧的小长方块(ESB单元)没有被占用,表明此项设

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

当前位置:首页 > 应用文书 > PPT文档

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com