This document describes the work-in-progress C API for writing custom chips for the Wokwi simulator.
Contents:
// Wokwi Custom Chip - For information and examples see: | |
// https://link.wokwi.com/custom-chips-alpha | |
// | |
// SPDX-License-Identifier: MIT | |
// Copyright (C) 2022 Uri Shaked / wokwi.com | |
#include "wokwi-api.h" | |
#include <stdio.h> | |
#include <stdlib.h> | |
This document describes the work-in-progress C API for writing custom chips for the Wokwi simulator.
Contents:
function galoisMultiply1(x, y) { | |
const Zi = new Uint32Array(4); | |
const Vi = new Uint32Array(y); | |
for (let i = 0; i < 128; i++) { | |
const xi = (x[i >> 5] & (1 << (31 - (i % 32)))) !== 0; | |
if (xi) { | |
Zi[0] ^= Vi[0]; | |
Zi[1] ^= Vi[1]; | |
Zi[2] ^= Vi[2]; | |
Zi[3] ^= Vi[3]; |
`default_nettype none | |
`timescale 1ns/1ns | |
module encoder ( | |
input clk, | |
input reset, | |
input a, | |
input b, | |
output reg [7:0] value | |
); |
`default_nettype none | |
`timescale 1ns/1ns | |
module encoder ( | |
input clk, | |
input reset, | |
input a, | |
input b, | |
output reg [7:0] value | |
); |
magic | |
tech sky130A | |
timestamp 1638034600 | |
<< nwell >> | |
rect -40 -195 205 -55 | |
<< nmos >> | |
rect 40 0 55 65 | |
<< pmos >> | |
rect 40 -140 55 -75 | |
<< ndiff >> |
interface bcm2835gpio | |
bcm2835gpio_peripheral_base 0xFE000000 | |
# Transition delay calculation: SPEED_COEFF/khz - SPEED_OFFSET | |
# These depend on system clock, calibrated for stock 700MHz | |
# bcm2835gpio_speed SPEED_COEFF SPEED_OFFSET | |
bcm2835gpio_speed_coeffs 236181 60 | |
# Each of the JTAG lines need a gpio number set: tck tms tdi tdo |
{ | |
"project.header.save": "保存", | |
"project.header.share": "分享", | |
"project.menu.saveACopy": "另存为", | |
"project.menu.downloadProjectZip": "下载项目文件", | |
"project.menu.simulation": "模拟", | |
"editor.fileMenu.rename": "重命名", | |
"editor.fileMenu.newFile": "新文件", | |
"editor.fileMenu.delete": "", |
{ | |
"packages": [ | |
{ | |
"name": "esp32", | |
"maintainer": "Espressif Systems", | |
"websiteURL": "https://github.com/espressif/arduino-esp32", | |
"email": "hristo@espressif.com", | |
"help": { | |
"online": "http://esp32.com" | |
}, |
// Sample output: https://wokwi.com/arduino/projects/287356481917944333 | |
const size = 256; | |
const center = [150, 150]; | |
const c = 16; | |
const data = { | |
version: 1, | |
author: 'Uri Shaked', | |
editor: 'wokwi', |