棋子 · 2023年09月15日

IC设计:一种IP控制信号的处理方式

在ASIC/FPGA项目中,我们会用到很多IP,其中有很多IP存在内部控制信号以及内部状态信号。这些控制信号和内部状态信号影响数据流的接收和发送。

以PCIe为例,蓝色框图部分为PCIe用户侧逻辑,是需要用户实现的逻辑。左侧白色为PCIe IP,PCIe内部配置空间有一个控制信号,名为bus_master_en(简写),当bus_master_en为0时,不期望用户逻辑发送dma请求(memory读写请求)。所以在用户逻辑中,我们就需要感知到这些信号的数值,用于控制数据逻辑模块。

image.png

通常我们期望这些信号是可控的,能够灵活配置,既给芯片加了一层保障,又方便debug。即使对IP或者协议的理解有误,也能通过配置规避大部分问题。

那一种很常见的方式就是,添加一个mux,默认情况下,使用ip驱动的控制信号。

如图所示:

    ip_bus_mst_en是ip输出的控制信号。

    app_bus_mst_en用于控制内部数据模块。

    cfg_mst_en和cfg_mst_sel都来自配置csr模块,可灵活配置成0或者1.

   cfg_mst_sel默认值为0,表示选择ip_bus_mst_en,在默认情况下,app_bus_mst_en的数据与ip_bus_mst_en相同

         

    这种设计小技巧在IC项目中比较普遍,但是又时常被忘记。专注细节,才有可能做出一颗好芯片。

作者:IC小鸽
文章来源:IC的世界

推荐阅读

更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
11635
内容数
1230
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息