0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析MIPS内核的HDTV-SoC平台总线接口模块

电子工程师 来源:《计算机工程》 作者:周波,孙军 2021-04-07 09:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

“介绍了使用MIPS32TM4KcTM处理器作为CPU内核的高清晰度电视(HDTV)SoC平台,着重提出了该平台上系统总线接口(HIF)模块的设计方案。并通过仿真和综合实验,验证了该模块能够达到系统总体设计的要求。”

在系统级芯片(SoC)的设计当中,MIPS的RISC处理器是一种应用非常广泛的嵌入式CPU,它具有高性能、低功耗的特点,可以很方便地集成到一个完整的片上系统之中,使开发者能够专注于用户IP模块的设计。MIPS架构的处理器占据了数字机顶盒微处理器和解码器用CPU架构市场领域的领先地位。在MIPS家族的产品当中,32位的4KcTM处理器是具有代表性的一款,它采用了MIPS32的CPU架构,支持MIPS IITM指令集。在本文介绍的SoC系统设计中,就采用了MIPS32TM4KcTM处理器作为芯片的CPU内核。

在当前的数字消费电子市场领域,基于SoC平台的HDTV芯片是所有数字电视接收及播放设备的核心器件。SoC芯片具体到HDTV解码系统,就是把MPEG-2解复用(DeMux)、音视频解码(AVD)、视频格式转换(VTP)、画面后处理(OSD)以及接口I/O控制等功能模块都集成在一块芯片上。而要把众多功能复杂的系统控制模块和用户IP模块集成到一个芯片上并使其能够协调工作,就必须设计好各个模块之间的接口。本文针对高清数字电视SoC平台的项目,提出了系统总线接口模块(Host Bus Interface,HIF)的设计方案,并进行了仿真实验。

HIF模块在系统中的主要功能

HDTV-SoC平台是一个功能强大、结构复杂的系统,本文重点介绍了SoC架构中片上总线控制器的设计。片上总线能够提供针对特定应用的灵活多样的集成方法,它需要结构简单,速度快捷,在单芯片中实现多资源互联。HDTV-SoC系统的总线结构如图1所示。它分为3个层次,即与MIPS处理器接口的Ec总线(EcInterface)、系统总线和外围总线。

由图1可见,HIF模块在系统中所处的位置是十分关键的,它是系统总线(Host Bus)和各个IP模块以及周边I/O模块之间的接口单元,即系统总线和外围总线之间的桥梁,在系统中起着“承前启后”的作用,是CPU和外部模块之间数据交换的重要通道。具体而言,HIF模块主要完成3大功能,分别为外部模块W/R寄存器的设置和状态寄存器的读取、外部模块双口RAM的读写控制、外部模块中断的控制和管理。

o4YBAGBtCTqAPeG0AABwkiJ7rCI650.png

电路功能模块设计

由上文所述可知,HIF电路设计主要分为3个模块:寄存器读写模块,双口RAM读写模块和中断处理模块。

寄存器读写模块

CPU和外部模块之间进行数据交互的一个重要方式就是通过寄存器的读写,实现对外部模块功能的控制和初始化。系统总线按照规定的时序读写HIF模块内部的寄存器资源,这些寄存器的每个比特位以连线的方式直接与外部模块互连。HIF模块在接收到系统总线过来的地址和数据之后,首先进行地址译码,选择相应的寄存器,再将数据写入。图2为该模块的逻辑框图。

MIPS的4Kc处理器支持猝发(burst)操作,所谓猝发操作是指在给出首地址之后,可以连续进行多个读写操作,而无须再给出每次操作的相应地址。在总线上,一个猝发指令与单个操作指令一样,只占用一个时钟周期。HIF模块在处理猝发操作时,将一个猝发指令转换为4个单周期指令,在转换之后,要保证从总线上过来的写数据与其相应的指令同步。

这样在猝发操作时,从寄存器组的角度看到的写数据与指令是同时发生的,尽管实际情况并不是这样。而要实现这种猝发操作,就必须引入一种FIFO机制。FIFO的深度为4,这与4Kc处理器所支持的猝发长度是一致的。在系统复位之后FIFO清空,可以随时接收总线上的猝发数据。在系统正常工作时,FIFO模块分别通过“in”和“out”指针来指示输入和输出的数据,以跟踪FIFO的使用情况。FIFO还需要用到一个“bypass”信号来确定是否旁路该模块,这发生在单个指令操作的情况下(bypass=‘1’),这时数据是绕过FIFO而直接通向寄存器的。FIFO机制的逻辑框图见图3。

双口RAM读写模块

在与系统总线的接口逻辑方面,RAM读写模块与寄存器读写模块是类似的,这里不再赘述。不同之处在于与外部模块的接口逻辑,寄存器读写模块是采用直接连线的方式,而RAM读写模块则必须满足相应的双口RAM的接口时序。在本设计中,选用了SMIC的0.18µm库的双口RAM单元作为模型。该模型的接口时序如图4所示,包括了读时序和写时序两种情况。

中断控制模块

中断控制模块负责处理由DeMux、VD、GPIO等外部模块的中断源所发出的中断,对于系统来说,如何使产生的中断尽快得到响应是一个关键的问题。在图1中可以看到MIPS4Kc处理器所提供的中断引脚的连接情况,有关其引脚的说明如表1所示[1]。

表1 MIPS4Kc处理器中断引脚描述表

习惯将SI_TimerInt信号接到SI_Int[5]引脚,就像图1中所显示的那样。这样4Kc处理器的外部中断引脚就剩下5根,即SI_Int[4:0]。在本设计中,将系统外部中断分为5级,按照SI_Int[0]到SI_Int[4]的顺序优先级从高到低排列。针对每个外部模块,也将其所有的中断源分为5级,反映到每个模块的输出是一个5比特的寄存器XInt[4:0],同样,按照XInt[0]到XInt[5]的顺序中断优先级从高到低排列。假设系统有N个外部模块,则各个模块输出的XInt之间相或即得到SI_Int的输入,这些逻辑在TopInt模块中实现,如图5所示。

需要说明的是,TopInt模块本身也被当作系统的一个外部模块,系统可以对其进行与其它模块相同的寄存器读写操作。这样CPU在处理外部中断时,就可以通过读取XIntn寄存器的内容,追溯中断的产生源。另外,在每一个外部模块内部,设置5个32位的中断请求寄存器IRQREG0~IRQREG4和5个32位的中断屏蔽寄存器MSKREG0~MSKREG4。

当MSKREGn寄存器中的某个比特位被置“1”时,则IRQREGn寄存器中相应比特位的中断被屏蔽。在每一个IRQREGn寄存器当中,32个比特位之间相或即得到该模块相应XInt寄存器中的第n比特位的值。由此也可以看出,按照IRQREG0到IRQREG4的顺序,中断优先级从高到低。它们之间的逻辑关系如图6所示。

另外,为了便于CPU的访问,所有这些寄存器在模块中都有编址。这样对于任意一个中断,最多通过两次查询CPU就可以获知产生该中断的中断源。

仿真与综合

设计的仿真工作是分两部分进行的。各模块先单独仿真,待波形正确后再各模块联调。在编制TESTBENCH时,分别在不同的文件当中处理不同的工作情况。具体到HIF模块,仿真主要完成如下方面的验证:寄存器的写入和读取、双口RAM的写入和读取以及中断的产生和获取。在设计中,采用VHDL语言编写代码,以及Mentor公司的ModelSimSE5.7工具进行编译和仿真。在仿真时,SMIC库提供的双口RAM模型作为外部模块挂接在系统中,模型的接口时序与图4中所示的完全一致。图7为节选的HIF模块仿真波形。

由于整个SoC系统的设计工作尚处于FPGA验证阶段,因此在综合时选用Xilinx公司的ISE6.1软件中自带的XST综合工具,FPGA器件选择Virtex-E系列的XCV2000E。综合后的结果报告如表2所示。

表2 综合结果报告表

总结

由仿真和综合的实验结果可以看出,HIF模块的设计可以满足系统在功能上的要求,而且综合后的模块所占用的FPGA的面积和资源的比例都很小,有些甚至可以忽略不计,因而不会影响到系统中其它模块的设计与实现。而综合后的主工作频率为116.959MHz,完全满足设计要求。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20378

    浏览量

    255604
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1404

    浏览量

    121213
  • fifo
    +关注

    关注

    3

    文章

    407

    浏览量

    45963
  • GPIO
    +关注

    关注

    16

    文章

    1337

    浏览量

    56589
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MasterINTERFACE 39系列继电器接口模块:功能、应用与选型解析

    MasterINTERFACE 39系列继电器接口模块:功能、应用与选型解析 一、引言 在电子系统设计中,继电器接口模块是实现信号转换、隔离
    的头像 发表于 05-15 10:05 436次阅读

    SN54ACT1284与SN74ACT1284:7位总线接口的详细解析

    SN54ACT1284与SN74ACT1284:7位总线接口的详细解析 在电子设计领域,选择合适的总线接口芯片至关重要。SN54ACT128
    的头像 发表于 04-23 09:30 502次阅读

    Arteris 与 MIPS 达成合作,携手加速物理 AI 平台开发

    IP、工具、软件及解决方案提供商 MIPS 达成合作,携手加速构建物理 AI 计算平台MIPS 已采用Arteris FlexGen 智能片上网络(NoC) IP 与 Magillem S
    的头像 发表于 04-22 17:38 1205次阅读
    Arteris 与 <b class='flag-5'>MIPS</b> 达成合作,携手加速物理 AI <b class='flag-5'>平台</b>开发

    SN74LVC161284 19位总线接口芯片深度解析

    SN74LVC161284 19位总线接口芯片深度解析 在电子设计领域,选择合适的总线接口芯片对于实现高效、稳定的数据通信至关重要。今天,我
    的头像 发表于 04-18 12:15 274次阅读

    WIFI6 SOC模块介绍解析

    更高集成度的 WiFi SOC 模块 方向发展。 WiFi SOC 模块通过在单一模块内集成处理器、无线通信单元以及网络协议能力,使无线
    的头像 发表于 01-29 16:49 507次阅读
    WIFI6 <b class='flag-5'>SOC</b><b class='flag-5'>模块</b>介绍<b class='flag-5'>解析</b>

    【「龙芯之光 自主可控处理器设计解析」阅读体验】--LoongArch的SOC逻辑设计

    本书第二章以SOC BX2004讲述了LoongArch的SOC逻辑设计。 芯片使用130nm CMOS工艺,CPU内核工作频率120MHz,内存总线工作频率81MHz,功耗小于250
    发表于 01-18 13:45

    Linux内核模块的加载机制

    ) __versions 内核符号版本校验数据 __ksymtab导出的符号表 .init.text 初始化函数(模块加载时执行) .exit.text 清理函数(模块卸载时执行)首先解析
    发表于 11-25 06:59

    fpga嵌入e203内核搭建soc如何实现通信功能?

    在fpga嵌入e203内核实现以太网,开发板有PHY芯片LAN8720A,怎么搭建soc,如何使用总线,实现通信功能?
    发表于 11-10 06:54

    易灵思Sapphire SoC中RISC-V平台级中断控制器深度解析

    随着 RISC -V处理器在 FPGA 领域的广泛应用,易灵思 FPGA 的 Sapphire RISC-V 内核凭借软硬核的灵活支持,为开发者提供多样选择。本文深入探讨 Sapphire SoC 中 RISC - V 平台
    的头像 发表于 11-08 09:35 8187次阅读
    易灵思Sapphire <b class='flag-5'>SoC</b>中RISC-V<b class='flag-5'>平台</b>级中断控制器深度<b class='flag-5'>解析</b>

    蜂鸟E203 SoC的私有设备总线的简单使用

    BIU模块接收IFU和LSU单元的存储器访问请求,判断访问地址区间后,通过ICB接口来访问外部的不同接口,比如系统存储接口和私有外设接口。系
    发表于 10-30 07:51

    利用蜂鸟E203搭建SoC【1】——AXI总线的配置与板级验证

    由于Vivado中Block Design的友好的ui界面以及丰富的IP资源,在FPGA上实现SoC大多会采用Block Design进行设计与实现。对于基于蜂鸟e203内核SoC设计,为了使其
    发表于 10-30 07:35

    人脸识别和AES加密协同的SOC设计架构

    这个是我们整体的架构图。我们SOC主要包括了三个模块组,计算核心组,系统外设组,数据外设组。计算核心组包括了RISCV内核,RISCV内核中集成了一个ITCM和DTCM的指令存储器和数
    发表于 10-29 08:21

    基于hbirdv2的APB总线添加外设(一)

    了icb2apb模块,即完成了ICB总线到APB总线的转换,然后再将APB接口对应的外设挂在了APB总线上。其余的GPIO、SPI、IIC等
    发表于 10-29 07:26

    PIC32MZ W1系列Wi-Fi SoC技术解析与应用指南

    Microchip Technology PIC32MZ W1片上系统 (SoC) 是高性能Wi-Fi MCU SoC,具有MIPS M级内核、稳健连接和用于软件开发的2MB内存。除
    的头像 发表于 10-09 11:47 1124次阅读
    PIC32MZ W1系列Wi-Fi <b class='flag-5'>SoC</b>技术<b class='flag-5'>解析</b>与应用指南

    2025全球工业总线转换模块选型指南:厂家技术对比与应用方案解析

    。2025年,全球工业总线转换模块市场竞争日益激烈,各大品牌厂商通过技术创新和产品优化占据市场份额。本文基于权威性数据平台(如MarketsandMarkets、Statista、Frost & Sullivan)的分析,系统盘
    的头像 发表于 06-13 16:36 858次阅读