总线控制逻辑的VHDL设计仿真与测试

2016-09-28来源: eccn关键字:总线控制逻辑  VHDL  设计仿真

  计算机系统是由许多具有独立功能的模块互相连接而成的。随着计算机的不断发展和广泛应用,各生产厂商除了向用户提供整套系统外,还设计和提供各种功能的插件模块,让用户根据自己的需要构成自己的应用系统或扩充原有的系统。这些模块间需要互相通信,需要有高速、可靠的信息交换通道,这就是总线。总线使得计算机各模块之间的信号线可以直接互相连接,提高了信号传输的速度。

  VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,在电子设计领域得到广泛应用,最新版本为IEEE标准的1076-1993版,由IEEE在1993年公布。VHDL主要用于描述数字系统的结构、行为、功能和接口。本文用VHDL的有限状态机来描述和仿真计算机总线控制器的逻辑行为。

  1  总线在总线控制器的控制下工作

  在计算机系统各模块之间的信息通信过程中,每一时刻只能有一组信息在总线上传输。如果有多组信息要传输,只能在总线控制器的控制下,按顺序分别传输,这样对每一组信息的传输就形成一个传输周期,这个周期包括申请分配阶段、寻址阶段、数据交换阶段和撤消阶段。申请分配阶段由主模块提出总线使用申请,经总线控制器批准后获得总线使用权;之后主模块把从模块地址放置到地址总线上,即寻址阶段;从模块接收到地址后做好相应的通信准备工作,并与主模块建立通信,进行数据交换;数据交换结束后,主模块通知总线控制器,并交还总线使用权,即撤消阶段。常用的总线通信方式有同步通信方式和异步通信方式两种。

  2  同步通信方式的有限状态机描述和仿真

  在同步通信方式里,模块之间的通信传输周期是固定的。有精确稳定的系统时钟作为传输周期的“标尺”,通信双方严格按照时钟标尺进行各种操作,以主模块(如CPU)从从模块(如内存)读取数据为例,总线控制器框图如图1所示。

总线控制器框图

  这种方式下总线的控制状态转移图如图2所示。

这种方式下总线的控制状态转移图

  用VHDL进行描述并在MAX+PLUSII上进行仿真,结果如图3所示:

用VHDL进行描述并在MAX

  从图3可以看出,控制器一开始处于状态0(空闲状态),此时总线批准控制信号grant、片选信号csbar、地址有效信号effect和读控制信号rbar均处于无效的高电平;一旦有主模块发出总线请求,即request信号为低电平,控制器转移到状态1,总线批准控制信号有效,申请得到批准,这里假设主模块只有一个,即不存在多个主模块竞争使用总线的情况;进入状态2后,主模块发出地址,这里假设地址为“AD”,同时置片选信号csbar和地址有效信号effect为有效状态,从模块接收到地址有效信号和片选信号后,根据主模块发出的地址进行数据准备工作;进入状态3后,主模块发出读控制信号,即置rbar信号为有效状态;进入状态4后,假设从模块数据准备就绪,并发送到数据总线上,这里假设数据为“DA”,主模块读取数据;进入状态5后,主模块读数据完毕,发出撤消信号,即置withdraw信号为有效状态,之后返回状态0,所有控制信号都返回到无效状态;至此,一个数据传输周期结束。在传输过程中,各个模块的动作严格按照系统时钟同步进行。

  本设计下载到GW48—GK2/PK2 EDA实验开发系统,该系统目标芯片为EP1K100QC208-3,按照结构图No.0进行硬件测试,实验系统提供测试引脚的限制,只测试地址和数据均为4位(测试低4位)的情况,结果如图4所示。

结果图

  从图4中可以看出,在状态0,首先设置withdraw、request和rst为“1”,依次对应图中下方3个发光二极管,此时4个输出控制信号rbar、effect、csbar和grant为“1”,这4个信号按次序组成一个4位二进制数据,该数据经过译码器译码后由数码管显示输出结果,因4个信号均为“1”,故应该显示结果“F”,如图中上面的数码管显示“F”(右边第3个数码管)。第2步,按照图3所示时序设置rst和request信号并由按键3输入一个时钟脉冲,进入状态1,此时grant信号为“0”,4个输出控制信号组合为“1110”,可以看到图中数码管显示“E”,表明主模块申请总线被批准。第3步,设置地址信号addr1(低4位)为“1010”,即“A”,如图中数码管下方两个发光二极管所示,并输入一个时钟脉冲,进入状态2,该地址信号由addr2经译码器译码后由数码管显示出来,如图中上面最右边的数码管显示“A”,在该状态中地址有效信号effect和片选信号csbar均为“0”,此状态下主模块发出地址有效信号和片选信号,4个输出控制信号组合为“1000”,从图中可以看到数码管显示数字“8”。第4步,输入一个时钟脉冲进入状态3,该状态下主模块发出读控制信号,即置rbar信号为“0”,4个输出控制信号全部为“0”,如图中数码管显示“0”。第5步,设置数据信号get_data(低4位)为“1101”,即“D”,如图中数码管下方两个发光二极管所示,并输入一个时钟脉冲,进入状态4,该数据信号由data经译码器译码后由数码管显示出来,如图中上面右边第2个数码管显示“d”。第6步,输入一个时钟脉冲,进入状态5,主模块读取数据完毕,并发出撤消信号,1个数据传输周期结束;之后如果再输入一个时钟脉冲则回到状态0。

关键字:总线控制逻辑  VHDL  设计仿真

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/Test_and_measurement/article_2016092817461.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:CDMA2000与1x/EV-DO移动终端测试的要求和方法
下一篇:基于LXI的多总线融合的自动测试系统

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

出租车计价器VHDL程序

    程序设计与仿真。1. 出租车计价器VHDL程序--文件名:taxi.hd --功能:出租车计价器 library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity taxi isport ( clk_240  :in std_logic;                          --频率
发表于 2018-03-11
出租车计价器VHDL程序

为什么设计复杂系统如此之难?浅谈利用仿真攻克汽车系统

的调整成本更高,为抵消对整个系统的变动而付出更高代价。只要了解这个影响,就可以在这种变动在不能取消之前就被驳回。仿真可以做到实物硬件不能做到的事情,看到实物硬件不能看到的结果。比如,设计人员可以仿真一个在过高电压或温度值运行的系统,查看某个设备内部的电流、通量或其它状态的变量。另一个例子就是仿真能够演练嵌入式控制器在其硬件外围设备(如A/D转换器、D/A转换器、计时器等)环境下的运行。这就类似于现实世界中使用的电路内模拟器,只不过在现实世界中使用者可以在断点处真的把计时器停掉,而不仅仅是执行代码。针对VHDL-AMS语言的IEEE 1076.1标准与多语言仿真器相结合,填补了汽车系统设计工艺的空白。利用建模和仿真技术,汽车
发表于 2018-02-04

CPLD被STM32读写VHDL程序

  1    2   3 --本程序用来测试STM32对CPLD的读写操作  4   5 --测试功能如下:  6   7 --向0x05地址写入0x01,LED灯停止闪烁,写入其他数据闪烁继续  8   9 --0x03,0x04寄存器为定值,可以通过STM32读取然后使用串口输出看看是否一致 10  11   12  13 --文件名:AD.vhd 14  15 library ieee
发表于 2017-01-05

基于VHDL语言的数字频率计的设计方案

  1.引言   数字频率计是通讯设备、计算机、电子产品等生产领域不可缺少的测量仪器。由于硬件设计的器件增加,使设计更加复杂,可靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和可靠性。采用VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统非常精简,让其具有灵活的现场更改性,在不改变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,精确度高,可靠性强,抗干扰等优点,为数字系统进一步的集成创造了条件。   2.数字频率计的工作原理   频率测量方法中,常用的有直接测频法、倍频法
发表于 2016-09-21
基于VHDL语言的数字频率计的设计方案

VHDL的QPSK调制解调技术系统的设计与仿真

QPSK调制技术在数字通信调制技术中占有非常重要的地位,将通信技术与FPGA结合是现代通信技术发展的一个必然趋势。QPSK技术具有抗干扰性能强、误码性能好、频谱利用率高等优点,目前广泛应用于数字通信、数字视频广播、数字卫星广播等领域。文中详细介绍了QPSK技术的工作原理,完成QPSK调制、解调的系统设计方案,并通过VHDL语言编写调制解调程序,通过QuartusⅡ软件对模块和程序进行仿真,并通过引脚锁定,下载到FPGA芯片EP1K30TC144-3中,软件仿真和硬件验证结果表明了该设计的正确性和可行性。1 基于FPGA的QPSK调制解调系统设计四进制绝对移相键控(QPSK或4PSK)利用载波的四种不同相位来表示数字信息。由于每一种
发表于 2014-02-19
VHDL的QPSK调制解调技术系统的设计与仿真

雷诺采用西门子仿真软件 优化AMT设计流程

据外媒报道,雷诺一直在采用西门子PLM的Simcenter Amesim仿真软件,旨在优化其变速箱设计流程并规避后期设计的各类问题。目前,许多消费者都希望新款车型能够提供机械式自动变速箱(automated manual transmission,AMT),该类设备结合了燃油效率、性能、手动系统及自动系统的便利性。配套软件的研发及校准成为该类设备的最大瓶颈,因为这需要采用试错法(trial-and-error),进行大量的测试,周期较长。若在硬件样品未制作完毕,则无法开展该类测试。此外,机械及电子设计一旦接近完工阶段,就无法再通过大幅改动来提升设备性能。在临近设计阶段,则需要排查大量的问题,而非对变速箱控制单元的策略进行细化
发表于 2018-11-06

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved