第12讲IP软核应用基础

Download Report

Transcript 第12讲IP软核应用基础

电子设计自动化技术
讲授:伍宗富
《 E D A 技 术》 课 程 教 学
讲授:伍宗富
湖南文理学院电气与信息工程学院
2015年4月13日星期一
电子设计自动化技术
讲授:伍宗富
第 十二 讲 Quartus II IP软核应用基础
 教学目的:使学生会用Quartus II软件应用IP软核的方法。
 教学重点:通过实例讲解IP软核的应用方法。
 教学难点: Mega Core IP软核的应用。
 教学方法:讲授法、计算机辅助法。
 课时计划:2学时
使用教材:
SOPC技术与应用.江国强 编著.北京:机械工业出版社
 主要参考文献:
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
刘洪涛.ARM嵌入式体系结构与接口技术[M].北京:人民邮电出版社
田耘等.无线通信FPGA设计[M].北京:电子工业出版社
孟宪元等.FPGA嵌入式系统设计教程[M].北京:电子工业出版社
徐光辉等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社
沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社
周立功等.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社
王彦等.基于FPGA的工程设计与应用[M].西安:西安电子工业出版社
周润景等.基于QuartusII的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社
http://www.altera.com
电子设计自动化技术
讲授:伍宗富
课题: Quartus II IP软核应用基础
一、 Quartus II宏功能模块的应用
二、IP核的使用
三、课堂小结
四、作业
电子设计自动化技术
讲授:伍宗富
一、图形编辑输入

1. 示例一
用2片4位二进制加/减计数器74191设计8位二进制
加/减计数器。
LOAD
INPUT
VCC
CLKin
INPUT
VCC
74191
D0
D1
D2
D3
INPUT
VCC
INPUT
VCC
INPUT
VCC
INPUT
VCC
LDN
A
QA
B
QB
C
QC
D
QD
GN
MXMN
DNUP
RCON
CLK
COUNTER
inst
OUTPUT
Q0
OUTPUT
Q1
OUTPUT
Q2
OUTPUT
Q3
OUTPUT
Q4
OUTPUT
Q5
OUTPUT
Q6
OUTPUT
Q7
74191
D4
D5
D6
D7
Enable
Down/Up
INPUT
VCC
INPUT
VCC
INPUT
VCC
INPUT
VCC
INPUT
VCC
INPUT
VCC
LDN
A
QA
B
QB
C
QC
D
QD
GN
MXMN
DNUP
RCON
CLK
COUNTER
inst1
电子设计自动化技术
讲授:伍宗富
一、图形编辑输入

2. 示例二
用4位移动寄存器74194、8位D锁存器74273、D触
发器等器件构成8位串入并出转换电路,要求在转换过
程中数据不变,只有当8位一组数据全部转换结束后,
输出变化一次。
74194
SLSI
SRSI
A
B
C
D
S0
S1
CLRN
CLK
VCC
inst1
GND
QA
QB
QC
QD
74273
D1
D2
D3
D4
D5
D6
D7
D8
CLRN
CLK
SHIFT REG.
74194
SUMin
SLSI
SRSI
A
B
C
D
S0
S1
CLRN
CLK
INPUT
VCC
CLR
INPUT
VCC
CLK
INPUT
VCC
inst2
QA
QB
QC
QD
inst3
SHIFT REG.
NOT
inst13
NOT
NOT
inst8
DFF
D
PRN
CLRN
inst
inst11
DFF
D
PRN
Q
CLRN
inst10
DFF
D
PRN
Q
CLRN
inst12
Q
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
OCTAL D-FF
OUTPUT
Q1
OUTPUT
Q2
OUTPUT
Q3
OUTPUT
Q4
OUTPUT
Q5
OUTPUT
Q6
OUTPUT
Q7
OUTPUT
Q8
电子设计自动化技术
讲授:伍宗富
二、VHDL文本编辑输入

1. 示例一
用VHDL设计8位同步二进制加/减计数器,
输入为时钟端CLK和异步清除端CLR,UPDOWN是
加/减控制端,当UPDOWN为1时执行加法计数,
为0执行减法计数;进位输出端为C。
Count8bit
CLR
CLK
UPDOWN
inst
Q[7..0]
C
电子设计自动化技术
讲授:伍宗富
二、VHDL文本编辑输入

2. 示例二
用VHDL设计7段LED数码显示器的十六进译
码器,要求该译码器有三态输出。
ENCODE7LED
data_in[3..0]
EN
inst
data_out[6..0]
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

1. 示例一:波形发生器的设计
Wave_genTop 顶层设计
地址
指针
波形输出
数据存
储ROM
D/A转换
lpm_counter0
INPUT
VCC
qc[7..0]
OUTPUT
q[7..0]
lpm_rom0
up counter
CLK
OUTPUT
clock
q[7..0]
inst
address[7..0]
q[7..0]
clock
inst1
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

1. 示例一:波形发生器的设计
lpm_counter0
INPUT
VCC
qc[7..0]
OUTPUT
q[7..0]
lpm_rom0
up counter
CLK
OUTPUT
clock
q[7..0]
inst
address[7..0]
q[7..0]
clock
inst1
1)加入计数器元件
元件选择窗的“Libraries”栏中选择
“arithmetic”的“lpm_counter”(计数器)
LPM元件。
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

1. 示例一:波形发生器的设计
lpm_counter0
INPUT
VCC
qc[7..0]
OUTPUT
q[7..0]
lpm_rom0
up counter
CLK
OUTPUT
clock
q[7..0]
inst
address[7..0]
q[7..0]
clock
inst1
2)建立存储器初值设定文件(.mif)
File->NEW->Memory initialization
file(存储器初值设定文件)
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

1. 示例一:波形发生器的设计
lpm_counter0
INPUT
VCC
qc[7..0]
OUTPUT
q[7..0]
lpm_rom0
up counter
CLK
OUTPUT
clock
q[7..0]
inst
address[7..0]
q[7..0]
clock
inst1
3)加入只读存储器ROM元件
元件选择窗的“Libraries”栏中选择
“storage”的“lpm_rom”(只读存储器ROM )
LPM元件。
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

2. 示例二:嵌入式锁相环的设计
pll
areset
c0
inclk0
c1
c2
locked
inst
1)新建工程文件。注: Altera器件只有在
Cyclone和Stratix等系列的FPGA中才含有锁相环;
2)使用“Tools”菜单的“MegaWizard
Plug-In Manager…”项。
电子设计自动化技术
讲授:伍宗富
三、 Quartus II宏功能模块的应用

2. 示例二:嵌入式锁相环的设计
pll
areset
c0
inclk0
c1
c2
locked
inst
电子设计自动化技术
讲授:伍宗富
四、IP核的使用

1. 示例一:NCO IP核的使用
lpm_ff0
DFF
data[9..0]
clock
q[9..0]
sinNCO
phi_inc_i[31..0]
clock
reset_n
clken
INPUT
VCC
INPUT
VCC
INPUT
VCC
INPUT
VCC
phi_inc_i[31..0]
f sin_o[9..0]
clk
f cos_o[9..0]
reset_n
OUTPUT
f sin_o[9..0]
OUTPUT
f cos_o[9..0]
OUTPUT
out_v aild
enable
inst1
out_v alid
lpm_ff1
clken
DFF
data[9..0]
inst
clock
q[9..0]
enable
inst2
lpm_ff2
DFF
data
clock
inst3
q
电子设计自动化技术
讲授:伍宗富
四、IP核的使用

示例:NCO IP核的使用
1)新建工程文件。
2)使用“Tools”菜单的“MegaWizard
Plug-In Manager…”项中的“DSP”>“Signal Generation”->“NCO (数控振荡
器)。
3)设置参数与连接电路及仿真。
注:进行编译时需添加NCO IP核的用户库。
FsinNCO
phi_inc_i[31..0]
clock
reset_n
clken
inst
fsin_o[9..0]
fcos_o[9..0]
out_vaild
电子设计自动化技术
讲授:伍宗富
四、IP核的使用
 示例:NCO IP核的使用
说明:
1)phi_inc_[31..0]为频率字输入端,fsin_o[9..0]为
正弦波信号的数据输出端, fcos_o[9..0]为余弦波信
号的数据输出端,out_vaild为数据输出同步信号。
2)输出波形的频率分辨率为△f=fmin=fc/2n (fc为输
入时钟频率,n为累加器的宽度(32位);
输出频率为fo= fc×M/2n(M为phi_inc_i的输入
值);幅度精度为10位。
电子设计自动化技术
讲授:伍宗富
课堂小结
一、 Quartus II宏功能模块的应用
(熟悉 Mega Core的应用,
怎样得到存储器初值设定.mif文件的值)
二、IP核的使用
(熟悉 IP核的应用)
电子设计自动化技术
讲授:伍宗富
课外作业:
1.写出使用Quartus II宏功能模块设
计波形发生器的的步骤。
2.上机练习