将turbo1挂接在AHB总线并实现加法功能.docVIP

将turbo1挂接在AHB总线并实现加法功能.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
整体架构 整体架构如下图所示 : 图1 上图由八部分组成,它们分别为用于储存加数的add1_ram模块和add2_ram模块,用于储存加法和的sum_ram模块,用于完成加法功能的turbo51模块,用于判断优先级高低的arbiter模块,用于实现51接口与AHB接口连接适配的适配模块adapt_block.,用于选择读写哪个ram的decoder译码模块。用于连续输出1024个数据的output_block模块。 2. 整体架构描述 图2 上图为一个基于AMBA AHB的系统,AMBA AHB 总线协议设计使用一个中央多路选择器互联方案,使用该方案所有总线主机设备输出地址和控制信号来指示它们想执行的传输同时仲裁器决定哪一个主机能够将它的地址和控制信号联通到所有的主机,当然就需要一个译码器来控制读数据和相应多路信号选择器,多路信号选择器选中来自传输中所包含从机的适当信号。此项目包括adapt_block和output_block两个主机模块及add1_ram,add2_ram,sum_ram三个从机模块.以及用于选择从机信号的decoder模块和用于判断主机优先级的arbiter模块.其中add1_ram,add2_ram用于存储加数,sum_ram用于存储加法和.output_block模块用于连续输出1024个加法和.此项目的核心模块为adapt_block模块,它将turbo51例化,并通过AHB总线将add1_ram和add2_ram中的数读入其模块并通过databus将加数送入turbo51中进行加法运算,最后将得出的加法和结果写入sum_ram模块中。此模块既包括对add1_ram,add2_ram和 sum_ram的读写控制,也包括对51接口和AHB接口的适配的实现。为此次项目的重点。 3. 各模块功能及其时序 本节是这篇文档的关键部分,主要论述了各个功能块的结构,对相应的时序也作了说明。 图3 ADD1_RAM模块 接口说明: PIN I/O DISCRIBE HCLK I 时钟信号,为所有总线提供时基。所有信号时序都和HCLK的上升沿相关。 HRESETn I 系统的复位信号低有效并用来复位系统和总线,这是唯一的低有效的信号。 DIN I 从tb中输入,用于向ram中输入数据。 WRITE I 从tb中输入,用于控制ram1的写操作。 HSEL_RAM1 I 用于选择RAM1进行读写操作的选择信号。 HADDR[31:0] I 从主机输出给从机的地址,用于选择相关地址。32位系统地址总线。 HWRITE I 从主机输出给从机的信号,用于指示读写操作。当为高表示一个写操作,为低表示一个读操作。 HTRANS[1:0] I 表示当前传输的类型,可以是不连续,连续,空闲和忙。 HSIZE[2:0] I 表示传输的大小,典型情况是字节(8位),半字(16位),或者是字(32位)。协议允许最大的传输大小可以达到1024位。 HBURST[2:0] I 表示传输是否组成了突发的一部分,支持四个,八个或者16个节拍的突发传输并且突发传输可以是增量或者是回环。 HWDATA[31:0] I 写数据总线用在写操作期间从主机到总线从机传输数据,建议最小的数据总线宽度为32位,然而,在要求高宽带运行时扩展(数据总线)还是很容易的。 HREADY_RAM1 O 当HREADY为高时表示总线上的传输已经完成,在扩展传输时该信号可能会被拉低。 HRESP_RAM1[1:0] O 传输响应给传输状态提供了附加信息。提供四种不同的响应:OKEY,,ERROR,RETRY,SPLIT HRDATA_RAM1[31:0] O 读数据总线用来在读操作期间从总线从机向总线主机传输数据,建议最小的数据总线宽度为32位,然而在要求高宽带运行时扩展(数据总线)还是很容易的。 FULL_1 O 表示当前RAM1已经写满 (2)接口框图: 图4 (3)逻辑图: 图5 由于自动生成的RAM8_1024的输入和输出的数据和地址与总线所要求的位数不匹配,故需要通过ADD1_RAM对生成的RAM8_1024进行操作,使其能够连接在总线上并完成读和写的操作。由上图可以看出当WRITE为高电平时,对RAM8_1024进行写操作,此时依次将DIN中的数据存储于RAM8_1024中,当WRITE为低电平时,读出haddr中的数据dout,并通过位拼接将 24’B0,dout 作为hrdata_ram1送入总线,从而实现将RAM8_1024挂接在总线上实现读写功能。 (4)内部详细设计: 这个模块为ADD1_RAM模块,深度为1024,数据位宽为8位。主要用于存储加数。通过tb来控制ADD1_RAM的写操作且从tb中输入数据进入ADD1_R

文档评论(0)

yi593pu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档