AHB GPIO验证环境搭建——学习笔记(1)

以下为个人学习笔记,如有疏漏,请大家指正补充~~

GPIO功能介绍:

一、AHB GPIO提供了一个16位的I/O接口,具有以下属性:

• 可编程中断生成能力。

• 使用地址值的位掩码支持。

• 具有引脚多路复用支持的备用功能切换寄存器。

• 通过为控制寄存器提供单独的设置和清除地址实现线程安全操作。

• 输入使用双触发器采样以避免亚稳态问题。

        其中,cmsdk_ahb_io_bridge.v是硬件模块,主要用于实现AHB总线到GPIO端口的桥接,提供GPIO口控制、数据缓存和中断控制等功能;而cmsdk_io_gpio.v是纯软件模块,主要用于实现GPIO的具体功能,包括GPIO口的配置、读写和中断等。GPIO自己提供了一个16bit的I/O的interface接口,既可以进来也可以读出去;进来是指外部portin进来,portout出去;而外部的引脚可以和外设相连,因为GPIO具有掩码功能,可以与外部的LED阵列相连接呈现图案化显示。

其中FCLK与HCLK是same phase的,也就是它们的上升沿和下降沿在时间上保持对齐;此外,GPIO默认采用小端;

大端:(Big-Endian):

就是把数值的高位字节放在内存的低位地址上,把数值的地位字节放在内存的高位地址上。

小端:(Little-Endian):

就是把数字的高位字节放在高位的地址上,低位字节放在低位地址上。

【注】不管是大端法还是小端法存储,计算机在内存中存放数据的顺序都是从低地址到高地址,所不同的是首先取低字节的数据存放在低地址还是取高字节数据存放在低地址。

二、中断功能

        中断由三个寄存器控制,每个寄存器都有单独的设置和清除地址;由于双触发器同步逻辑, FCLK 在中断检测期间必须处于活动状态。中断生成还有一个三个周期的延迟,其中包括两个用于输入信号同步的周期和一个用于记录中断状态的周期。

        INTTYPESET寄存器用于设置GPIO端口的中断类型(寄存器类型在最后)。通过设置相应的位,可以将该引脚的中断类型设置为上升沿触发、下降沿触发、高电平触发或低电平触发。

三、掩码功能(Masked access)

        16 bit的mask包括低八位掩码和高八位掩码,即MASKLOWBYTE和MASKHIGNBYTE;

        MASKLOWBYTE逻辑:只想对16 bit位的GPIOOUT的低8位做操作,即只对E8做修改;由于此时的bit mask是b1100_0011表明mask对低两位和高两位做操作;此时的GPIO被bit mask修改后变为0010_1011 = 2B;

MASKHIGHBYTE逻辑:只想对16 bit位的GPIOOUT的高8位做操作,即只对32做修改;由于此时的bit mask是b1001_1000,所以此时的GPIO被bit mask修改后变为1010_0010 = A2;

四、寄存器介绍

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: AHB RAM验证AHB GPIO验证是数字电路设计中非常重要的两个方面。AHB RAM验证是检测AHB总线上的RAM中有无错误,而AHB GPIO验证是确保GPIO模块能够正确地连接到AHB总线。 AHB RAM验证的主要目的是确保RAM存储器的正常操作。在AHB系统中,RAM是存储器的最常用类型之一。AHB RAM验证可以确保RAM存储器能够正确地读取和写入数据。这种验证通常涉及到RAM的不同操作模式,例如随机访问和半随机访问,在检测到错误时,该验证可以修复错误在RAM中的位置。 AHB GPIO验证的主要目的是确保GPIO模块与AHB总线的正确连接。在一个完整的AHB系统中,GPIO模块作为输入输出端口使用。由于其重要性,可以使用GPIO模块来与外部设备进行通信,并在需要时向系统控制器发送信息。因此,确保GPIO模块通过AHB总线发送和接收信息是非常重要的。在验证期间,则需要检查所有GPIO口的访问权限和控制能力,以确保其在程序规定的时间内正常工作。 因此,AHB RAM验证AHB GPIO验证涉及到不同的验证因素。AHB RAM验证重点是存储器的操作,而AHB GPIO验证主要关注GPIO模块在AHB总线上的连接,这些验证都是确保数据的可靠传输和存储的重要组成部分。 ### 回答2: AHB RAM验证AHB GPIO验证都是针对AHB总线上的不同设备的验证工作。AHB RAM验证主要是验证AHB总线上的RAM存储器,而AHB GPIO验证则主要是验证GPIO(通用输入输出)设备的功能。 首先,AHB RAM验证的目标是验证随机访问存储器(RAM)的正确性。因此,该验证需要验证存储器中的读和写操作。同时,也需要测试存储器的读写时序和数据传输正确性,以确保存储器能够正常使用。 相比之下,AHB GPIO验证的目标则是验证GPIO设备的输入和输出功能是否正确。因此,该验证需要针对GPIO设备的输入和输出信号进行测试,并验证这些信号是否能正确地从GPIO设备进入和离开AHB总线。 另外,AHB RAM验证需要对存储器进行读取和写入操作,以验证存储器内部的数据传输是否正确。这需要读取已存储的数据并对比读取结果,以确保它们匹配。相比之下,AHB GPIO验证需要检测GPIO设备产生信号是否符合规范,无需进行数据匹配。 总体而言,AHB RAM验证AHB GPIO验证是两种可以同时进行的验证,并且这两个验证方法在AHB总线设备开发过程中都非常重要。选择不同的验证方法需要根据验证的目的来确定。 ### 回答3: AHB RAM验证AHB GPIO验证是两种不同的验证技术,AHB RAM验证主要是验证AHB总线上的RAM存储器的正常工作和存储功能是否正确,而AHB GPIO验证主要是验证GPIO模块的正常工作是否正确。 在AHB RAM验证中,验证工程师通常会使用AHB总线读写数据到RAM,然后再从RAM中读取数据进行比对。验证工程师还会验证RAM是否正确地响应读写操作,并且验证读写地址能否正确指向RAM中的正确位置。在此过程中,验证工程师还需要验证是否存在因为读写操作而导致的RAM数据异常等。 AHB GPIO验证过程中则需要验证GPIO的各种输入输出操作是否正确。验证工程师需要通过模拟各种输入输出信号或模拟GPIO端口的逻辑状态,然后验证GPIO模块能否正确地对输入/输出信号做出响应,并输出正确的信号状态。GPIO验证还需要验证GPIO模块是否能够正确地工作在不同的工作模式下,并且能否正确地响应GPIO端口与其他芯片之间的通信。 因此,AHB RAM验证AHB GPIO验证是两个不同领域的验证技术,在验证过程中所需注意的问题和方法也不同。在验证芯片的各个模块时,验证工程师会根据实际情况选择使用适当的验证技术,以确保芯片的正常工作和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听个响吧~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值