DesignWare | 您所在的位置:网站首页 › gpio的特点 › DesignWare |
ip测试之DW_APB_GPIO模块DUT&Testbench仿真
1.学会读 DW_apb_gpio_databook(数据手册可于主页下载)1.1 Overview:1.2 Function:1.3 Features:
2. 仿真 2.1 Workspace Directory Contents: 2.2 Function Description: 2.3 Registers: 2.4 仿真结果:
Synopsys 的gpio是DesignWare高级外围总线(DW_apb)的一个component,confirm to ARM的AMBA规范2.0。。 1.学会读 DW_apb_gpio_databook(数据手册可于主页下载)其实GPIO我们很熟悉,在ARM设备中用的比较多,在使用STM32或者树莓派时我们就开始使用它。是嵌入式最基本的接口,作为输入端口时,我们可以通过它们读入外部数据,作为输出端口时,我们可以通过它们输出高电平或低电平来控制连接的外围设备。通俗地说,GPIO就是用来控制引脚的。所以以往使用GPIO的经验在这里也一样适用,我们依然是通过寄存器操作GPIO。 1.1 Overview:Synopsys的 DW_apb_gpio是DesignWare高级外设总线的一个组成部分,我们借着这个图分析一下gpio这个IP。 可以看到这些小IP都可以挂到APB总线上,APB高级外设总线,顾名思义主要用于低带宽的外设之间的连接,例如UART,GPIO都可以接到上面。高级外设总线不像高性能总线那样可以支持多个主模块,在APB里面唯一的主模块就是APB 桥。 再回到ip本身,配置一个IO需要用寄存器。按照经验,我们用配置寄存器选择引脚功能,用数据寄存器读/写端口数据。一般我们在用GPIO控制外设的时候,就是配置某个引脚为输出或是输入,再在数据寄存器中写入0或1让引脚输出高电平或者低电平。如果设置为输入的话一般用于地址控制。在adb_gpio中也一样,比如对于gpio_swporta_dr寄存器,若某些位设置为output,则寄存器的值将被输出。 1.2 Function:DW_GPIO的特点包括: 1. APB与APB bridge之间的接口 2. 外部数据接口 3. 辅助硬件数据接口 4. 中断接口 最好可以生成workspace后APPLY,对照着src下面的component.v一起看,比如会生成什么信号。在代码里面看有多少生成的信号。然后他也会有注释,对于刚看这些IP的同学,如果对注释看不懂呢就结合databook一起,可能还要结合这个Block Diagram 一起看,其他IP的框图也和GPIO一样一般在手册的第一章,会有一个DW_apb_component Block Diagram。 1.3 Features:
仿真之前做好准备工作,下载正版的Synopsys公司的软件coreConsultant。 2.1 Workspace Directory Contents:了解一下代码结构,打开coreConsultant,建立Workspace后查看生成的代码结构。 GPIO这个IP可以分为软件控制模式和硬件控制模式,在软件控制模式下,外部I/O的Direction由Portx数据方向寄存器(gpio_swportx_ddr)的写入控制。而写入的数据被传输到DW_apb_gpio外围设备的输出信号gpio_portx_ddr上。外部数据通过外部数据信号gpio_ext_portx输入。根据gpio_ext_portx是配置为输入还是输出,确定是读取信号上的值还是读取Portx的数据寄存器。
进入我们最关心的仿真环节,写好testbench,就可以利用coreConsultant测试了: 比如我们配置gpio_inttype_level和gpio_int_polarity这两个寄存器, 再试一下其他的Testcase: DW_apb_gpio_databook的下载地址: (https://download.csdn.net/download/weixin_49457347/86309521) |
CopyRight 2018-2019 实验室设备网 版权所有 |