集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1174|回复: 3

VHDL密码控制系统的设计和仿真

[复制链接]
zxopen08 发表于 2017-7-7 09:51:40 | 显示全部楼层 |阅读模式
VHDL密码控制系统的设计和仿真

 1 引言


  随着电子技术和ASIC技术的发展.数字系统设计向速度快、容量大、体积小、重量轻的趋势发展。目前数字系统设计可直接面向用户需求,根据系统的行为和功能要求,自上而下地逐层完成设计过程:描述、综合、优化、仿真与验证,以及器件生成。该设计过程除系统行为和功能描述外,其他设计几乎都由计算机自动完成,从而实现电子设计自动化(EDA)。这样大大地缩短了系统的设计周期,适应当今品种多、批量小的电子市场要求,提高了产品的竞争能力。由于电子设计自动化是采用硬件描述语言描述硬件电路,所以研究硬件语言及仿真、综合等技术是电子设计自动化的首要任务。本文提出一种利用MAX+plusⅡ开发软件环境和硬件描述语言VHDL的密码控制系统设计方案,并对系统的各个模块进行仿真分析。

  2 VHDL语言特点和基本结构


  VHDL语言即超高速集成电路硬件描述语言,它是一种用形式化方法描述数字电路和设计数字逻辑系统的语言,特别适合描述复杂的组合逻辑、组运算、状态机和真值表。与传统的门级设计方法相比,VHDL语言具有以下特点:

  设计层次高,用于较复杂的运算时能尽快发现问题,缩短产品上市时间,从而成本降低;与工艺无关,独立实现,修改方便,系统描述能力强;可读性好,有利于交流,适合文档保存;VHDL标准、规范并且可移植性强:VHDL类型多且支持用户自定义类型,也支持自顶向下的设计方法和多种电路设计。

  VHDL语言程序设计的基本语法结构如下:


  3 系统设计分析


  密码控制系统包括键盘、控制器和显示器等三部分,如图1所示。

  4位密码控制系统设计能实现如下功能:密码验证功能:即用户使用键盘输入4位密码后,按#键确认。如果输入密码正确则输出000l;如果密码错误则输出00000密码更改功能:当用户输入密码正确后,可在此基础上更改密码,即继续输入4位密码,按+键确认,该输入为新密码。如果密码更改成功,则输出1000;作为整体,控制模块有2个输入,即时钟信号和键盘按键信号;两个输出,即键盘扫描信号和结果显示信号,具体如图l所示。该控制模块总共包括分频子模块、键盘扫描子模块、键盘译码子模块、控制子模块以及输出显示子模块,下面分别对各个模块进行编程仿真。

  3.1 分频子模块


  分频子模块将时钟分频为系统所需频率的时钟信号。通过触发器的级联实现分频电路模块,且级联的触发器级数不同,分频也不同。级数越多频率越低,并按照一定的规律而降低,即频率随级数的增加以分比为l/2的速率降低。本系统设计采用VHDL语言实现分频,其仿真如图2所示。由图2可以看出,CLK—A、CLK—B、VLK—B0和CLK—Bl的频率成倍递减。

  3.2 键盘扫描子模块

  该模块通过分频子模块提供的分频信号,逐周期扫描键盘的每一行,其信号分别是lll0、110l、lOll和0111,如此循环.即逐周期选中键盘的第一列、第二列、第三列和第四列,实现仿真如图3所示。由图3看出,CLK_SCAN 4位信号中0的位置代表键盘的列位置。
zxopenljx 发表于 2020-6-11 10:02:02 | 显示全部楼层
VHDL密码控制系统的设计和仿真
zxopenljx 发表于 2023-9-21 17:39:13 | 显示全部楼层
VHDL密码控制系统的设计和仿真
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-27 18:37 , Processed in 0.058004 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表