专栏名称: 嵌入式微处理器
关注这个时代最火的嵌入式微处理器,你想知道的都在这里。
目录
相关文章推荐
安徽省人民政府网  ·  最高25℃!安徽气温大回暖就在下周 ·  昨天  
安徽省人民政府网  ·  最高25℃!安徽气温大回暖就在下周 ·  昨天  
国际旅游岛商报  ·  刚刚通知!海口这些区域或停水→ ·  3 天前  
吉林省消费者协会  ·  【消费提示】这份关于学生书包的消费提示请查收 ·  3 天前  
吉林省消费者协会  ·  【消费提示】这份关于学生书包的消费提示请查收 ·  3 天前  
华人生活网  ·  伊州地毯清洁工4.99美元淘的盘子,竟是中国 ... ·  3 天前  
华人生活网  ·  伊州地毯清洁工4.99美元淘的盘子,竟是中国 ... ·  3 天前  
51好读  ›  专栏  ›  嵌入式微处理器

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

嵌入式微处理器  · 公众号  ·  · 2024-06-18 13:08

正文

控制类寄存器2种实现方式:
在数据处理过程中,需要一些可配置的寄存器,用于控制数据处理过程中的行为,如果各类处理信号的使能信号,还有功能模块的特定控制信号。
例如:在ETH处理过程中,有数据流使能控制,最大包长度控制信号。
例如:在PCIE中,存在bus master enable信号,max payload size等控制信号。
那么,这类可配置的控制类寄存器是如何在数据处理过程中起作用的呢?有哪些实现方式呢?
如下图所示,data_in为输入数据,data_out是处理后的数据,处理过程中data_proc_a/b/c需要用到控制寄存器对处理进行处理,client_id表示data的用户id号,模块采用时分复用的方式处理不同id的data。

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

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

优点:

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

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

缺点:

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

  • 不利于规模扩展,例如client_id数量从8增加到800时,寄存器的数量会大量增加,且800选1的逻辑延时较大。
实现方式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读出存在一定的读延时,存在一定限制。

END

来源:IC芯视界

版权归原作者所有,如有侵权,请联系删除

推荐阅读
一个风骚的C语言操作






请到「今天看啥」查看全文