我需要在C++中创建一个基于输入/输出的数字电路仿真。
输入以一系列元素(或、and、nand等)的形式给出。并且作为那些元件的管脚之间的连接列表(即,元件1的输入管脚1连接到元件2的输出管脚)。
源被认为是一个只有一个输出引脚的元素,在输入文件的末尾,描述了源,比如它是周期性的,还是在随机时刻自定义为1或0。
探头在电路的末端,它被认为是一个只有一个输入引脚的元件,它自然地检查信号的值在任何时间点是0还是1。
所以我的问题是,如何创建表示电路的数据结构?它可以像元素的连接列表一样,或者每个元素都应该有指向其他元素的指针吗?如何在整个电路模型中传输信号?
发布于 2012-02-03 22:53:41
类Component { imlpementations.
发布于 2012-11-30 00:15:12
您所描述的是一种称为"Flow-Based Programming“的编程范例。
如果您感兴趣,我已经开发了一个名为DSPatch (或“C++”)的基于调度的面向对象的编程库。通用的面向对象的API允许您创建和路由几乎任何类型的工艺链,从基本的逻辑电路到全面的电子模拟。它快速,非常容易使用,并且对个人/专有使用免费。
发布于 2012-02-03 22:41:44
我要说的是,你应该寻找一种类似于图的结构。您可以添加一个字段,指定其是否处于活动/打开状态,并将所有传入数据转发到活动的相邻节点。但这可能会在AN方向上走得更远一点。
https://stackoverflow.com/questions/9130395
复制相似问题