如何检测门逻辑仿真中的振荡?

2023-12-26

我正在用 C# 编写基于周期的逻辑模拟。我想模拟组合电路和时序电路。组合电路很简单,但顺序电路给我带来了麻烦。

我想检测振荡并显示适当的警告消息。有没有一种简单的方法来检查单个门可以改变其状态多少次并且仍然保持电路稳定?

我考虑过“最小反馈弧集算法”,但这似乎有点矫枉过正。许多桌面应用程序的速度都这么快,所以我怀疑他们是否正在使用它。

我还发现了一篇建议使用三元逻辑(0、1、未知)的论文,并将算法分为两部分——一部分初始化电路,一部分进行实际计算——但它说的是“如果算法 A 不终止电路”有振荡”这给了我任何东西,因为没有办法停止时钟周期并警告用户。

对于“Logisim”或“digitalworks”等应用程序如何检测振荡有什么想法吗?


验证器 http://www.veripool.org/projects/verilator/wiki/Intro是一个逻辑模拟器,通过将可综合的 Verilog 编译为 C 代码来工作。

它尝试构建一个保证稳定的逻辑顺序,但如果失败,它会发出一些 UNOPT 和 UNOPTFLAT 警告,并简单地重复模拟多次,直到没有任何变化。

默认情况下,在报告收敛失败之前使用 100 轮,但这可以使用参数更改收敛极限 http://www.veripool.org/projects/verilator/wiki/Manual-verilator.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测门逻辑仿真中的振荡? 的相关文章

  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 解开 Knuth 的结:如何重构意大利面条式代码?

    这个问题的灵感来自如何将流程图转化为实施 https stackoverflow com questions 36647765它询问如何通过算法消除goto代码中的语句 这answer https stackoverflow com a 3
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • 二维滑动窗口最小值/最大值

    假设我们得到一个大小为 NxN 的像素整数矩阵和一个整数 k 窗口大小 我们需要使用滑动窗口找到矩阵中的所有局部最大值 或最小值 这意味着 如果某个像素与其周围窗口中的所有像素相比具有最小 最大 值 则应将其标记为最小 最大 有一种著名的滑
  • 数学/算法使图像适合屏幕保留纵横比

    我需要数学 算法方面的帮助来拍摄已知尺寸的图像并适合两个屏幕尺寸之一 720 x 480 或 1280 x 1024 图像尺寸来自 XML 文件 但这些尺寸是 Web 尺寸 我还从 XML 中选择了一些图像 这些图像的分辨率可能比 Web
  • 从 1 到 20 亿,像 (23,29) 这样相差 6 的连续素数对的数量

    如何在考虑时间复杂度的情况下从 1 到 20 亿 使用任何编程语言且不使用任何外部库 找到像 23 29 这样相差 6 的连续素数对的数量 尝试过埃拉托色尼筛 但获得连续素数是一个挑战 使用了生成器 但时间复杂度非常高 代码是 def ge
  • 如何优化分割重叠范围?

    我编写的这个 Python 脚本用于将重叠范围拆分为唯一范围 最后一次迭代 https codereview stackexchange com questions 285932 python script to split overlap
  • AStar-名称解释

    我正在寻找 AStar A 算法为何被称为 AStar 的解释 所有类似的 最短路径问题 算法通常都以其开发者的名字命名 那么 AStar 代表什么 有称为 A1 和 A2 的算法 后来证明A2是最优的 实际上也是可能的最好算法 所以他给它
  • 如何衡量字符串的复杂度?

    我有一些长字符串 1 000 000 个字符 每个字符串仅包含定义字母表中的符号 例如 A 1 2 3 示例字符串 string S1 1111111111 meta complexity 0 string S2 1111222333 me
  • 布隆过滤器的使用

    我正在努力理解布隆过滤器的用处 我了解了它的底层逻辑 空间压缩 快速查找 误报等 我只是不能将这个概念应用到现实生活中 因为它是有益的 一种常见的应用是在 Web 缓存中使用布隆过滤器 我们使用布隆过滤器来确定给定的 URL 是否在缓存中
  • 通过排列四个给定数字找到最大可能时间 HH:MM

    我最近为了工作晋升而参加了编码测试 这是我真正遇到的任务之一 我想知道什么是最好的方法来做到这一点 我使用了大量的 if 和 if else 这不是最干净的解决方案 但完成了工作 我被问到的问题是 将 4 个数字格式化为 24 小时时间 0
  • 如何提高洪水填充例程的性能?

    我正在我的应用程序中实现四路洪水填充 伪代码如下 Flood fill node target color replacement color 1 If the color of node is not equal to target co
  • 如何处理数字逻辑模拟器中的循环?

    我正在开发一个数字逻辑模拟器 以便稍后在其中构建我自己的 CPU 所以这是一个长期项目 对于没有循环的电路 例如全加器 一切都非常有效 还有像 SR 锁存器这样的电路 其中一个门的输入连接到另一个门的输出 所以我陷入了循环 因为两个门都需要
  • 数字求和的算法?

    我正在寻找一种数字求和的算法 让我概述一下基本原则 假设你有一个号码 18268 1 8 2 6 8 25 2 5 7 7 是我们的最终数字 它基本上是将整个数字中的每个数字相加 直到我们得到一个 也称为 核心 数字 它经常被命理学家使用
  • 按步长值变化对数组中的数字进行分组

    我有一个像 101 107 106 199 204 205 207 306 310 312 312 314 317 318 380 377 379 382 466 469 471 472 557 559 562 566 569 在这个数组中
  • 生成 2D 中的非简并点集 - C++

    我想在 2D 平面中创建一大组非退化的随机点云 整个集合中没有 3 个点在一条直线上 我有一个简单的解决方案 它生成一个随机浮点对 P new x y 并检查到目前为止生成的每对点 P1 P2 是否位于同一行 这需要 O n 2 检查添加到
  • Web 应用程序的带宽和流量模拟器?

    您能否建议如何创建一个测试环境来模拟 Web 应用程序中的各种类型的带宽和流量 或者也许是一个针对本地主机执行此操作的开源程序 我认为在编写网络应用程序时这是一个非常重要的主题 但这不是一个常见的主题 我能想象创建这种环境的唯一方法是在本地
  • Diamond-Square 算法的平滑问题

    我正在使用菱形方形算法来生成随机地形 它工作得很好 除了我让这些大圆锥形状要么伸出或伸入地形 问题似乎在于 时不时会有一个点被设置得太高或太低 Here is a picture of the problem And it can be b
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • 为什么Python中pop()的大O与pop(0)不同[重复]

    这个问题在这里已经有答案了 他们不应该都是O 1 因为从 Python 列表中的任何位置弹出一个元素涉及销毁该列表并在新的内存位置创建一个元素 蟒蛇的list实现使用动态调整大小的 Carray在引擎盖下 删除元素usually要求您移动后

随机推荐

  • 在 TensorFlow 中,如何使用 python 从张量中获取非零值及其索引?

    我想做这样的事情 假设我们有一个张量 A A 1 0 0 4 我想从中获取非零值及其索引 Nonzero values 1 4 Nonzero indices 0 0 1 1 Numpy 中也有类似的操作 np flatnonzero A
  • Google 跟踪代码管理器:事件跟踪不起作用

    我尝试使用标签管理器跟踪我网站上所有邮件链接的点击次数 但它根本不起作用 使用 firebug 查看网络传输 我可以看到没有任何内容提交给 Google 当然 我的 Analytics 界面中也没有出现任何内容 我已使用 jQuery 将推
  • C 动作和变量

    为什么当我使用 char paraula 15 int longparaula 0 copia paraula paraula longparaula 它说longparaula 0 paraula 没问题 并且包含我输入的字符的值 但 l
  • 将大的 2^63 十进制转换为二进制

    我需要将大十进制转换为二进制 我该怎么做 有问题的十进制是这个 3324679375210329505 怎么样 String binary Long toString 3324679375210329505L 2
  • 获取有关自动变量的帮助不起作用

    我正在研究 PowerShell 建议致电网站和书籍Get Help about Automatic Variables例如 获取返回的自动变量列表 我尝试打电话Get Help使用以下参数 但我总是得到返回的 cmdlet 列表 abou
  • PyQt 事件发出两次

    我正在尝试实现 拖放 项目QListWidget to QGraphicsView 我继承了自己的班级MooView from QGraphicsView并封装dragMove dragEnter and drop事件 但在测试时 我注意到
  • 使用“ec2-user”登录,而不是使用 aws 中的用户数据 root 登录

    我有一个基于 RHEL 6 4 64 位 AMI 的 Amazon EC2 实例 写完一些shell脚本后 我用它创建了自己的 AMI 映像 我正在编写用户数据部分 它将删除 home ec2 user sudo rm rf home ec
  • OpenSSL 在 PKCS12 导出期间挂起,并显示“将‘屏幕’加载到随机状态”

    我正在使用 OpenSSL 不是 makecert 生成自签名 SSL 证书 以在 IIS 中使用 openssl req x509 newkey rsa 2048 keyout key pem out cert pem days 365
  • 创建和使用 Laravel 4 命令

    编辑 找出我出错的地方并将答案放在最后 我正在尝试创建一个 Laravel 命令 我可以看到它与 Laravel 3 中的 任务 相比发生了很大的变化 但是我似乎无法让它运行 这些是我已采取的步骤 php artisan 命令 make 导
  • 禁用远程调试时应用程序在启动时崩溃

    我正在尝试在我的手机 iPhone 上安装我的反应本机应用程序 它安装正常 但在启动时崩溃并显示此错误消息 undefined is not an object evaluating navigator userAgent indexOf
  • java.security.cert.CertificateException:证书不符合算法约束

    我有一个地图应用程序可以添加地理信息系统 9 3 给定 URL 的底图 我想要添加的 URL 之一来自客户的 URL 并且是安全的 我的地图应用程序之前使用 Java 6 并且能够毫无问题地添加安全 URL 我现在升级到 Java 7 并得
  • 对于集群中具有两个节点的专用计算机,ES_HEAP_SIZE 的正确值

    我有一台 ES 2 2 0 的专用机器 它运行在 Windows Server 2012 R2 上 拥有 128GB 内存 关于ES 我计划在这台机器上的集群中有两个节点 根据elasticsearch yml中ES的推荐 确保ES HEA
  • 如何在django视图中获取模板路径

    所以我试图在我的视图中获取模板路径 有没有一种动态的方法来做到这一点 因为目前我正在对路径进行硬编码 html C Users user Desktop project src templates project html 模板路径 TEM
  • 让 html 成为标签 href 等待 onclick 中的异步函数返回?

    我有一个带有 onclick 的链接 该链接应该在 href 之前执行 a class btn btn primary href mode full Promeni rezim prikaza a 被调用的js函数的相关部分如下所示 fun
  • 在 Windows 操作系统上批量运行多个 m 文件,“无需”关闭先前运行的 m 文件

    我的目的是顺序运行一系列m文件和python程序 感谢 Mofi Shai 和 moarningsun 我发现这个批处理文件在我的 Windows 操作系统上是成功的 start 01 wait C Program Files MATLAB
  • 将数组传递给 Spark Lit 函数

    假设我有一个 numpy 数组a包含数字 1 10 1 2 3 4 5 6 7 8 9 10 我还有一个 Spark 数据框 我想向其中添加我的 numpy 数组a 我认为一列文字就可以完成这项工作 这不起作用 df df withColu
  • 多重处理与 NumPy 不兼容[重复]

    这个问题在这里已经有答案了 我正在尝试使用多处理运行一个简单的测试 测试运行良好 直到我导入 numpy 即使它没有在程序中使用 这是代码 from multiprocessing import Pool import time impor
  • 如何在 Angularjs 中根据值显示字形眼睛?

    我对表单中的所有字段都有字形眼 如果用户单击 glyphicon eye open 那么它将更改为 glyphicon eye close 然后我将该特定字段名称推送到数组中 在我的 JSON 响应中 我获取了隐藏字段值 但如何使用该值并调
  • null 测试与 try catch

    有没有人有关于执行 null 测试与将代码包装在 try catch 中的指标 我怀疑空测试更有效 但我没有任何经验数据 环境为C net 3 x 代码对比为 Dude x Dude Session xxxx x x null new Du
  • 如何检测门逻辑仿真中的振荡?

    我正在用 C 编写基于周期的逻辑模拟 我想模拟组合电路和时序电路 组合电路很简单 但顺序电路给我带来了麻烦 我想检测振荡并显示适当的警告消息 有没有一种简单的方法来检查单个门可以改变其状态多少次并且仍然保持电路稳定 我考虑过 最小反馈弧集算