当前位置: 首页 > wzjs >正文

135编辑器 wordpresswordpress 优化标题

135编辑器 wordpress,wordpress 优化标题,网站建设公司如何做大,咖啡线上推广方案前言 地址译码器用于为总线上的每个 slave 提供选择信号 HSELx 。选择信号是通过组合逻辑 对地址码译码产生的,规范建议避免复杂的译码逻辑以保证高速操作。 只在当前的数据传输完成后(HREADY 为高), slave 才会采样…

前言        

地址译码器用于为总线上的每个 slave 提供选择信号 HSELx 。选择信号是通过组合逻辑
对地址码译码产生的,规范建议避免复杂的译码逻辑以保证高速操作。
        只在当前的数据传输完成后(HREADY 为高), slave 才会采样地址和控制信号以及
HSELx 。在一定条件下可能出现这样的情况:产生 HSELx 信号而 HREADY 为低,在完成
当前传输后 slave 会改变。
        每个 slave 最小的地址空间为 1kB ,所有的 master burst 传输的上限也是 1kB ,如此
设计保证了不会出现地址越界问题。当一个设计不会用到所有的地址空间时,可能出现访问
到一个不存在的地址的情况,这就需要增加一个附加的默认 slave 来为上面的情况提供一个
响应。当 SEQ NONSEQ 传输访问到一个不存在的地址,默认 slave 应该提供 ERROR
应;当 IDLE BUSY 传输访问到一个不存在的地址,默认 slave 会提供 OKAY 响应。地址
译码器会带有实现默认 slave 的功能。下图显示典型的地址译码系统和选择信号。

 

​AHB协议地址译码机制详解​

​1. 地址译码器设计与HSELx生成​

地址译码器是AHB总线的核心组件之一,负责根据主设备(Master)发送的地址信号生成从设备(Slave)选择信号 ​​HSELx​​。其设计遵循以下原则:

  1. ​译码逻辑简化​

    • 使用高位地址(如HADDR[31:10])进行组合逻辑译码,避免复杂计算以保证高速操作。
    • 示例:若从机地址范围为0x0000_0000~0x0000_03FF(1KB),则通过比较地址高22位(HADDR[31:10])确定HSELx。
    • 代码实现中通常采用casez语句匹配地址范围,确保译码器响应速度。                           
    • 假设系统中有 ​​3个从设备(Slave)​​,地址分配如下:                                                    Slave1​​:地址范围 0x4000_0000 ~ 0x4000_0FFF(4KB,用于外设寄存器。                Slave2​​:地址范围 0x8000_0000 ~ 0x8000_FFFF(64KB,用于SRAM)。           ​Default Slave​​:处理未映射地址的访问,返回错误响应。
module ahb_decoder (input  wire        HCLK,       // 总线时钟input  wire        HRESETn,    // 复位信号(低有效)input  wire [31:0] HADDR,      // 地址总线input  wire        HREADY,     // 传输完成信号output reg         HSEL1,      // Slave1选择信号output reg         HSEL2,      // Slave2选择信号output reg         HSEL_DEFAULT // 默认Slave选择信号
);// 地址译码逻辑(组合逻辑)
always @(*) beginif (!HRESETn) beginHSEL1 = 1'b0;HSEL2 = 1'b0;HSEL_DEFAULT = 1'b0;end else if (HREADY) begin// 使用高位地址译码,HADDR[9:0]为从设备内部偏移地址casez (HADDR[31:10])// Slave1: 0x4000_0000 ~ 0x4000_0FFF (4KB)22'b0100_0000_0000_0000_0000_?? : begin // HADDR[31:10] = 20'h40000HSEL1 = 1'b1;HSEL2 = 1'b0;HSEL_DEFAULT = 1'b0;end// Slave2: 0x8000_0000 ~ 0x8000_FFFF (64KB)22'b1000_0000_0000_0000_????_?? : begin // HADDR[31:16] = 16'h8000HSEL1 = 1'b0;HSEL2 = 1'b1;HSEL_DEFAULT = 1'b0;end// 默认Slave处理未映射地址default : beginHSEL1 = 1'b0;HSEL2 = 1'b0;HSEL_DEFAULT = 1'b1;endendcaseend else begin// HREADY为低时保持当前选择信号HSEL1 = HSEL1;HSEL2 = HSEL2;HSEL_DEFAULT = HSEL_DEFAULT;end
endendmodule
  1. ​时序控制与HREADY信号​

    • ​HREADY为高时采样​​:Slave仅在HREADY=1(当前传输完成)时采样地址、控制信号及HSELx。
    • ​HREADY为低时稳定​​:若译码过程中HREADY=0(传输未完成),HSELx保持原状态,避免信号跳变导致总线冲突。

​2. 1KB地址边界与突发传输限制​

  1. ​最小地址空间分配​

    • 每个Slave的最小地址空间为1KB,起始地址需对齐至1KB边界(如0x0000_0000、0x0000_0400)。
    • 1KB地址边界的定义:在AHB协议中,每个从设备的最小地址空间为1KB(即1024字节),这是从设备地址空间的最小粒度。

    • 地址边界被划分为多个1KB的区域,例如:0x0000_00000x0000_03FF0x0000_04000x0000_07FF等。

    • 为什么需要1KB地址边界限制?由于AHB协议规定每个从设备的地址空间最小为1KB,如果突发传输跨越了这个边界,可能会错误地访问其他从设备的地址空间,从而导致系统错误甚至致命错误。

    • 提高性能和兼容性:限制突发传输不能超过1KB边界,可以避免长时间的突发传输跨越多个从设备,从而降低性能损耗并确保协议的兼容性。

    • 突发传输的处理方式!如果突发传输试图跨越1KB边界,则必须将其拆分为两个或多个传输。

    • 比如,当传输地址落在1KB边界附近时,需要重新发起新的传输以确保数据正确到达目标地址。例如,如果传输地址为0x3F00,而目标地址为0x4000,则需要将传输拆分为两次传输:第一次传输到0x3F00,第二次传输到0x4000

  2. ​突发传输约束​

    • 所有Master的突发传输(如INCR、WRAP)不得跨越1KB边界。
    • ​示例​​:若INCR4突发起始地址为0x0000_03FC(接近1KB边界),需拆分为两个INCR2突发以避免越界。

​3. 默认Slave的响应机制​

  1. ​功能定义​

    • 默认Slave用于处理访问未分配地址空间的请求(如地址映射未填满时)。
    • ​响应规则​​:
      • ​SEQ/NONSEQ传输​​:返回ERROR响应,表示无效访问。
      • ​IDLE/BUSY传输​​:返回零等待周期的OKAY响应,避免总线阻塞。
  2. ​实现方式​

    • 默认Slave通常集成于地址译码器中,作为“兜底”逻辑。
    • 示例代码中通过default分支处理未匹配地址,返回默认响应。

​4. 典型地址译码系统架构​

  1. ​模块组成​

    • ​译码器​​:生成HSELx信号,选择目标Slave。
    • ​读数据复用器​​:将选中Slave的读数据回传至Master。
    • ​默认Slave​​:处理非法地址访问。
  2. ​时序示意图(图八解析)​

    • ​地址阶段​​:Master驱动地址后,译码器生成HSELx(基于高位地址)。
    • ​数据阶段​​:Slave在HREADY=1时采样HSELx并响应数据。
    • ​异常处理​​:非法访问触发默认Slave的ERROROKAY响应。

​关键设计要点总结​

​设计要素​​实现规则​​引用来源​
​HSELx生成逻辑​高位地址译码,避免复杂逻辑
​HREADY信号作用​控制HSELx采样时机,确保传输完成前信号稳定
​1KB地址边界限制​防止突发越界,Slave地址空间对齐
​默认Slave响应规则​SEQ/NONSEQ→ERROR;IDLE/BUSY→OKAY
​译码器代码实现​使用casez语句匹配地址范围,HADDR[9:0]不参与译码

通过以上机制,AHB协议实现了高效、可靠的总线地址管理,同时通过默认Slave和边界约束保障了系统稳定性。

http://www.dtcms.com/wzjs/790229.html

相关文章:

  • 让别人做的网站不给源代码社交网站先做pc站可以吗
  • 设计公司网站价格视频软件制作
  • 网站开发实用技术介绍wordpress聊天小工具
  • 郑州营销型网站制作运营中国那个公司的网站做的最好
  • p2p网站如何建设营销型网站解决方案
  • 东莞市网站建设分站企业做网站为什么用php
  • 珠海网站建设建站系统住房建设和城乡管理局官网
  • 网站建设做软件开发吗合肥网站建设案例
  • 美食网站策划书惠州关键词排名优化
  • 怎样建个自己的网站重庆网红打卡景点
  • 宝安高端网站建设公司网页制作基础教程第二版答案
  • 阿里巴巴如何建设网站首页容易被收录的网站
  • 网站服务器软件几十元做网站
  • 做网站技术人员杭州萧山区抖音seo排行榜
  • 网站域名和备案公司可以不一样么广州软件开发工资一般多少
  • 上海网站建站服务做百度推广
  • 网站内网页标题对百度排名网站模板的缺点
  • 卫浴响应式外贸网站建设盲盒小程序源码
  • gta5地产网站建设中注册网站费用明细
  • 苏州网站建设推荐q479185700霸屏网页和网站是一样的吗
  • 柳州免费做网站的公司如何撤销网站上信息吗
  • 网站建设在会计里算什么资产怎么用html做移动网站
  • 企业网站怎么注册百度代理查询系统
  • 广州哪家网站建设服务好游戏官网做的好的网站
  • 手机端网站建站流程网站用什么字体做正文
  • jsp做的网站公司网页制作具体做什么
  • 宝安官网网站建设比较好的辽宁省建设工程
  • 花店网站建设需求平面设计画册设计
  • 企业电子商务网站建设的重要性公司起名字大全免费4个字
  • 个人网站的设计与制作论文wordpress上传的gif图不会动