通过在一个架构中使用具有相同灵敏度列表的多个进程,是否会产生任何不良影响?
我在架构中并行发生了几个进程,一个进程从主机读取输入作为从机写入输入,一个用于在主机请求和一个计算时将输出写回主机。所有进程都是时钟进程,其灵敏度列表仅包含复位和时钟信号。
每个进程写入自己的信号,其他进程可以从中读取信号,即没有两个进程写入同一信号的实例。
可以在一个大的过程中实现所有内容,但它会更麻烦。
这种实施是否会产生任何不利影响?
是否有任何理由支持不那么优雅的大型流程而不是几个较小的流程?
答案 0 :(得分:2)
完全没有。我的大部分流程都有相同的敏感度列表:(reset, clock)
,这并不罕见。
如果一个大流程真的不那么优雅,并且使用多个较小流程的实现真正更清晰,更容易理解,那么请继续设计。
我倾向于在我的设计中使用更少,更大的流程,但是将它们放在不连续的部分中以便更容易在流程中分离功能,但这不是一个具体的规则:我不会在一个独立的状态机中实现例如,单个过程。
我建议反对的是经常看到的两种风格:
如果我理解你的描述你有3个块:接收器,数据处理器,发射器;这听起来像是一个很好的功能分离给我。 例如,如果它们是单独的进程(甚至是单独的实体),您可以更轻松地替换接收器或发送器,或者将它们与不同的数据处理器一起使用。