正交性

本文探讨了正交性在软件及硬件设计中的重要性,解释了如何通过模块化降低耦合性,提高代码及硬件设计的效率与稳定性。文章提供了具体的划分模块的原则,并举例说明了在不同总线接口上的UART设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正交性是软件开发中常遇到的一个词。其意义代码的偶合性要低,修改一个模块,不会影响另一个模块。

正交性的意义在于,如果代码满足正交性,可以提高生产率和降低风险。

满足正交性的代码,修改一个模块,不会对其他模块有影响,只需要测试1个模块就可以了,如果模块间

有影响,测试用例就和影响的范围相关,其数目可能远远超过1个模块的测试用例。

 

硬件设计也应该有正交性。比如挂在总线上的模块,最好都有一个bridge模块,把总线上的操作都转换为

SRAM接口的时序操作。当更改总线后,只需要修改bridge模块就可以了,其他设计不用修改。

 

硬件设计中,怎么根据正交性的原则来划分模块呢?

 

1,根据通用性/特殊性划分

如挂在 AHB上的uart和挂在APB上的uart.通过性是都是实现uart的功能,特殊性是总线接口不一样,所以

把总线接口从uart的功能实现中分出来,两者之间的接口要按照通用性设计,不和总线类型相关

 

2. 根据偶合性划分

降低各个模块间的偶合性,减少各个模块之间的交互.且接口简洁明了.

如果两个模块间相互的依赖关系很强,且多次交互才能完成1件事情,那这样的模块划分就不是一个好的划分

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值