3作者: rafa_rrayes15 天前
大家好! 我构建了 SHDL(Simple Hardware Description Language,简单硬件描述语言),作为一种将硬件描述精简到绝对基础的实验。 在 SHDL 中,没有算术运算符,没有隐式的位宽,也没有高级结构。你完全从逻辑门和导线开始构建一切,然后以分层的方式组合更大的组件。目标不是合成或性能,而是理解:当抽象被移除时,数字系统实际上是什么样子的。 SHDL 附带 PySHDL,这是一个 Python 接口,可以让你加载电路、探测输入、步进模拟并观察输出。在底层,SHDL 将电路编译成 C 以实现快速执行,但语言本身保持了有意的小巧和透明。 这并不是要取代 Verilog 或 VHDL。它的目标是: - 从基本原理学习数字逻辑 - 试验 HDL 和语言设计 - 教学或可视化复杂硬件如何从简单门电路演变而来 我特别希望收到关于以下方面的反馈: - 语言设计选择 - 哪些感觉不必要地受限,哪些具有教育价值 - 这种“反抽象”的 HDL 对你是否有用 代码仓库:[https://github.com/rafa-rrayes/SHDL](https://github.com/rafa-rrayes/SHDL) Python 包:PySHDL on PyPI 为了更具体,这里有一些用 SHDL 编写的小型工作示例: 1. 全加器 ``` component FullAdder(A, B, Cin) -> (Sum, Cout) { x1: XOR; a1: AND; x2: XOR; a2: AND; o1: OR; connect { A -> x1.A; B -> x1.B; A -> a1.A; B -> a1.B; x1.O -> x2.A; Cin -> x2.B; x1.O -> a2.A; Cin -> a2.B; a1.O -> o1.A; a2.O -> o1.B; x2.O -> Sum; o1.O -> Cout; } } ``` 2. 16 位寄存器 ``` # clk 必须高电平持续两个周期才能存储一个值 component Register16(In[16], clk) -> (Out[16]) { >i[16]{ a1{i}: AND; a2{i}: AND; not1{i}: NOT; nor1{i}: NOR; nor2{i}: NOR; } connect { >i[16]{ # 在 clk 上捕获 In[{i}] -> a1{i}.A; In[{i}] -> not1{i}.A; not1{i}.O -> a2{i}.A; clk -> a1{i}.B; clk -> a2{i}.B; a1{i}.O -> nor1{i}.A; a2{i}.O -> nor2{i}.A; nor1{i}.O -> nor2{i}.B; nor2{i}.O -> nor1{i}.B; nor2{i}.O -> Out[{i}]; } } } ``` 3. 16 位行波进位加法器 ``` use fullAdder::{FullAdder}; component Adder16(A[16], B[16], Cin) -> (Sum[16], Cout) { >i[16]{ fa{i}: FullAdder; } connect { A[1] -> fa1.A; B[1] -> fa1.B; Cin -> fa1.Cin; fa1.Sum -> Sum[1]; >i[2,16]{ A[{i}] -> fa{i}.A; B[{i}] -> fa{i}.B; fa{i-1}.Cout -> fa{i}.Cin; fa{i}.Sum -> Sum[{i}]; } fa16.Cout -> Cout; } } ```
1作者: michaloo15 天前
嗨,各位 HN 用户, 我白天是一名数据分析和跟踪顾问。这个产品是我为自己的项目开发的,后来决定将其产品化。 我同时在测试两件事: * 商业模式:在通常采用订阅模式的行业中,采用一次性付费模式 * 技术架构:在你的基础设施上实现自动化 DevOps(类似于 ServerPilot 或 Laravel Forge,但用于无服务器设置,因此可以持续维护) 技术细节: * 最小化的跟踪脚本,默认无 Cookie * 开箱即用的来自你子域名的第一方跟踪 * Web 安装程序使用一次性 API 令牌配置所有内容,我不需要持续访问。安装完成后,它就成为用户基础设施的一部分 欢迎提供反馈或提出关于架构或商业模式的问题。
1作者: m_krzywonos15 天前
LiquidFetch 为您提供 Mac 的清晰、直观的概览。<p>与 neofetch 或 fastfetch 等工具不同,LiquidFetch 通过图形界面呈现您的设置信息。它是一款 100% 原生 macOS 应用。<p>费用:免费。 下载:<a href="https:&#x2F;&#x2F;www.apptorium.com&#x2F;liquidfetch" rel="nofollow">https:&#x2F;&#x2F;www.apptorium.com&#x2F;liquidfetch</a> 或在 App Store 上下载:<a href="https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;liquidfetch&#x2F;id6757637185?mt=12">https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;liquidfetch&#x2F;id6757637185?mt=12</a>
1作者: yomi40515 天前
大家好,经过几个月的精心设计和动画制作,我和我的兄弟共同开发了这个动画工具。它能帮助任何人,在几分钟内就能混剪他们最喜欢的动态设计片段。 欢迎告诉我们您的想法! www.autograph.video 快速上手: https://youtu.be/05aNmIM37xc?si=RhJrqEdyvl-UCYu5