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

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(使用前将#替换为@)

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

  • 什么是确定性快速排序?

    我一直在阅读有关快速排序的内容 发现有时它被称为 确定性快速排序 这是普通快速排序的替代版本吗 普通快速排序和确定性快速排序有什么区别 普通 确定性 快速排序在特定数据集上的行为可能非常差 例如 选择第一个未排序元素的实现在已排序数据上的时
  • 仿真输出全为零

    我的设计模块和测试平台代码已编译 但是 当我模拟时 我没有得到正确的输出 谁能告诉我我的代码哪里出了问题 这是测试平台的代码 module testbench reg 511 0 FROM LS reg CLK reg 63 0 TO IF
  • 为什么我的 Project Euler Problem 12 算法这么慢?

    我已经在 Scala 中为 PE P12 创建了解决方案 但速度非常非常慢 有人可以告诉我为什么吗 如何优化这个 calculateDevisors 简单的方法和calculateNumberOfDivisors 除数函数具有相同的速度 i
  • 找到质数?

    为了判断 N 是否是质数 我们只需要查找所有小于或等于 sqrt N 的数字 这是为什么 我正在编写 C 代码 因此试图理解其背后的原因 如果 N 是一个正整数 且能被两个正整数 1 和 N 整除 则 N 是素数 由于数字的约数不能大于该数
  • 找到不(必要)与二进制矩阵中的图像边界对齐的最大矩形

    我在用这个解决方案 https stackoverflow com questions 2478447 find largest rectangle containing only zeros in an nn binary matrix在
  • 将整数列表划分为总和相等的 K 个子列表

    类似的问题还有1 https stackoverflow com questions 27322804 partition of a set into k disjoint subsets with equal sum and 2 http
  • 给定一个点向量(可能无序),找到多边形(不是凸包)

    我目前有一个点向量 vector
  • 计算具有 3 个循环的算法的复杂度

    我尝试解决以下练习 以下代码片段最坏情况运行时间的增长顺序是什么 作为 N 的函数 int sum 0 for int i 1 i lt N i for int j 1 j lt i i j for int k 1 k lt j j k s
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 序列和与 GCD

    大约一个月前 我在编程挑战中遇到了这个问题 但社论尚未发布 所以我在这里问 有一个大小为 N 的数组 A 求 A 的 K 个长度子序列的总和 GCD Example 如果 A 1 2 3 且 K 2 1 2 3 总和 1 GCD 3 1 3
  • iPhone Simulator - 模拟慢速连接?

    有没有办法减慢 iPhone 模拟器的互联网连接速度 以便模拟当您处于蜂窝网络速度较慢的位置时应用程序的反应 如何安装 Apple 的网络链接调节器 这些说明截至 2019 年 10 月有效 警告 如果您刚刚升级到新版本的 macOS 确保
  • 从原点开始在离散 2D 网格上迭代向外螺旋的算法

    例如 这是预期螺旋的形状 以及迭代的每个步骤 y 16 15 14 13 12 17 4 3 2 11 18 5 0 1 10 x 19 6 7 8 9 20 21 22 23 24 其中线条是 x 轴和 y 轴 以下是算法每次迭代 返回
  • Python Pandas:沿一列比较两个数据帧,并返回另一个数据帧中两个数据帧的行内容

    我正在处理两个 csv 文件并作为数据框 df1 和 df2 导入 df1 有 50000 行 df2 有 150000 行 我想将 df2 的 时间 与 df1 求时间差并返回所有列的值 对应相似的行 保存在df3中 时间同步 例如 35
  • 如何为多边形创建内部螺旋?

    对于任何形状 我如何在其内部创建类似形状的螺旋 这与边界 使用 Minkowski 和 类似 尽管它会是相同形状的螺旋 而不是在形状内部创建相同的形状 我找到了这个 http www cis upenn edu cis110 13su le
  • 是否有任何模拟器/工具可以生成流式传输消息?

    出于测试目的 我需要模拟客户端每秒生成 100 000 条消息并将它们发送到 kafka 主题 有没有任何工具或方法可以帮助我生成这些随机消息 有一个用于生成虚拟负载的内置工具 位于bin kafka producer perf test
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • LRU算法,实现这个算法需要多少位?

    我有一个关于 LRU 算法的小问题 如果您有一个包含四个块的高速缓存 那么需要多少位来实现该算法 假设您指的是 4 路组关联缓存 完美 LRU 本质上是按照使用顺序为每一行分配一个精确的索引 您也可以将其视为 年龄 因此 4 个元素中的每一
  • 坐标算法 - 绕中心旋转

    通过查看这张图片 我想您会很好地理解我的问题 图片已删除 网址不再有效 现在返回广告 所以基本上我想要一个函数 它接受一个对象作为参数 并根据我之前添加的对象数量为该对象提供正确的坐标 假设我将所有这些对象添加到一个数组中 objectAr
  • 如何计算 3D Morton 数(交织 3 个整数的位)

    我正在寻找一种快速计算 3D Morton 数的方法 这个网站 http www graphics stanford edu seander bithacks html InterleaveBMN有一个基于幻数的技巧来处理 2D Morto
  • 优化计算中使用的 # 个线程的算法

    我正在执行一个操作 我们将其称为CalculateSomeData CalculateSomeData 在连续的 代 中运行 编号为 1 x 整个运行中的代数由CalculateSomeData 的输入参数固定 并且是先验已知的 完成一次生

随机推荐

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