vhdl语言论文摘要

篇一:基于VHDL的电子密码锁的设计论文

摘要

FPGA/VHDL是近几年集成电路中发展最快的产品。由于FPGA性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。据IC Insights的数据显示,FPGA市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。

本文介绍的VHDL密码锁应具有如下功能:密码预先存入寄存器中,开锁时,输入密码存入另一寄存器中,当按下“确定”键时,启动比较器,比较两个寄存器中的内容,当结果相同时开锁;当结果不同时不开

锁。用户需要修改密码时,先开锁,再按“设定密码”,清除预先存入的密码,通过键盘输入新的2位十进制码,按“确定”完成。

关键词:VHDL,密码锁,矩阵

目录

摘要...................................................................... 1

目录...................................................................... 3

一、 设计要求 ...................................................... 5

二 电路组成 ........................................................ 5

三 功能电路的设计.............................................. 7

1、总体设计框图............................................... 7

2、键盘接口电路............................................... 7

3.时序产生电路............................................. 10

4.键盘扫描电路............................................. 12

5.键盘消抖电路............................................. 15

6.键盘译码电路............................................. 19

7.按键存储电路............................................. 26

(1)SISO—串行输入/串行输出.................. 26

(2)SIPO--串行输入/并行输出 ................... 28

(3)PISO--并行输入/串行输出 ................... 30

(4)PIPO--并行输入/并行输出 ................... 32

8.密码设置和比较模块 .................................. 34

9.电锁控制电路设计 ...................................... 36

(1)数字按键输入部分 .............................. 37

(2)功能键输入部分 .................................. 37

(3)三种工作模式 ..................................... 38

附件1:程序清单 ................................................ 39

一、 设计要求

设计一个简单的数字电子密码锁,密码为6位。 功能

1、 密码输入:每按下一个键,要求在数码管上显示,并依次左移;

2、密码清除:清除密码输入,并将输入置为”000000”;

3、密码修改:将当前输入设为新的密码;

4、上锁和开锁。

二 电路组成

为达到以上功能,可将电子密码锁分为以下几个模块:

篇二:VHDL实验报告论文

硬件描述语言期末实验报告

目:姓 名 xxxx 学 号 xxxxxxxxxx 年级专业 指导教师 xxxx

2012年6月20日

河北大学本科生VHDL硬件实验论文(设计)

硬件描述语言实现秒表功能

摘 要

应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了数字系统的开发时间。我们尝试利用VHDL为开发工具设计数字秒表。

秒表的逻辑结构较简单,它主要由十进制计数器、六进制计数器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外整个秒表还需有一个启动信号,暂停信号和一个清零信号,以便秒表能随意停止及启动。

关键词:VHDL语言 数字秒表 时序仿真图

目 录

一、实验目的??????????????????????1 二、硬件要求??????????????????????1 三、引脚说明??????????????????????1 四、模块介绍??????????????????????2 4.1.计数器(六、十进制)????????????????2 4.2.蜂鸣器???????????????????????2 4.3.译码器???????????????????????3 4.4.控制器???????????????????????4 五、整体连接图?????????????????????5 六、实验结果??????????????????????6 七、实验总结??????????????????????6 八、谢辞????????????????????????7 九、附录????????????????????????7

一 实验目的

学习使用VHDL语言,以及EDA芯片的下载仿真。

二 硬件要求

(1)主芯片EPF10K10LC84-4。 (2)蜂鸣器。

(3)8位八段扫描共阴极数码显示管。 (4)二个按键(暂停,开关)。

三 引脚说明

3.1引脚设置

3.2信号说明

signal q:std_logic_vector(3 downto 0); --q是用于分频的信号。

signal state: std_logic_vector(3 downto 0);

--state为状态信号,state为1时为暂停记录状态,为0时为正常显示计数状态。 signal led: std_logic_vector(3 downto 0);

--led为数码管扫描信号,通过对d1~d6的选择使数码管发光。

signal data,data1,data2,data3,data4,data5,data6,data7,data8:std_logic_vector(3 downto 0);

--data1~data8这些信号为计数器所记录的数值,data为传入译码器的变化值。 signal pause1,pause2,pause3,pause4,pause5,pause6:std_logic_vector(3 downto 0); --这些信号为实现暂停功能寄存信号。

signal output:std_logic_vector(6 downto 0); --output为译码输出的信号总线。

signal sound:std_logic_vector(3 downto 0) --sound为蜂鸣器的输入分频器。

signal sound_sout:std_logic_vector(15 downto 0); --data1~data4的总线。 signal sound_star:std_logic; --为蜂鸣器输入频率的开关。

四 模块介绍

时钟的设计共化分为5个模块:六进制计数电路,报时电路,扫描电路,译码电路。下面具体分析各个模块的原理、内容和功能。

4.1计数器

if(count=X)then--‘X’为进制数,为5即为6进制,为9就是10进制。count<="0000";

next_count_clk<='1';--为下一个计数器的时钟信号输入。

else

count<=count+'1';--实现计数功能。next_count_clk<='0'; end if;

4.2蜂鸣器

process(data6,data5,data4,data3,data2,data1) begin

sound_sout<=data4&data3&data2&data1;--实现整点报时的标识。

if(sound_sout=0)then if(data5>=1)then

sound_star<='1'; --开始报时的信号 elsif(data6>=1)then

篇三:VHDL秒表实验报告论文

硬件描述语言期末实验报告

目:姓 名 孙斌 学 号 2012

年级专业 指导教师 伊开

2012年6月20日

河北大学本科生VHDL硬件实验论文(设计)

硬件描述语言实现秒表功能

摘 要

应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了数字系统的开发时间。我们尝试利用VHDL为开发工具设计数字秒表。

秒表的逻辑结构较简单,它主要由十进制计数器、六进制计数器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外整个秒表还需有一个启动信号,暂停信号和一个清零信号,以便秒表能随意停止及启动。

关键词:VHDL语言 数字秒表 时序仿真图

目 录

一、实验目的??????????????????????1 二、硬件要求??????????????????????1 三、引脚说明??????????????????????1 四、模块介绍??????????????????????2 4.1.计数器(六、十进制)????????????????2 4.2.蜂鸣器???????????????????????2 4.3.译码器???????????????????????3 4.4.控制器???????????????????????4 五、整体连接图?????????????????????5 六、实验结果??????????????????????6 七、实验总结??????????????????????6 八、谢辞????????????????????????7 九、附录????????????????????????7

一 实验目的

学习使用VHDL语言,以及EDA芯片的下载仿真。

二 硬件要求

(1)主芯片EPF10K10LC84-4。 (2)蜂鸣器。

(3)8位八段扫描共阴极数码显示管。 (4)二个按键(暂停,开关)。

三 引脚说明

3.1引脚设置

3.2信号说明

signal q:std_logic_vector(3 downto 0); --q是用于分频的信号。

signal state: std_logic_vector(3 downto 0);

--state为状态信号,state为1时为暂停记录状态,为0时为正常显示计数状态。 signal led: std_logic_vector(3 downto 0);

--led为数码管扫描信号,通过对d1~d6的选择使数码管发光。

signal data,data1,data2,data3,data4,data5,data6,data7,data8:std_logic_vector(3 downto 0);

--data1~data8这些信号为计数器所记录的数值,data为传入译码器的变化值。 signal pause1,pause2,pause3,pause4,pause5,pause6:std_logic_vector(3 downto 0); --这些信号为实现暂停功能寄存信号。

signal output:std_logic_vector(6 downto 0); --output为译码输出的信号总线。

signal sound:std_logic_vec

vhdl语言论文摘要

tor(3 downto 0) --sound为蜂鸣器的输入分频器。

signal sound_sout:std_logic_vector(15 downto 0); --data1~data4的总线。 signal sound_star:std_logic; --为蜂鸣器输入频率的开关。

四 模块介绍

时钟的设计共化分为5个模块:六进制计数电路,报时电路,扫描电路,译码电路。下面具体分析各个模块的原理、内容和功能。

4.1计数器

if(count=X)then--‘X’为进制数,为5即为6进制,为9就是10进制。count<="0000";

next_count_clk<='1';--为下一个计数器的时钟信号输入。

else

count<=count+'1';--实现计数功能。next_count_clk<='0'; end if;

4.2蜂鸣器

process(data6,data5,data4,data3,data2,data1) begin

sound_sout<=data4&data3&data2&data1;--实现整点报时的标识。

if(sound_sout=0)then if(data5>=1)then

sound_star<='1'; --开始报时的信号 elsif(data6>=1)then