admin 管理员组文章数量: 1087135
2024年3月12日发(作者:直流电机的特点)
Progra m Design・程序设计
基于FLEX I OK的数字显示程序设计
本文利用达盛EDA实验箱,
在FLEX1OK芯片的基础上完成了
数字显示程序的模块设计、VHDL
语言的设计描述及硬件实现。数
字显示程序设计可以作为《EDA技
术与应用》课程的实验模块来巩
固学生对动态扫描的原理的理解,
并进一步掌握VHDL语言的编程方
法。
【关键词】FLEX1OK芯片数字显示程序编程
方法
EDA的全称是ElectricDesignAul ̄nafion,
中文含义是电子设计自动化 EDA技术是一门
多学科融合的电子产品设计自动化的新技术
掌握EDA技术是培养高素质、高技能电子产
品设计人才的需要,是现代集成电路和电子整
机系统设计及科技创新和产业发展的需要。
EDA技术以计算机为工作平台,以可编程逻
辑器件PLD的软件及实验开发系统为设计工
具,以硬件描述语言为系统的设计语言,用软
件方式进行元件建模和系统仿真,最终形成集
成电子系统或ASIC芯片。目前生产PLD的
厂商有Xilinx,Altera,Lattice和Actel等公
司。常见的PLD产品有Xilinx公司的XC系
列,Lattice公司的ispLSI系列和Altera公司
的MAX和FLEx系列等。本文是以Altera
公司的FLEX1OK器件为载体,以Altera公
司提供的强大而易于使用的软件开发工具
MAX+PLUS II为设计工具来实现数字显示的
程序设计,最后借助北京达盛EDA实验箱来
完成硬件实现。
1 FLEX1 OK芯片的结构特性
Altera公司的FLEX10K系列器件采用
CMOS.SRAM工艺制造,是高密度阵列嵌入
式可编程逻辑器件系列。
1.1内部结构
FLEX1OK器件主要由嵌入阵列、逻辑阵
列、快速通道(FASTTRACK)以及10单元构
成。嵌入阵列由EAB构成,实现存储和专用
逻辑功能,完成RAM,ROM,双口RAM或者
FIFo功能。逻辑阵列由LAB构成。8个逻辑
单元(LE)和一个局部连接构成一个LAB。
EAB和LAB由跨越整个器件的行、列快速互
联通道连接。行列通道的两端是IO单元。嵌
入阵列块和逻辑阵列块结合提供了嵌入式门阵
列的高性能和高密度,设计者可以在某个器件
上实现一个完整的系统。
文/余丽红龙诺春林春景
1.2主要特点
时钟分频为305HZ的动态扫描时钟。P2进程
(1)高密度嵌入式可编程逻辑器件,提
实现对8个数码管的轮流扫描,四个数码管是
供了在单个器件中的系统集成。
高电平亮,四个数码管是低电平亮。P3进程
(2)3.3V或5.0V的工作模式,低功耗。
用于确定数码管与对应数字的关系。EDA实
(3)遵守全PCI总路线,内带JTAG(
验箱上的8个数码管从左到右依次显示0到7。
联合测试行动组)边界扫描电路;通过外部
P4进程将数码管上要显示的数字转换成8段
EPROM、集成控制器或JTAG接口实现在电
码。P2、P3和P4三个进程利用选择信号赋值
路可重构等。
语句来实现,进程对应的VHDL程序描述如下:
(4)I/O引脚都有INPUT/OUTPUT寄
p2:process(cs(15 downto 13))
Begin
存器。
(5)具有低延时时钟和内部三态总线,
with CS f15 downto 131 select
en<=”1 110”when”000”:
能提供复杂逻辑设计所需的功能。
”l101” ̄Vhen”001”:
(6)具有在系统(ISF)可配置特性。
”10l1”When”010”:
(7)MAX+PLUS II开发系统提供软件
”0111”When”O11”:
支持,自动布局布线,可在PC机或工作站上
”0001”When”1O0”:
运行。
’’0010’’When’’101”:
2数字显示程序的设计
”0100”When”110”:
”1000”When”111”:
2.1程序模块设计
End process p2;
p3;process(en)
数字显示设计要同时显示O.7共8个数字,
Begin
则需要用到8个数码管。每个时钟周期内只扫
With ell select
描一个数码管,只能显示一位数据,显示的数
data<=”000l”When”iIlO”:
据值由段码来控制,同时由位码来选择数码管,
”0010”When”1101”:
对各数码管进行动态扫描。利用人眼的视觉暂
”O1O0” ̄tlen”1011”:
留现象,只要时钟扫描>100HZ,则可以观测
”0000”When”0111’’:
到所有的数码管是同时显示的。达盛EDA实
”0l10”When”0001”:
验箱可以提供20MHZ的原始外部时钟输入,
”0101”When”0010”:
为了得到动态扫描的时钟脉冲,同时看到8个
”001l”When”O1O0”:
数字,程序需要如下模块:计数分频模块、动
”01l1”When”1000”:
态扫描模块、确定数码管与对应数字模块以及
End process p3;
译码显示模块。
p4:process(data)
2.2程序的VHDL语言实现
Begin
With data select
(1)实体:本设计需要四个端口:时钟
dataout t<=”11l111O0”When”0000”:
输入、复位控制、段码输出以及位码输出。7
”01 100000”When”0001’’:
段数码管加上小数点一共就是8位。段码的数
”1101l010”When”0010”:
据类型是8位标准逻辑矢量。本设计是利用达
”11110010”When”O011”:
盛EDA实验箱来完成硬件实现。该实验箱共
”011O0110”When”01O0’’:
有8个数码管,其中四个是低电平亮,另外四
”1O11O110”When”01O1”:
个是高电平亮。所以位码是四位的标准逻辑矢
”lO111l10”When”0ll0”:
量。实体名取为display。实体的VHDL语言
”l1100000”When”O111”:
描述如下:
End process p4;
Entity display is
3数字显示程序的硬件实现
Port(elk:in std_logic;
rst:in stdlogic;
dataout:out std
3.1器件选择
logic
vector(7 downto 0);
sel:out std logic vector(3 downto 0));
本设计选用Altera公司提供的MAX+PI25S II
End display;
为设计工具。在文本编辑器中完成用VHDL描
(2)结构体:该设计共有4个模块,分
述语言编写的数字显示源程序后,点击Assign
别用Pl、P2、P3和P4四个进程来描述。
Pl代表计数分频模块,该模块利用一个
异步复位的16位计数器CS将20MHZ的原始
<<下转268页
Electronic Technology&Software Engineering电子技术与软件工程・267
版权声明:本文标题:基于FLEX10K的数字显示程序设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1710258179a564793.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论