- UID
- 872339
|
关键字:EDA RAM 时钟芯片
日历时钟芯片应用非常广泛,例如在IC卡电子门锁中,可利用日历时钟芯片的定时时钟计数功能,在IC卡内输入客人住房时的时间段,只有当时间段所包含的时间与日历时钟所记录的时间一致时,方可开门,否则IC卡为无效卡。
利用Synopsys公司提供的集成电路设计工具VCS和DC,设计了一个带有48字节RAM的日历时钟芯片,包括该芯片RTL级代码的编写、功能仿真和综合,达到了预期的目标。该芯片的具体性能指标是:工作电源电压为2.5~6V;日历时钟工作电源和RAM数据保持电源电压为1~6V;工作电流最大为50μA;四年日历时钟,24或12小时格式,32.768kHz时基;48字节RAM,自动字节地址增量;具有可编程的闹钟、定时和中断功能。
1 ASIC设计概述
随着深亚微米技术的发展,数字集成电路的规模已经发展到上百万门。未来的二十多年里,一块ASIC芯片中将会达到上千万门的规模。这样的电路规模,仿真和综合优化在开发过程中发函来发函重要。较复杂的数字电子系统设计往往采用自顶向下(Top-Down)的方法,设计流程可以分为以下几个主要的部分:系统级设计、设计实现、设计验证和流片封装。深亚微米工艺下的ASIC设计流程[2]如图1所示。
本文主要介绍芯片的系统级设计和所有逻辑设计,生成可供物理设计的经过验证的门级网表文件。
2 芯片的系统级设计
系统级设计是芯片设计的第一步,也是关键的一步。首先根据设计要求提出设计构想,然后再对这一构想进行细化。本设计把整个系统分成几大模块,即产生32.768kHz的振荡器(这个模块不用设计)、256分频器、48字节RAM和地址寄存器。设计构想如图2所示。
RAM中的00~0FH单元是一些带有特殊功能的寄存器,00H单元是控制芯片所有功能和操作的状态寄存器,通过设置状态寄存器,可以选择32.768kHz时钟模式或计数模式。在日历时钟模式中,1/128秒、秒、分、小时、年/日期、星期/月都是以BCD码分别存放在01H~06H单元的寄存器中;而在事件计数模式中,则对输入到振荡器输入端(OSCI)的脉冲计数,事件计数器为6位BCD码。07H单元是能存储最大数为99天的定时器。08H是控制定闹、定时和中断输出功能的闹钟控制寄存器。09H~0FH单元用于储存用户信息。
对于这样的设计,传统的方法是使用中小规模集成电路来构成,本文则用Verilog HDL描述来实现。整个芯片采用模块化设计方式和Top-Down设计方法,根据寄存器的不同划分成模块,然后用测试程序TestBench对顶层模块进行仿真;仿真通过后利用厂家提供的工艺库及时序约束脚本文件对其进行综合;综合通过后生成门级网表文件,然后再用厂家提供的仿真库对门级网表进行综合后仿真。本文设计用到的工艺库是台湾旺宏公司(Macronix,MXIC)提供的基本单元库(slow.db和fast.db)、基本符号单元库(slow.sdb)和用于综合后仿真的库文件仿真库(models.v)。
这是一个同步时序电路的设计,所以保证正确的时序是设计的关键,本设计中有四个时钟:
(1)系统时钟clksys,是外部微控制器提供的时钟信号,用作寄存器读、写时钟信号;
(2)测试时钟clktest,是整个芯片的测试时钟信号,一般限于厂家使用。
(3)时基时钟clk32,定时方式时,外部石英晶振提供的32.768kHz振荡信号经过256分频后得到时钟信号(evt128),作为RAM前16字节特殊寄存器的同步时钟信号。
|
|