当前位置:文档之家› 电子设计自动化技术第四章quartusII使用

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

43
44
务必将CPLD/FPGA芯片上
未使用的引脚设置为 “输入三态”类型。
45
46
• 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 ;
《电子技术创新实践》
2008.11
1
可编程器件与Quartus II使用
• 第一讲 电子系统设计初步
可编程器件设计流程
建立工程
编写设计文件
文本输入 图形输入 模块输入
指定设计约束
器件选择 管脚分配


仿

编程 配置
PS模式 JTAG模式 AS模式
分析 综合 适配
建立波形文件 输入仿真节点 输入激励信号
41
重新编译项目 下载:
Tools→Programmer(sof文件)
采 用 JTAG模式 下 载
42
数字电路实验箱介绍
功能说明:
8 bits DIP开关 8 bits 复位开关、4×4矩阵键盘 8×8点阵输出、8位七段数码管 LCD液晶显示、27个LED显示 A/D、D/A转换、E2PROM等模块 0~5V、-2.5V~+2.5V模拟量输出 蜂鸣器、喇叭、JTAG模块 交通灯、电梯、步进电机、通信模块 VGA、USB、RS232接口模块 单片机小系统模块(含地址锁存) 4个信道脉冲输出 2信道连续可调脉冲输出(2HZ~24MHZ)
• 为引线和引脚命名 • 引线的命名方法是:在需要命名的引线上单击一 下,此时引线处于被选中状态,然后输入名字。 对单个信号线的命名,可用字母、字母组合或字 母与数字组合的形式,如A0、A1、clk等;对于n 位总线的命名,可以采用A[n–1...0]形式,其中A 表示总线名,可以用字母或字母组合的形式表示。 • 引脚的命名方法是:在放置引脚的pin_name处双 击,然后输入该引脚的名字,或在需命名的引脚 上双击,在弹出的引脚属性对话框的引脚名称文 本框中输入该引脚名。引脚的命名方法与引线命 名一样,也分为单信号引脚和总线引脚。
20
• 要建立一个完整的原理图设计文件,调入所需要的逻辑符 号以后,还需要根据设计要求进行符号之间的连线,以及 根据信号I/O类型放置I/O或双向引脚。 • (1)连线 • 符号之间的连线包括信号线和总线。如果需要连接两个端 口,则将鼠标指针移动到其中一个端口上,这时鼠标指针 自动变为“+”形状,一直按住鼠标的左键并拖动鼠标到 达第二个端口,放开左键,即可在两个端口画出信号线或 总线。在连线过程中,当需要在某个地方拐弯时,只需要 在该处放开鼠标左键,然后再继续按下左键拖动即可。 • (2)放置引脚 • 引脚包括输入(input)、输出(output)和双向(bidir) 三种类型,放置方法与放置符号的方法相同,即在图形编 辑窗口的空白处双击,在Symbol对话框的符号名称文本框 中输入引脚名,或在基本符号库的引脚库中选择,单击 OK按钮,对应的引脚就会显示在图形编辑窗口中。 • 要重复放置同一个符号,可以在Symbol对话框中选中重复 输入复选框,也可以将鼠标指针放在要重复放置的符号上, 按下Ctrl键和鼠标左键不放,此时鼠标指针右下角会出现 21 一个加号,拖曳鼠标指针到指定位置,松开鼠标左键就可 以复制符号了。
49
LPM_ROM宏模块应用
定制LPM_ROM元件
定制新的宏功能块
50
4.4 LPM_ROM宏模块应用
4.4.3 定制LPM_ROM元件
LPM宏功能块设定
51
4.4 LPM_ROM宏模块应用
4.4.3 定制LPM_ROM元件
52
选择data_rom模块数据线和地址线宽
LPM_ROM宏模块应用插入模版ຫໍສະໝຸດ 面13建立图形设计文件
建立图形设计文件
14
• QuartusⅡ图形编辑器也称为块编辑器 (Block Editor),用于以原理图 (Schematics)和结构图(Block Diagrams) 的形式输入和编辑图形设计信息。 QuartusⅡ的图形编辑器可以读取并编辑结 构设计文件(Block Design Files)和 MAX+PLUSⅡ图形设计文件(Graphic Design Files)。可以在QuartusⅡ软件中打 开图形设计文件并将其另存为结构图设计 文件。在这里,用图形编辑器替代了 MAX+PLUSⅡ软件中的图形编辑器。
22
选择图形文件后,next,出现如下图形设计编辑窗; 双击输入元件和引脚,并连接电路,完成设计。 保存文件。
23
24
接下来编译写好的程序:
编译
25
编译窗口
26
开始:
27
修改所有编译中出现的错误; 编译中出现的警告一般可以忽略。 仿真分:功能仿真、时序仿真。
仿真
28
29
30
31
设置激励信号,并保存波形文件:
48
• • • • • • • • • • • • •
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 ;
47
• • • • • • • • • • • •
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 : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ; END ARCHITECTURE one
器件与管脚选项
39
将未使用的管脚设置:input tri-stated(输入三态)
还可以进行配置芯片的设置; IO管脚电压规格的设置,等等
40
管脚锁定: Assignment→Assignment Editer
项目实体定义的IO端口与芯片管脚的对应关系: 1. 取决于所选的实验模式 2. 实验连接关系 详见:实验箱使用手册
16
输入单元符号界面
17
• (2)单击单元库前面的加号(+),直到 使所有库中的图元以列表的方式显示出来; 选择所需要的图元或符号,该符号显示在 Symbol对话框的右边;单击OK按钮,所选 择符号将显示在下图的图形编辑工作区域, 在合适的位置单击放置符号。重复步骤, 即可连续选取库中的符号。 • 如果要重复选择某一个符号,可以在上图 中选中“重复输入”复选框,选择一个符 号以后,可以在图形编辑区重复放置。放 置完成后右击,选择Cancel命令取消放置符 号。 18
输入设计项目和存盘
元件输入对话框
19
• (3)要输入74系列的符号,方法与步骤(2)相似,选择 其他库,打开maxplus2列表,从其中选择所要的74系列符 号。 • 当选择其他库或兆功能函数库中的符号时,图中的“以块 形式插入”复选框有效。如果选中该复选框,则插入的符 号以图形块的形状显示。 • (4)如果知道图形符号的名称,可以直接在Symbol对话 框的符号名称文本框中输入要调入的符号名称,Symbol对 话框将自动打开输入符号名称所在的库列表。如直接输入 74161,则Symbol对话框将自动定位到74161所在库中的列 表。 • (5)图形编辑器中放置的符号都有一个实例名称(如 inst1,可以简单理解为一个符号的多个复制项的名称), 符号的属性可以由设计者修改。在需要修改属性的符号上 右击,在弹出的下拉菜单中选择Properties命令,则弹出 Symbol Properties对话框,如图所示。在General选项卡中 可以修改符号的实例名;Ports可以对端口状态进行修改; Parameters选项卡中可以对LPM的参数进行设置;Format 选项卡可以修改符号的显示颜色等。
32
选择仿真工具,进行仿真:
33
仿真工具:
34
仿真结果:
仿真结果 正确!
35
原理图设计方法
将设计项目设置成可调用的元件
将所需元件全部调入原理图编辑窗并连接好
36
原理图设计方法
设计全加器顶层文件
连接好的全加器原理图f_adder.bdf
37
管脚分配
重新编译
下载至芯片
38
管脚锁定:
当一个项目的顶层实体设计完成后,就可以进行管脚锁定和约束。 锁定前先进行一些设置:Assignment→Device →Device&Pin…
定制LPM_ROM元件
选择地址锁存信号inclock
53
LPM_ROM宏模块应用
定制LPM_ROM元件
调入ROM初始化数据文件并选择在系统读写功能
54
LPM_ROM宏模块应用
定制LPM_ROM元件
LPM_ROM设计完成
55
【例4-1】
LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.altera_mf_components.all; --使用宏功能库中的所有元件 ENTITY data_rom IS PORT (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 IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0); COMPONENT altsyncram --例化altsyncram元件,调用了LPM模块altsyncram GENERIC ( --参数传递语句 intended_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_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0); 56 q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );
相关主题