搜索
您当前的位置:首页 > 高仿资讯
总线控制逻辑的VHDL设计仿真与测试
发布时间:2013-09-27 03:56:32 信号 总线 模块

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

  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。

可能对这些感兴趣:
  央行有关方面负责人表示,近两年来,人民银行从各地金融机构上缴的假币中陆续发现了“HD90”编号的百元面额假人民币,同时,还发现
   O 引言   SPICE是一个功能强大的通用模拟和混合模式电路模拟器,它主要用来验证电路设计以预测电路功能。这对于集成电路是尤其重要的。就
  据英国《每日邮报》报道,日本世嘉玩具公司近日发表的机器猫玩具并不是我们熟知的那个“哆啦A梦”,不过,它仍然是一款令人惊异的仿真猫玩具
1、前言 制造业的发展对产品性能、规格、品种不断提出新的要求,产品的生命周期越来越短,新产品的开发时间是决定性因素。虚拟制造技术(VMT
为庆祝奥巴马20日就任美国新总统,模型玩家麦克因提尔15日在加州卡尔斯巴德市乐高乐园以乐高积木搭成一座仿真总统就职典礼的模型。  据报道
1月14日,本报A7版刊登《省城街头再现仿真“军火”》一文后,读者纷纷打来电话谴责销售商的行为。14日,记者再次来到中心购物广场,看到部分
历年来,仿真玩具枪一直是相关部门整治的重点,也是他们最头疼的事。这不,只要花50元至60元,你就可以拥有一把“AK”或是“M4”,西宁街头再
最近,在盛泽市场上以多姿多彩的新面貌跻身市场重振雄风,销量不减当年,而且销路由城市向农村延伸。该面料以68D/48F涤纶FDY作经线,以150D涤纶D
高仿奢侈品商城链接

推荐阅读