【问题标题】:Generating truth tables for basic logic circuits为基本逻辑电路生成真值表
【发布时间】:2016-04-28 18:38:36
【问题描述】:

假设我有一个如下所示的文本文件:

<number> <name> <type> <inputs...>
1   XOR1    XOR     A   B
2   SUM     XOR     1   C

为该电路生成真值表的最佳方法是什么?

【问题讨论】:

    标签: language-agnostic logic boolean-logic


    【解决方案1】:

    这取决于你有什么可用的,以及你的文件有多大。

    Perl 针对读取文件和生成简单文本输出进行了优化。它没有布尔运算符库,但它们很容易编写。如果我只是想要输入文本、输出文本,我会使用它。

    如果我想在线显示数据并生成结果文件,我会使用 PHP 读取数据并将表格写入 CSV 文件,该文件可以在 Excel 中打开,也可以在 HTML 表格中在线发布。

    如果您的数据在一个非常大的数据文件中,我会使用 SQL。

    如果您的数据位于一个非常大的文件中,您希望授权用户可以在线访问,并且您希望他们能够创建真值表,我会使用 Oracle 的 APEX 创建一个简单的界面供他们构建他们自己的真值表并在不更改数据的情况下处理数据。

    如果您处于电气工程环境中,请使用专为您的问题设计的工具——Verilog 或类似工具。

    得到了什么?你想用它做什么?

    -- 艾达

    【讨论】:

    • 我更喜欢使用 C#。我已经有了“解析”输入文本文件的代码。我只是不知道从实际“模拟”它的角度开始。输出可以只是一个带有输入和输出值的文本文件
    【解决方案2】:

    我更喜欢使用 C#。我已经有了“解析”输入的代码 文本文件。我只是不知道从哪里开始 实际上“模拟”它。输出可以只是一个文本文件 带有输入和输出值 - Don 12 分钟前

    您要在电路中模拟多少个输入和多少个输出?

    模拟的大小决定了它最容易运行的方式。如果电路很小(ish),您可以将输入和电路值输入向量数组,然后将它们交叉以获得输出矩阵。

    Matlab 非常适合这种情况,因为它是为处理数组而编写的。

    再次:你得到了什么,你想用它做什么?

    -- 艾达

    【讨论】:

    • 它必须在一定程度上是“动态的”。我只需要一些关于如何实际模拟逻辑的指示。即,我如何将我在 OP 中的文本文件之类的东西变成:(A XOR B)XOR C. 或其他东西
    • 文件有多大?
    • 在 C# 中,xor 表示法是 --a^b -- 这就是你真正需要的吗?只是为了看符号?或者您是否需要代码来读取文件、处理其内容并将其写入新文件?
    • 不,我需要关于如何将文本文件变成“电路”的建议。我给出的文本文件只是一个例子。我有读取文件和处理内容的代码。我希望能够将内容“转换”为真值表。所以如果我以我给出的文件为例,我想把它变成:(A XOR B) XOR C,然后输出真值表。
    • 下载 Verilog。它非常容易学习,并且旨在完全按照您的需要完成。
    猜你喜欢
    • 2012-12-17
    • 2010-10-31
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多