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

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

3天内不再提示

控制类寄存器的两种实现方式

ruikundianzi 来源:IC的世界 作者:IC的世界 2023-10-17 10:36 次阅读

1.控制类寄存器2种实现方式

在数据处理过程中,需要一些可配置的寄存器,用于控制数据处理过程中的行为,如果各类处理信号的使能信号,还有功能模块的特定控制信号。

例如:在ETH处理过程中,有数据流使能控制,最大包长度控制信号。

例如:在PCIE中,存在bus master enable信号,max payload size等控制信号。

那么这类可配置的控制类寄存器是如何在数据处理过程中起作用的呢?有哪些实现方式呢?

下图所示,data_in为输入数据,data_out是处理后的数据,处理过程中data_proc_a/b/c需要用到控制寄存器对处理进行处理,client_id表示data的用户id号,模块采用时分复用的方式处理不同id的data。

f2de41c6-6c56-11ee-939d-92fbcf53809c.png

2.实现方式1: 寄存器信号线输出:

通过寄存器信号线的方式输出给需要的模块,如图方式1,cfg module把所有的控制信号都暴露出来,送给需要的模块data_proc_a/b/c,data有效时,根据client_id选择需要的控制信号。

优点:

此类设计简单,容易理解与实现。

此设计限制小,可以用于各类情况下的设计

缺点:

控制信号线较多,高频设计不利于布局布线

不利于规模扩展,例如client_id数量从8增加到800时,寄存器的数量会大量增加,且800选1的逻辑延时较大。

3.实现方式2: 逻辑通过类ram接口主动获取

此设计中,控制寄存器以ram(或者类似)的方式实现,数据处理模块data_proc_a主动读取控制信号,当有效数据来临时,以client_id作为rdaddr读取,一次读取处理流程中所需的控制信号(rdata),进行数据处理,并且将控制信号(rdata)进行pipe与data对齐,提供给后期模块data_proc_b/c

优点:

规模扩展方便,例如client_id数量从8增加到800,仅仅需要修改cfg_ram的规模,重新定义一下cfg_ram读地址位宽,data_proc_a/b/c仅仅需要修改client_id位宽参数

控制信号线较少,有利于时序优化和布局布线

缺点:

此设计适用于数据的pipeline处理,并且ram读出存在一定的读延时,存在一定限制。

审核编辑:汤梓红

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

    关注

    31

    文章

    5342

    浏览量

    120297
  • 接口
    +关注

    关注

    33

    文章

    8588

    浏览量

    151098
  • 信号
    +关注

    关注

    11

    文章

    2791

    浏览量

    76744
  • PCIe
    +关注

    关注

    15

    文章

    1237

    浏览量

    82620

原文标题:IC设计:控制类寄存器2种实现方式

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    寄存器是什么?怎么操作寄存器点亮LED灯?

    寄存器,是集成威廉希尔官方网站 中非常重要的一存储单元,通常由触发组成。在集成威廉希尔官方网站 设计中,寄存器可分为威廉希尔官方网站 内部使用的寄存器和充当内外部接口的
    的头像 发表于 07-21 16:59 4027次阅读
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>点亮LED灯?

    寄存器寻址方式

    寄存器寻址方式   寄存器寻址是对由指令选定的工作寄存器(R0--R7)进行读/写,由指令操作码字节的最低3位指明所寻址的工作寄存器
    发表于 03-14 15:29 2803次阅读

    实现ARM9与FPGA的并口通信的两种方式

    并口通信是最常用基础功能,实现ARM9与FPGA的并口通信有两种方式,一颇为巧妙,利用SMC(Static Memory Controllor),其中的使能点都通过
    发表于 06-17 09:41 6418次阅读

    C语言访问MCU寄存器两种方式实现

    ICCAVR和GCCAVR没有定义新的数据类型,只能采用标准C的强制类型转换和指针来实现访问MCU的寄存器。而IAR和CodeVisionAVR编译对ANSI C进行了扩充,都定义了新的数据类型,是C语言可以直接访问MCU的有
    的头像 发表于 03-12 11:20 6705次阅读

    单片机的两种清0方式有什么区别

    阅读单片机文档的时候一般寄存器是rw类型,还有一些是r或者w,对于一些特殊寄存器的置1是由硬件自动实现的,比如标志位flag、中断int,但清0还是需要通过软件进行操作,清0方式
    发表于 11-02 09:00 2726次阅读

    C语言访问MCU寄存器两种方式

    单片机的特殊功能寄存器SFR,是SRAM地址已经确定的SRAM单元,在C语言环境下对其访问归纳起来有两种方法。
    发表于 04-11 06:01 10次下载
    C语言访问MCU<b class='flag-5'>寄存器</b>的<b class='flag-5'>两种</b><b class='flag-5'>方式</b>

    MSP430单片机的两种SPI总线实现方式

    MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现。二者的抽象层次不同,硬件实现
    发表于 11-19 15:51 9次下载
    MSP430单片机的<b class='flag-5'>两种</b>SPI总线<b class='flag-5'>实现</b><b class='flag-5'>方式</b>

    如何实现C语言访问MCU寄存器?掌握这两种方式就够了!

    单片机的特殊功能寄存器SFR,是SRAM地址已经确定的SRAM单元,在C语言环境下对其访问归纳起来有两种方法。1、采用标准C的强制类型转换和指针来实现采用标准C的强制转换和指针的概念来实现
    发表于 11-21 19:21 14次下载
    如何<b class='flag-5'>实现</b>C语言访问MCU<b class='flag-5'>寄存器</b>?掌握这<b class='flag-5'>两种</b><b class='flag-5'>方式</b>就够了!

    控制寄存器2实现方式

    下图所示,data_in为输入数据,data_out是处理后的数据,处理过程中data_proc_a/b/c需要用到控制寄存器对处理进行处理,client_id表示data的id号,模块采用时分复用的方式处理不同id的data。
    的头像 发表于 09-05 14:54 1419次阅读

    浅谈S7-200两种寻址方式

    在S7-200系列中,寻址方式分为两种:直接寻址和间接寻址。直接寻址方式是指在指令中直接使用存储寄存器的元件名称和地址编号,直接查找数据
    的头像 发表于 10-09 16:43 3392次阅读

    控制器有哪两种实现方式?各有何优缺点?

    介绍这两种实现方式的优缺点。 硬件控制器 硬件控制器是一使用专用硬件威廉希尔官方网站 来
    的头像 发表于 06-30 10:33 1244次阅读

    寄存器分为基本寄存器和什么两种

    寄存器是计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本
    的头像 发表于 07-12 10:31 1344次阅读

    寄存器寻址的实现方式

    在计算机体系结构中,寄存器寻址是一常见的寻址方式,它允许程序直接访问CPU内部的寄存器寄存器寻址可以提高程序的执行效率,因为它避免了对内
    的头像 发表于 07-12 10:36 651次阅读

    寄存器寻址和直接寻址的区别

    寄存器寻址和直接寻址是计算机指令系统中的两种基本寻址方式。它们在指令的执行过程中起着至关重要的作用,决定了指令操作数的来源和目标。下面我们将介绍这两种寻址
    的头像 发表于 07-12 10:42 1730次阅读

    寄存器间接寻址和寄存器寻址的区别

    寄存器间接寻址和寄存器寻址是计算机体系结构中两种重要的寻址方式,它们在指令执行过程中起着关键作用。下面将从定义、原理、特点、应用场景以及区别等方面对这
    的头像 发表于 10-05 17:13 1402次阅读