- 1、本文档共172页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 Quartus II设计向导 2.1 频率计的VHDL设计 2.2 使用宏功能块设计频率计 2.3 嵌入式系统块ESB的应用 2.4 嵌入式系统块ESB的应用 2.5 时序驱动式优化编译方法 2.6 频率计结构原理 2.7 Quartus II优化特性 2.1 频率计的VHDL设计 2.1.1 创建工程和编辑设计文件 首先应该建立好工作库目录,以便设计工程项目的存储。作为示例,在此设立目录为D:\ftest,作为工作库,以便将设计过程中的相关文件存储于此。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般地,不同的设计项目最好放在不同的文件夹中。注意,一个设计项目可以包含多个设计文件,如频率计。 在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,详细步骤如下: 1. 新建一个文件夹 首先利用Windows资源管理器新建一个文件夹。假设本项设计的文件夹取名为ftest,在D盘中,路径为D:\ftest。注意,文件夹名不能用中文。 2. 输入源程序 打开Quartus II,选择菜单“File”→“New”,在New窗中的“Device Design Files”中选择编译文件的语言类型,这里选“VHDL Files”(如图2-1所示)。然后在VHDL文本编译窗中键入例2-1的程序,这是频率计项目中的一个模块:测频计数器CNT1,文本编辑窗口如图2-2所示。 【例2-1】计数器设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; 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)); 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 = (OTHERS=0); ELSIF CLOCKEVENT AND CLOCK = 1 THEN IF CLK_EN = 1 THEN CQI = CQI + 1; END IF; END IF; END PROCESS; Q = CQI; END behav; 【例2-2】测频时序控制器设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTL IS PORT (CLK : IN STD_LOGIC; TSTEN : OUT STD_LOGIC; CLR_CNT : OUT STD_LOGIC; Load : OUT STD_LOGIC ); END TESTCTL; ARCHITECTURE behav OF TESTCTL IS SIGNAL Div2CLK : STD_LOGIC; BEGIN PROCESS( CLK ) BEGIN IF CLKEVENT AND CLK = 1 THEN Div2CLK = NOT Div2CLK; END IF; END PROCESS; PROCESS (CLK, Div2CLK)
文档评论(0)