您的当前位置:首页正文

基于FPGA的数字钟的设计

来源:画鸵萌宠网


数字钟的设计

学生姓名:XXX 学生学号: 2008XXXX 院(系): 电气信息工程学院 年级专业: 20XX级电子信息工程班 小 组: XXXX 指导教师: XXXX

二零XX年X月XX日

攀枝花学院课程设计论文 数字钟的设计

摘 要

本设计为一个多功能的数字钟,具有时、分、秒计数显示功能,以24小时循环计数;具有校对功能。

本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计文件,在QUARTUSII工具软件环境下,采用自顶向下的设计方法,由各个基本模块共同构建了一个基于FPGA的数字钟。

系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证,本系统能够完成时、分、秒的分别显示,由按键输入进行数字钟的清零、启停功能。

关键词 数字钟,硬件描述语言,VHDL,FPGA

I

攀枝花学院课程设计论文 数字钟的设计

Abstract

The design for a multi-functional digital clock, with hours, minutes and seconds count display to a 24-hour cycle count; have proof functions function.

The use of EDA design technology, hardware-description language VHDL description logic means for the system design documents, in QUAETUSII tools environment, a top-down design, by the various modules together build a FPGA-based digital clock.

The main system make up of the clock module, control module, time module, data decoding module, display and broadcast module. After compiling the design and simulation procedures, the programmable logic device to download verification, the system can complete the hours, minutes and seconds respectively, using keys to cleared , start and stop the digital clock.

Keywords digital clock,hardware description language,VHDL,FPGA

II

攀枝花学院课程设计论文 数字钟的设计

目 录

摘 要 ........................................................................................................................... I ABSTRACT ..................................................................................................................... II 1 题目的意义和设计的要求 ..................................................................................... 1

1.1 题目的意义 ............................................................................................................ 1 1.2 设计的要求 ............................................................................................................ 1

2 设计的基本原理 ..................................................................................................... 2 3 设计方案 ................................................................................................................. 4

3.1 设计思路 ............................................................................................................... 4 3.2 各模块的模块图和功能 .......................................................................................... 4 3.2.1 分频器模块..................................................................................................... 4 3.2.2 六进制计数器模块 .......................................................................................... 6 3.2.3 十进制计数器模块 .......................................................................................... 7 3.2.4 二十四进制计数器模块 ................................................................................... 8 3.2.5 译码器模块................................................................................................... 10 3.2.6 顶层文件模块 ............................................................................................... 11

4 各模块的仿真 ....................................................................................................... 14

4.1分频器模块仿真图 ................................................................................................ 14 4.2六进制计数器模块仿真图 ..................................................................................... 14 4.3十进制计数器模块仿真图 ..................................................................................... 14 4.4 二十四进制计数器模块仿真图 .............................................................................. 14 4.5 译码器模块仿真图 ............................................................................................... 15 4.6 顶层文件模块仿真图 ............................................................................................ 15

5 结 论 ................................................................................................................... 16 参 考 文 献 ............................................................................................................... 17

III

攀枝花学院课程设计论文 数字钟的设计

1 题目的意义和设计的要求

1.1 题目的意义

现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

1.2 设计的要求

本设计主要研究基于FPGA的数字钟,要求时间以24小时为一个周期,显示时、分、秒。采用1HZ的基准信号产生1S的基准时间,秒的个位加到10就向秒的十位进一,秒的十位加到6就向分的个位进一,分的个位加到10就向分的十位进一,分的十位加到6就向时进一。该时钟具有清零功能,可以对时、分及秒进行清零,为了保证计时的稳定及准确须由晶体振荡器提供时间基准信号。

该系统是基于FPGA的设计,采用VHDL进行系统功能描述,采用自顶向下的设计方法,用QUARTUSⅡ软件进行仿真测试。

1

攀枝花学院课程设计论文 数字钟的设计

2 设计的基本原理

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻0”规律计数。计满后各计数器清零,重新计数。

一般说来,一个比较大的完整的项目应该采用层次化的描述方法:分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOP DOWN(自顶向下)的设计方法。目前这种高层次的设计方法已被广泛采用。高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。CPLD/FPGA系统设计的工作流程如图1所示。

图1 CPLD/FPGA系统设计流程

2

攀枝花学院课程设计论文 数字钟的设计

流程说明:

1.工程按照“自顶向下”的设计方法进行系统划分。

2.输入VHDL代码,这是设计中最为普遍的输入方式。此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。

3.将以上的设计输入编译成标准的VHDL文件。

4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。

5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。

6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。

7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。

8.在适配完成后,产生多项设计结果:(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。

最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。

3

攀枝花学院课程设计论文 数字钟的设计

3 设计方案

3.1 设计思路

采用分模块设计的方法,再用一个顶层文件将各模块联系起来如图2所示。

图2 时钟模块图

将晶振通过分频器分频后产生1HZ(1S)的基本频率,然后通过十进制计数器计数,此时计秒的个位,满十后向秒的十位进一,秒十位采用六进制计数器,计满后向分的个位进一,分个位采用十进制计数器,计满后向分十位进一,分十位采用六进制计数器,计满后向时进一,时采用二十四进制计数器,计满后清零,最后将秒的个、十位,分的个、十位,时的个、十位,用译码器译为数码管显示的七段译码数。

3.2 各模块的模块图和功能

3.2.1 分频器模块

晶体振荡器是构成数字式时钟的核心,振荡器的稳定度及频率的精度决定了

4

攀枝花学院课程设计论文 数字钟的设计

数字钟计时的准确程度,它保证了时钟的走时准确及稳定。

石英晶体的选频特性非常好,只有某一频率点的信号可以通过它,其它频率段的信号均会被它所衰减,而且,振荡信号的频率与振荡电路中的R、C元件的数值无关。因此,这种振荡电路输出的是准确度极高的信号。然后再利用分频电路,将其输出信号转变为秒信号,其组成框图如图3。

石英晶体 秒信号 分频电路 振荡电路

图3 秒信号产生电路框图 本系统使用的晶体振荡器电路给数字钟提供一个频率稳定准确的12MHz的方波信号,其输出至分频电路。分频电路的逻辑框图如图4所示。

图4 分频电路模块

分频器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DIV IS

PORT(CLK,RESET: IN STD_LOGIC; F: OUT STD_LOGIC); END DIV;

ARCHITECTURE ART OF DIV IS SIGNAL Q: INTEGER RANGE 0 TO 10; BEGIN

PROCESS(CLK) BEGIN

IF(CLK'EVENT AND CLK='1') THEN IF(RESET='0') THEN Q<=0;

5

攀枝花学院课程设计论文 数字钟的设计

ELSIF Q<=4 THEN F<='1'; Q<=Q+1;

ELSIF Q=9 THEN F<='0'; Q<=0; ELSE F<='0'; Q<=Q+1; END IF; END IF; END PROCESS; END ART;

3.2.2 六进制计数器模块

对秒和分的十位进行计数,计数满六便变为0,产生进位。 六进制计数器的逻辑框图如图5所示:

图5 六进制计数器模块

六进制计数器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER6 IS

PORT ( CLK : IN STD_LOGIC; RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(2 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

C :OUT STD_LOGIC);

END COUNTER6;

ARCHITECTURE BEHAVIORAL OF COUNTER6 IS SIGNAL COUNT : STD_LOGIC_VECTOR(2 DOWNTO 0);

6

攀枝花学院课程设计论文 数字钟的设计

BEGIN

DOUT <= COUNT;

PROCESS(CLK,RESET,DIN) BEGIN

IF RESET= '0' THEN

COUNT <= DIN; C<='0';

ELSIF RISING_EDGE(CLK) THEN

IF COUNT=\"101\" THEN

COUNT<=\"000\"; C<='1';

ELSE

COUNT<=COUNT+1; C<='0';

END IF; END IF; END PROCESS; END BEHAVIORAL;

3.2.3 十进制计数器模块

对秒和分的个位进行计数,计满10便变为0,并产生进位。 十进制计数器的逻辑框图如图6所示:

图6 十进制计数器模块

十进制计数器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER10 IS

PORT ( CLK : IN STD_LOGIC;

7

攀枝花学院课程设计论文 数字钟的设计

RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

C : OUT STD_LOGIC);

END COUNTER10;

ARCHITECTURE BEHAVIORAL OF COUNTER10 IS SIGNAL COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

DOUT <= COUNT;

PROCESS(CLK,RESET,DIN) BEGIN

IF RESET='0'THEN

COUNT <= DIN ; C<='0';

ELSIF RISING_EDGE(CLK) THEN

IF COUNT = \"1001\" THEN

COUNT <= \"0000\"; C<='1';

ELSE

COUNT <= COUNT+1; C<='0';

END IF; END IF; END PROCESS; END BEHAVIORAL;

3.2.4 二十四进制计数器模块

对时进行计数,计满24便变为0.

二十四进制计数器的逻辑框图如图7所示:

图7 二十四进制计数器模块

8

攀枝花学院课程设计论文 数字钟的设计

二十四进制计数器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNTER24 IS

PORT ( CLK : IN STD_LOGIC; RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0); DOUTL : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DOUTH :OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); END COUNTER24;

ARCHITECTURE BEHAVIORAL OF COUNTER24 IS SIGNAL COUNT1 : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COUNT2 : STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN

DOUTL <= COUNT1; DOUTH <= COUNT2;

PROCESS(CLK,RESET,DIN) BEGIN

IF RESET= '0' THEN

COUNT1 <= DIN(3 DOWNTO 0); COUNT2 <= DIN(5 DOWNTO 4);

ELSIF CLK'EVENT AND CLK='1' THEN

IF COUNT1=\"1001\" THEN

COUNT1<=\"0000\"; COUNT2<=COUNT2 +1;

ELSE

COUNT1<=COUNT1 +1;

END IF;

IF COUNT2=\"10\" THEN IF COUNT1=\"0011\" THEN

COUNT1<=\"0000\"; COUNT2<=\"00\";

9

攀枝花学院课程设计论文 数字钟的设计

END IF; END IF; END IF; END PROCESS; END BEHAVIORAL;

3.2.5 译码器模块

将时、分、秒个位的输出译为七段输出。 译码器的逻辑框图如图8所示:

图8 译码器器模块

译码器程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DECODER IS

PORT (DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0 ); --四位二进制码输入

DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); --输出LED七段码

END DECODER;

ARCHITECTURE BEHAVIORAL OF DECODER IS BEGIN

PROCESS(DIN) BEGIN CASE DIN IS

WHEN \"0000\" => DOUT<=\"0000001\";--0 WHEN \"0001\" => DOUT<=\"1001111\";--1 WHEN \"0010\" => DOUT<=\"0010010\";--2 WHEN \"0011\" => DOUT<=\"0000110\";--3 WHEN \"0100\" => DOUT<=\"1001100\"; --4 WHEN \"0101\" => DOUT<=\"0100100\";--5 WHEN \"0110\" => DOUT<=\"0100000\";--6

10

攀枝花学院课程设计论文 数字钟的设计

WHEN \"0111\" => DOUT<=\"0001111\";--7 WHEN \"1000\" => DOUT<=\"0000000\";--8 WHEN \"1001\" => DOUT<=\"0000100\";--9 WHEN OTHERS => DOUT<=\"1111111\"; END CASE; END PROCESS; END BEHAVIORAL;

3.2.6 顶层文件模块

将各模块连接起来,实现整个时钟功能。 顶层文件的逻辑框图如图9所示:

图9 顶层文件模块

顶层文件程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CLOCK IS

PORT ( CLK : IN STD_LOGIC; --1HZ RESET : IN STD_LOGIC; --复位信号 DINS : IN STD_LOGIC_VECTOR(6 DOWNTO 0);--秒钟预置 DINM : IN STD_LOGIC_VECTOR(6 DOWNTO 0);--分钟预置 DINH : IN STD_LOGIC_VECTOR(5 DOWNTO 0);--时钟预置

SECONDL: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--秒钟低位输出 SECONDH: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --秒钟高位输出 MINUTEL: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --分钟低位输出 MINUTEH: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --分钟高位输出 HOURL: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); --小时低位输出

11

攀枝花学院课程设计论文 数字钟的设计

HOURH: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); --小时高位输出 END CLOCK;

ARCHITECTURE BEHAVIORAL OF CLOCK IS COMPONENT DIV IS

PORT(CLK,RESET :IN STD_LOGIC; F : OUT STD_LOGIC); END COMPONENT;

COMPONENT COUNTER10 IS

PORT ( CLK : IN STD_LOGIC;

RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

C: OUT STD_LOGIC);

END COMPONENT;

COMPONENT COUNTER6 IS PORT ( CLK : IN STD_LOGIC;

RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(2 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

C: OUT STD_LOGIC);

END COMPONENT;

COMPONENT COUNTER24 IS PORT ( CLK : IN STD_LOGIC;

RESET : IN STD_LOGIC;

DIN : IN STD_LOGIC_VECTOR(5 DOWNTO 0); DOUTL : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DOUTH : OUT STD_LOGIC_VECTOR(1 DOWNTO 0));

END COMPONENT; COMPONENT DECODER IS

PORT (DIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0 );

DOUT: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END COMPONENT;

SIGNAL CLK1HZ,C1,C2,C3,C4:STD_LOGIC;

SIGNAL DOUTSL,DOUTML:STD_LOGIC_VECTOR(3 DOWNTO 0);

12

攀枝花学院课程设计论文 数字钟的设计

SIGNAL DOUTSH,DOUTMH:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL RDOUTL:STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL RDOUTSH,RDOUTMH:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL RDOUTH:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL RRDOUTH:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

RDOUTSH <= '0'&DOUTSH; --将秒钟高位数据变为4位,再进行译码 RDOUTMH <= '0'&DOUTMH; --将分钟高位数据变为4位,再进行译码 RRDOUTH <=\"00\"&RDOUTH; --将时钟高位数据变为4位,再进行译码

U0: DIV PORT MAP(CLK=>CLK,RESET=>RESET,F=>CLK1HZ);

U1:COUNTER10 PORT MAP(CLK=>CLK1HZ,RESET=>RESET, DIN=>DINS (3 DOWNTO 0),DOUT=>DOUTSL,C=>C1);

U2: COUNTER6 PORT MAP( CLK=>C1,RESET=>RESET,

DIN=>DINS(6 DOWNTO 4),DOUT=>DOUTSH,C=>C2);

U3: COUNTER10 PORT MAP( CLK=>C2,RESET=>RESET,

DIN=>DINM(3 DOWNTO 0),DOUT=>DOUTML,C=>C3);

U4: COUNTER6 PORT MAP( CLK=>C3,RESET=>RESET,

DIN=>DINM(6 DOWNTO 4),DOUT=>DOUTMH, C=>C4); U5: COUNTER24 PORT MAP( CLK=>C4,RESET=>RESET,

DIN=>DINH,DOUTL=>RDOUTL,DOUTH=>RDOUTH);

U6: DECODER PORT MAP( DIN => DOUTSL,DOUT => SECONDL);

U7: DECODER PORT MAP( DIN => RDOUTSH,DOUT => SECONDH); U8: DECODER PORT MAP( DIN => DOUTML,DOUT => MINUTEL); U9: DECODER PORT MAP( DIN => RDOUTMH,DOUT => MINUTEH); U10: DECODER PORT MAP( DIN => RDOUTL(3 DOWNTO 0),DOUT => HOURL);

U11: DECODER PORT MAP( DIN => RRDOUTH(3 DOWNTO 0),DOUT => HOURH); END BEHAVIORAL;

13

攀枝花学院课程设计论文 数字钟的设计

4 各模块的仿真

4.1分频器模块仿真图

图10 分频器仿真图

4.2六进制计数器模块仿真图

图11 六进制计数器仿真图

4.3十进制计数器模块仿真图

图12 十进制计数器仿真图

4.4 二十四进制计数器模块仿真图

14

攀枝花学院课程设计论文 数字钟的设计

图13 二十四进制计数器仿真图

4.5 译码器模块仿真图

图14 译码器仿真图

4.6 顶层文件模块仿真图

图15 顶层文件仿真图

15

攀枝花学院课程设计论文 数字钟的设计

5 结 论

经过各模块和整体程序的仿真,达到了设计的要求。从秒的个位开始自加一, 加到九时,在下一个时钟来临是个位清零又开始自加一,并向秒的十位进一,秒的十位加到六就向分的个位进一,秒的十位清零又开始计数,分的个位加到十就向分的十位进一,分的十位清零又开始计数,分的十位加到六就向时进一,时加到二十四自清零。

在此次设计过程中,最大的优点是采用了自顶向下的模块化设计,使程序清晰易懂,在秒和分的计数器的设计时,考虑到分秒都是六十进制,而分秒的显示都是个位和十位分开显示,为了译码方便,采用了六进制和十进制计数器套用的设计方法,看起麻烦实际使程序更易设计。

虽然在设计程序时具备一定的有点,同时也有一定的缺点,比如说延时的问题,这使得时钟在实际运行时并不十分精确。在用QuartusⅡ进行仿真时,当显示数据较大较长时可能出现乱码,我一直也没有将这个问题解决掉,自己水平还有限,还需要不断努力,对于延时,则将时钟信号调大一点,延时就会减小,在译码器的仿真时,因为输出的是七段数码管点亮时的代码,会让人误以为是二进制数表示的十进制数,在这里要更加认真仔细,不然很容易出错。

在此次的数字钟设计过程中,我更进一步地熟悉有关数字电路的知识和具体应用。学会了利用QuarterII软件进行原理图的绘制,硬件描述语言VHDL的编写,程序的仿真等工作。并能根据仿真结果分析设计的存在的问题和缺陷,从而进行程序的调试和完善。

在此,特别感谢指导我设计的陈老师,在这次的设计中,陈老师给了我许多建议,让我的设计更加完善,在仿真时,陈老师给了我许多帮助,每当仿真出问题时,陈老师总是悉心得给我讲解出问题的地方和原因,我也从中学到了许多分析问题的方法,也从中学到了不少其他的东西。再次感谢陈老师的指导!

16

攀枝花学院课程设计论文 数字钟的设计

参 考 文 献

[1] 刘爱荣,王振成.EDA技术与CPLD/FPGA开发应用简明教程[M].清华大学出版社,2010. [2] 陈忠平,高金定,高见芳.基于QuuartusⅡ的FPGA/CPLD设计与实践[M].电子工业出

版社,2010.

[3] 刘君,常明,秦娟.基于硬件描述语言(VHDL)的数字时钟设计[J].天津理工大学学报,

2007:第23卷 第4期,40-41.

[4] 王开军,姜宇柏.面向CPLD/FPGA的VHDL设计[M].机械工业出版社,2006:28-65.

17

因篇幅问题不能全部显示,请点此查看更多更全内容

Top