当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]SoC系统中AHB/VCI Wrapper的设计及验证

摘要:文章描述SoC平台的片内总线到VCI标准接口的转换部件的设计实现。它可以把带有VCI标准接口的IP模块和AMBA AHB系统总线连接起来。研究内容主要包括两部分:第一,在VCI标准Rev2.0版本的基础上,参照BVCI协议要求完成一个AMBA AHB系统总线与VCI标准接口的转换部件-AHB/VCI Wrapper;第二,利用总线功能模型(BFM)思想,为AMBA总线和BVCI接口建立相应的BFM模型,在此基础上,完成对AMBA总线控制部件和AHB/VCI Wrapper的功能验证。该平台具有很好的可重用性。
关键词:AMBA总线;VCI接口;总线功能模型

0 引言
    Basic VCI协议:AHB/VCI Wrapper的设计中采用的是VCI接口标准中的Basic VCI(BVCI)。
    SoC平台通过提供预先集成并验证好的特定应用IP核,在很大程度上减弱了IP系统集成和系统级验证的负担。SoC设计平台中各功能IP模块是通过AMBA总线来连接的。AMBA(Advanced Microcontroller Bus Architecture)Rev2.0片内总线由ARM公司开发,是业内广泛流行的一种工业标准片内总线。

1 AHB/VCI Wrapper设计思想
    它包含两部分:AHB-initiator-Wrapper和AHB-target-Wrapper,如图1所示。从而实现AHB主设备与VCI从动方以及AHB从设备与VCI主动方之间的协议相互转换。


    AHB-initiator-Wrapper负责把VCI请求转换成AHB周期请求,此时,它在AHB总线方相当于一个AHB主设备,在VCI方相当于一个VCI从动方。由于AHB-initiator-Wrapper具有AHB主设备特性,因此它在实际应用中可被例化为多个VCI主设备接口。
    AHB-target-Wrapper负责把AHB传送转换成VCI传送,此时,它在AHB总线方相当于一个AHB从设备,在VCI方相当于一个VCI主动方。同样,由于AHB-target-Wrapper具有AHB从设备特性,因此它在实际应用中可被例化为多个VCI从设备接口。
1.1 AHB initiator Wrapper的设计
    AHB-initiator-Wrapper负责接受VC主动方发出的请求,并控制AHB总线(作为总线主设备)完成传送。尤其是,AHB-initiator-Wrapper要负责向AHB总线仲裁器请求总线所有权,得到总线以后,启动AHB上的传送并处理相应的AHB传送反应,最后完成数据传送。
1.2 AHB initiator Wrapper的总体构架
    本设计中的AHB-initiator-Wrapper采用同步化电路机制解决了VCI主动方设备与AHB总线之间的速率匹配问题,图2给出了该设计的总体构架。它主要包含五部分:BVCI请求握手控制单元、BVCI响应握手控制单元、请求内容FIFO、响应内容FIFO和AHB主设备控制引擎。

[!--empirenews.page--]
    BVCI请求握手控制单元按照BVCI请求握手协议接受来自BVCI主动方的请求内容信息,并把它们插入请求内容FIFO(速率不匹配情况)或直接传送到AHB控制一侧(速率匹配情况)。
    BVCI响应握手控制单元从响应内容FIFO中取出BVCI响应内容信息,并按照BVCI响应握手协议把它们驱动到BVCI主动方。
    请求内容FIFO是一个异步FIFO(写端口与读端口分别工作在不同的时钟域),它只有当VCI主动方设备和AHB总线之间速率不匹配时才工作。
    响应内容FIFO为一个异步/同步模式可配置的FIFO,当VCI主动方设备和AHB总线之间速率不匹配时,它工作在异步模式(写端口与读端口分别工作在不同的时钟域)否则FIFO工作在同步模式(写端口与读端口工作在同一时钟域),只需完成BVCI响应内容信息的缓存功能即可。
    AHB主设备控制引擎在BVCI和AHB之间进行控制信号的转换。还支持AHB主设备所具备的对总线异常传送(错误、重试传送)情况的处理能力。
1.3 AHB target Wrapper的设计
    AHB-target-Wrapper作为一个AHB从设备,其主要作用是把AHB传送转换为符合VCI协议的传送。
1.4 AHB target Wrapper的总体构架
    图3给出了AHB-target-Wrapper的总体构架,它由各种控制逻辑、数据通路、数据缓冲单元和寄存器组成,主要包含十三部分:寄存器块、AHB从设备读写控制逻辑、地址/控制信息FIFO、写数据FIFO、读数据FIFO、VCI主动方引擎、VCI响应处理机、比较器、包计数器、同步装置、写数据路径选择复用器、读数据路径选择复用器和中断逻辑。


    (1)寄存器块完成对AHB-target-Wrapper的配置和控制以及对其当前工作状态的反应。
    (2)AHB从设备读写控制逻辑,具备AHB总线从设备的控制功能。
    (3)地址/控制信息FIFO主要用来存放AHB传送单元的地址/控制信息,以起到缓冲目的。
    (4)写数据FIFO主要用来存放进行写操作时的数据,以起到写数据缓冲目的。
    (5)读数据FIFO主要用来存放进行读预取操作时的数据,以起到读数据预取目的。它也是一个双端口的同步/异步可配置FIFO(一个写端口,一个读端口),当AHB总线和VCI从动方设备之间速率不匹配时工作在异步模式下,匹配时工作在同步模式下,同步/异步模式的切换可通过配置寄存器来实现。
    (6)VCI主动方引擎把符合AHB传送协议的地址/控制信息转换为符合BVCI标准的请求内容信息,并按照BVCI请求握手协议把请求内容信息驱动到VC从动方设备。
    (7)VCI响应处理机按照BVCI响应握手协议接收由VCI从动方设备返回的响应内容信息,并进行相应的处理。
    (8)比较器用于读预取操作情况,比较正在进行的读预取操作和AHB上新发来的读操作是否为同一个读交易。
    (9)包计数器用来统计当前VCI主动方引擎发出的多个BVCI请求包中没有被响应的请求包个数,其主要目的是为VCI主动方引擎提供有关当前请求包是否正在被响应的信息。
    (10)同步装置在两个时钟域的交叉处,即从HCLK到VCLK域和从VCLK到HCLK域的两个数据流方向上,分别对内部控制信号进行同步。
    (11)写数据路径选择复用器根据AHB的传送单元大小、字节地址和地址大小端模式来选择AHB写数据总线上相应的字节通道并把它复制到没选通的字节通道上。
    (12)读数据路径选择复用器根据BVCI响应字节使能(按照一定的算法,由AHB读交易的传送单元大小、第一个传送字节地址以及BVCI的地址模式自动转换生成)来选择BVCI读数据总线上相应的字节通道并把它复制到没选通的字节通道上。
    (13)中断逻辑当内部电路在执行写操作过程中发生传送错误时,产生错误中断源,同时根据中断屏蔽寄存器来决定相应的中断源是否开放,根据中断清除寄存器来清除相应的中断源。

2 AHB/VCI、Wrapper的硬件实现
    本文分别给出了AHB-initiator-Wrapper和AHB-target-Wrapper的总体构架,并对两者内部的各个功能模块及控制部件的结构设计进行了详细叙述,同时对两者的可配置性也进行了充分考虑。在本章最后,对AHB/VCI Wrapper进行了RTL级Verilog硬件建模并进行了初步的门级综合及电路规模预估。
[!--empirenews.page--]
3 验证平台的搭建
    本节的BFM模型主要任务就是利用这些模型来搭建验证平台。
    把AHB主设备BFM模型、VCI从动方BFM模型、系统时钟及复位产生模型、待测设计AHB-target-Wrapper模块和AMBA总线控制器进行适当组合,集成在一起便可构成验证平台,如图4所示。这个过程需要由TestBencher Pro工具来完成,因为该工具可以很好地控制BFM模型中每个命令函数的调度和执行顺序,其自动化程度是比较高的。剩下需要由设计者做的事情是,根据待测设计AHB-target-Wrapper的测试要求,编写平台脚本来合理安排BFM模型中每个命令函数的调度和执行顺序,然后以文件形式输入到验证平台中即可开始进行验证。该验证平台通过Test Bencher Pro工具生成之后,也可以移植到别的模拟器环境中运行。


    需要说明的是,验证平台中的AMBA总线控制器是经过事先充分验证的,而且该验证平台在对其他待测模块进行验证的同时也是对AMBA总线控制器的有效考验。
    该验证平台除了可以验证待测设计AHB-target-Wrapper外,还可以验证其它AHB从设备和APB从设备功能模块。如果在该验证平台中再加入一个AHB从设备BFM模型和总线协议监视器,便可形成一个功能齐全的验证平台,既可验证AHB主设备又可验证AHB从设备和APB从设备,同时还可及时检测是否发生总线传送协议错误。
    当验证平台搭建好后,需要由设计者针对待测模块的测试要求,编写相应的测试激励,来完成最后的设计验证。


    对应这段测试激励的模拟波形如图5所示,最后的log文件显示结果中除了预设的警告外,没有错误发生,说明待测设计AHB-target-Wrapper对这段测试激励模拟正确通过。

4 结论
    本文主要介绍了利用总线功能模型进行设计验证的思想,在设计验证中使用了SynaptiCAD公司时序验证工具;通过TestBencher Pro工具完成其功能验证,应如何建立它所需要的BFM模型以及如何搭建其验证平台,同时说明了该验证平台具有很好的可复用性;最后给出了测试激励的编写方法及相应的模拟结果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭