1
4.8 举例,层次设计思想的应用
电路功能,
输出在输
入组合为
1010时做
0,1之间
的翻转
整体设计原理图
2
层次分割示意图
由底层文件
my_not.vhd 实现
由底层文件
my_dff.gdf 实现
由底层文件
my_decoder.vhd 实现
顶层文件 my_top.gdf
3
一、设计输入
1、建立 My_dff.gdf 图形设计文件
1)建立图形设计文件
建立新图形文件
取文件名
调入元件
连线
命名
保存并检查错误
My_dff.gdf 原理图
2)创建 My_dff.gdf电路图的默认符号 My_dff.sym
4
2,建立 My_decoder.vhd 文本设计文件
1)创建文本设计文件
· 建立新文
本文件
· 取文件名
输入文本
· 保存并检
查错误
My_decoder.vhd 设计文本
2)创建默认符号 My_decoder.sym
5
3、建立顶层设计文件 my_top.gdf
先建立名为 my_top.gdf图形编辑窗口
1)输入符号
选菜单,
Symbol\
Enter Symbol..,
符号输入窗口
6
2)直接点中相应的符号文件,选 OK。再输入
Input 和 Output,得如图所示结果。
默认符号及引脚
7
3)图中各符号连接,引脚命名
设计电路的
顶层图形文
件,即是原
电路原理图
的层次设计

顶层图形设计文件图
8
二、项目编译
1、器件选择
选菜单,
Assign\Device..,
选 MAX7000S
系列
选 AUTO
选择器件对话框
9
2、打开 compiler 窗口,编译成功后显示如图所
示。
编译结束屏幕显示
10
3、管脚分配图
11
4、内部逻辑分配图
12
5、内部宏单元的手动分配
13
6、手动分配后的器件视图
可见,输出 out从 41脚移到 14脚。再编译。
14
三、定时仿真
1、创建仿真通道文件 (my_top.scf)
建立波形设计
文件(,scf),
输入项目的输
入、输出引脚
对输入脚赋值
以 my_top.scf
文件名保存
仿真通道文件
15
2,实现仿真
选菜单,
MAX+PLUS Ⅱ
\Simulator
仿真结束后
选 Open SCF
仿真结果
满足设计要求
仿真结果
16
四、延时分析
放大
显示图
延迟
2.8ns
输出延迟的波形显示
17
作为对比,功能仿真的波形如下,
18
调用定时分析器,选 MAX+PLUS Ⅱ \Timing Analyzer
延时分析器
19
建立与保持时间分析,
建立与保持时间
20
最高工作频率,
寄存器特性分析
21
例 2:用 lpm_rom兆函数模块实现七段码显示 0-F。
IP核的使用(提高电路设计效率的有效方法)
LPM宏单元库分为,
门单元函数,如,lpm_and,lpm_mux …
算术运算函数,如,lpm_add_sub,
lpm_mult
存贮函数,如,lpm_ff,lpm_rom …
22
七段码显示,
a
b
c
d
e
f
g
23
1,七段译码关系表如下,
a[3..0] a,b,c,d,e,f,g
0 1,1,1,1,1,1,0
1 0,1,1,0,0,0,0
2 1,1,0,1,1,0,1
3 1,1,1,1,0,0,1
4 0,1,1,0,0,1,1
5 1,0,1,1,0,1,1
6 1,0,1,1,1,1,1
7 1,1,1,0,0,0,0
8 1,1,1,1,1,1,1
9 1,1,1,1,0,1,1
24
A 1,1,1,0,1,1,1
B 0,0,1,1,1,1,1
C 1,0,0,1,1,1,0
D 0,1,1,1,1,0,1
E 1,0,0,1,1,1,1
F 1,0,0,0,1,1,1
25
2,以图形方式建立一个文件名为 7segment.gdf
的设计文件,并打开 Mega_lpm器件库,选中
lpm_rom。
26
3,将 lpm_rom调入图形编辑窗
27
4,双击参数区,进行参数设置
28
5,设定参数,调入输入、输出引脚
29
6,编译
30
7,初始化 ROM,选莱单 MAX+plusⅡ \Simulator,
再选莱单 Initialize\Initialize Memory…
31
8,填入译码关系表
32
9,Export File… 为 romini.mif,选 OK退出,再编
译。
33
10,建立仿真通道文件,编辑输入波形
34
11,仿真结果
35
将输出结果展开,
36
例 3、用 lpm_mult,lpm_ff 实现带锁存的 4× 4 乘
法器,利用综合技术及流水线技术改进性能
系统速度瓶颈,
流水线技术:把一个周期内执行的逻辑操作分成
几步较小的操作,并在多个高速时
钟周期内完成,每个时钟周期采用
寄存器锁存数据。
流水线技术的弱点:增加器件资源消耗,引入附
加的延时。
37
时钟周期 T = Tco + Tcomb + Tsu
≈Tcomb (忽略 Tco,Tsu)
38
插入寄存器,分解组合电路,
时钟周期为,
T = Tcomb1 或 T = Tcomb2
工作频率 F = 1/T 得到提高。
39
lpm_mult,lpm_ff 的电路符号,
40
双击参数区,可进行端口、参数的选择,
41
经端口、参数选择,编辑后,
42
仿真结果,
43
速度性能:(选用 EPF10K10LC84-4)
44
速度性能:(选用 EPF10K10LC84-3)
45
速度性能的进一步改进,
方法 1:逻辑综合方式选择(局部逻辑综合方式,
全局逻辑综合方式)
46
选全局逻辑综合方式,
47
改进后的速度性能,
48
方法 2:打包( Clique)
打包前的布局分配图,
49
打包:先点中要打包的元件,选 Assign\Clique
50
打包后的文件,
51
打包后重新编译处理,其布局分配图,
52
打包后的速度性能如下,
53
方法 3:流水线设置
54
设参数 lpm_pipeline = 1,速度性能为,
55
设参数 lpm_pipeline = 2,速度性能为,