lsartory/Clavier
仓库概览、指标与主题
相关仓库
这是为Altera和Xilinx FPGA开发的完全开源比特币矿工实现。该项目希望推动基于FPGA的挖矿解决方案的自由开放发展,保障比特币项目整体的未来。目前Terasic DE2-115开发板已有二进制版本,并且有适用于多种板块的可编译项目。
一种类C的硬件描述语言(HDL),增加了类似高级合成(HLS)的自动流水线作为语言构造/编译器功能。
bladeRF-wiphy 是一款开源的 IEEE 802.11 兼容软件定义无线电 VHDL 调制解调器
车牌识别,FPGA,2019全国大学生集成电路创新创业大赛
通用工业机器人控制器。基于结合LinuxCNC与Odrives创建完整控制系统。
DRAM Bender是首个开源DRAM测试基础设施,能够轻松且全面地测试不同形态的先进HBM2芯片和DDR4模块。六个原型可在不同的FPGA板上提供。在我们的预印本中描述:https://arxiv.org/pdf/2211.05838.pdf
README
Clavier
Clavier (French for ‘keyboard’) is an FPGA-based mechanical keyboard with an integrated USB hub, and numerous communication interfaces (JTAG, SPI, I²C, UART).
Features
- Full size 105 keys ISO keyboard + one extra
- Compatible with PCB mounted Cherry MX switches
- N-key rollover
- 1000 Hz polling rate
- No multiplexing, no ghosting
- 2-port USB 2.0 hub
- JTAG, SPI, I²C, 2 × UART, and 8 × GPIOs
- FPGA-based, VHDL only, no ALU
- Fully open-source, including all design tools (see below)
What’s the extra key for?
It’s the coffee key.
Use it to lock your computer and go have a break.
It can also be long-pressed for 5 seconds to reset the FPGA.
Required tools
- KiCad for the PCB
- FreeCAD or OpenSCAD for the housing
- OSS CAD Suite (GHDL, Yosys, hdl, ghdl-yosys-plugin, nextpnr-ecp5, ecppack, and openFPGALoader) and GNU Make for the FPGA
PCB
The PCB has 4 layers and requires no unusual capabilities to produce.
It is however not easy to assemble by hand mostly due to 0402 passives and the FPGA in BGA packaging.
Schematics
A PDF version of the schematics is available here, for convenience: PCB/doc/clavier.pdf.
Housing
Version 1
An OpenSCAD version of the housing was created first and is fine for 3D printing.
The FreeCAD version was created afterwards for exporting to STEP, which is more suitable for CNC machining.
Both alternatives are functionally equivalent.
Version 2
The first version fits properly, but it turns out that it is not angled in a comfortable way.
To correct this, a second version was created with an angle of 8° that makes the front part much thinner.
This one is only available in FreeCAD.
FPGA
How to build
Simply run make in the FPGA subfolder.
If using OSS CAD Suite, make sure the environment is set first.
How to program
The integrated JTAG interface can be used to program the FPGA.
The switch SW18 is used to toggle the interfaces on or off. The LED D1 close by displays the current status.
Connect the JTAG interface with jumper cables, then run either make prog-sram or make prog-flash, depending on if the configuration needs to be permanent or not.
Communication interfaces
Except for the GPIOs that are connected directly to the FPGA, communications are handled by the CH347F.
3D renders
Licenses
- The PCB and housing are licensed under the CERN Open Hardware Licence Version 2 - Permissive.
- The FPGA code is licensed under the MIT Licence.
- The pictures are licensed under the CC BY 4.0 License.
评论