
LogicLoom
一个通过红石从Verilog设计构建逻辑电路的模组
查看大图LogicLoom
一个用于根据 Verilog 设计创建逻辑电路和计算机的 Minecraft 模组。
教程
逻辑综合
确保已安装 Yosys。
首先用 Verilog 2001 编写所需的逻辑。
然后从本仓库获取 Synth.ys 脚本,并在文件顶部添加 read_verilog 命令来读取你的设计。
用以下命令运行脚本:
yosys Synth.ys
输出的 JSON 文件将命名为 mc_chip_maker.json。使用以下命令将其加载到游戏中:
/logicloom load_json FILE_PATH
限制
不支持方向为 Inout 的端口。
JSON 文件只能包含一个模块。仅读取第一个模块,其他模块会被忽略。
设置参数
放置步骤的最大迭代次数:
/logicloom param max_iter NUMBER_HERE
沿 X 和 Y 轴的放置区域大小:
/logicloom param chip_size NUMBER_HERE
放置期间用于扩散单元的初始力乘数:
应为较小的值。默认值为 0.05
/logicloom param force_const NUMBER_HERE
每次放置迭代时力乘数的放大倍数:
应为较小的值。默认值为 1.047
/logicloom param force_mul NUMBER_HERE
当两点间的直线布线因障碍物无法进行时,会使用波传播算法。
为加速该算法,会基于两点构建一个包围盒。波传播可超出该包围盒的最大距离为 router_max_search。
默认值为 13
/logicloom param router_max_search NUMBER_HERE
由 Yosys 生成的文件路径:
/logicloom load_json FILE_PATH
固定点
固定点与其他单元类似,但具有固定位置。它们可用于按需移动设计。
你需要至少添加一个固定点才能获得有用的结果。
目前只能添加与设计中所有单元连接的固定点。
设计中的所有端口都是固定点,通过权重为 1 的连接与相关单元相连。
固定点的位置相对于当前起始点存储。
如果在添加固定点后更改了起始点,该固定点在游戏世界中的位置也会相应改变。
要修改固定点,请使用:
/logicloom fixed_points
布局与布线
放置逻辑门:
确保区域完全平坦,且所有地面方块上均可放置红石线和中继器。
/logicloom place
放置导线:
/logicloom route
修复不良导线
目前,导线放置算法存在缺陷,因此可使用此命令检查断线:
此命令会比较所有导线的起始点,并检查所有端点的信号强度是否一致。
如果不一致,有问题的导线会显示在聊天栏中。如果存在问题,通常很明显。
即使一切看似正常,此命令也能找出不良导线,因为这些不良导线可能当前未影响输出。
你必须等待所有信号传播完毕,否则会得到错误结果。
你可以使用 /tick sprint 加速此过程:
/logicloom misc check_wires
为确保所有导线都被检查,你可以使用以下命令强制所有导线处于:
激活状态
/logicloom misc force_power_wire ON未激活状态
/logicloom misc force_power_wire OFF恢复正常状态
/logicloom misc force_power_wire Normal
执行此命令后,请运行 check_wires 命令。
画廊
一个能够进行加法、减法、乘法和除法的 8 位计算器。正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。