1
0
Fork 0

added fonts
Some checks failed
Build Blog / Build (push) Failing after 2m11s

This commit is contained in:
saji 2025-01-01 20:35:57 -06:00
parent f9d7b0d26a
commit bf48a5866c
18 changed files with 887 additions and 833 deletions

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
*.ttf filter=lfs diff=lfs merge=lfs -text
*.woff2 filter=lfs diff=lfs merge=lfs -text

View file

@ -24,6 +24,7 @@
{#- Add an arbitrary string to the bundle #} {#- Add an arbitrary string to the bundle #}
{%- css %}* { box-sizing: border-box; }{% endcss %} {%- css %}* { box-sizing: border-box; }{% endcss %}
{#- Add the contents of a file to the bundle #} {#- Add the contents of a file to the bundle #}
{%- css %}{% include "public/css/fonts.css"%} {% endcss %}
{%- css %}{% include "public/css/index.css" %}{% endcss %} {%- css %}{% include "public/css/index.css" %}{% endcss %}
{#- Or add from node_modules #} {#- Or add from node_modules #}
{# {%- css %}{% include "node_modules/prismjs/themes/prism-okaidia.css" %}{% endcss %} #} {# {%- css %}{% include "node_modules/prismjs/themes/prism-okaidia.css" %}{% endcss %} #}

View file

@ -24,6 +24,8 @@ and then program the next. Later versions would solve the whole one-time-program
Demands would increase futher and flip-flops would be added, as well as feedback capability. This allows for very complex Demands would increase futher and flip-flops would be added, as well as feedback capability. This allows for very complex
functions to be implemented, since you can chain "rows" of the output blocks. functions to be implemented, since you can chain "rows" of the output blocks.
![A figure shows the structure of a PLA. There is a grid of wires that is fed into the inputs of AND gates. The AND gates are then selected by a set of OR gates.](pla_logic2.svg "Old School PLA.")
## Back To Today: GALs in the 21st Century ## Back To Today: GALs in the 21st Century
These days, modern FPGA technology can be yours for a couple of bucks. Open-source toolchains allow fast, easy development, These days, modern FPGA technology can be yours for a couple of bucks. Open-source toolchains allow fast, easy development,
@ -66,4 +68,21 @@ with simulation, testbenches, and synthesis, the raw assembly is stuck in the 80
Verilog compilers for GALs *did exist*, but they ran on old-as-dirt systems, didn't have any significant optimization Verilog compilers for GALs *did exist*, but they ran on old-as-dirt systems, didn't have any significant optimization
capabilities, and were almost always proprietary. What if we could make our own open-source Verilog flow for GAL chips? capabilities, and were almost always proprietary. What if we could make our own open-source Verilog flow for GAL chips?
Then we could write test benches in Verilog, map complex designs onto the chip, and even integrate our designs with FPGAs later Then we could write test benches in Verilog, map complex designs onto the chip, and even integrate our designs with FPGAs later
down the line. down the line.
# Is this useful?
# using menu screens
No, not really.
Well, there's a very very niche use case. These parts are 5-volt tolerant, and come in DIP packages. If you needed some basic glue logic
when working on an older 5 volt system, you might want to have a few of these + a programmer instead of a collection of 74-series logic.
At the very least, these chips can emulate any 74-series chip, and can reduce a multi-chip design to a single chip.
The DIP form factor makes it much easier to breadboard, and the chips have zero start up delay.
In that narrow use case, `yosys4gal` is rather crucial. You no longer need WinCUPL or any old software, instead
using Verilog + Yosys. Your designs are automatically optimized, which makes it easier to fit more complex logic. And since it's verilog,
you can integrate it into a larger simulation or move it to an FPGA later if you desire.

View file

@ -12,6 +12,7 @@ import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
import pluginDrafts from "./eleventy.config.drafts.js"; import pluginDrafts from "./eleventy.config.drafts.js";
import pluginFonts from "./eleventy.config.fonts.js";
/** @param {import('@11ty/eleventy').UserConfig} eleventyConfig */ /** @param {import('@11ty/eleventy').UserConfig} eleventyConfig */
export default async function (eleventyConfig) { export default async function (eleventyConfig) {
@ -30,11 +31,7 @@ export default async function (eleventyConfig) {
// App plugins // App plugins
eleventyConfig.addPlugin(pluginDrafts); eleventyConfig.addPlugin(pluginDrafts);
eleventyConfig.addPlugin(eleventyImageTransformPlugin, { // eleventyConfig.addPlugin(pluginFonts);
extensions: "html",
formats: [ "auto" ],
})
// Official plugins // Official plugins
eleventyConfig.addPlugin(feedPlugin, { eleventyConfig.addPlugin(feedPlugin, {
collection: { collection: {
@ -52,6 +49,11 @@ export default async function (eleventyConfig) {
eleventyConfig.addPlugin(pluginNavigation); eleventyConfig.addPlugin(pluginNavigation);
eleventyConfig.addPlugin(EleventyHtmlBasePlugin); eleventyConfig.addPlugin(EleventyHtmlBasePlugin);
eleventyConfig.addPlugin(pluginBundle); eleventyConfig.addPlugin(pluginBundle);
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
extensions: "html",
formats: [ "auto" ],
})
// Filters // Filters

1604
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -21,7 +21,8 @@
}, },
"dependencies": { "dependencies": {
"@11ty/eleventy": "^3.0.0", "@11ty/eleventy": "^3.0.0",
"@11ty/eleventy-img": "^4.0.2" "@11ty/eleventy-img": "^4.0.2",
"ttf2woff2": "^6.0.1"
}, },
"devDependencies": { "devDependencies": {
"@11ty/eleventy-navigation": "^0.3.5", "@11ty/eleventy-navigation": "^0.3.5",

38
public/css/fonts.css Normal file
View file

@ -0,0 +1,38 @@
@font-face {
font-family: 'WO3';
src: url('/fonts/WO3.woff2') format('woff2'),
url('/fonts/WO3.ttf') format('ttf');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'SometypeMono';
src: url('/fonts/SometypeMono-Regular.woff2') format('woff2'),
url('/fonts/SometypeMono-Regular.ttf') format('ttf') ;
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'SometypeMono';
src: url('/fonts/SometypeMono-Bold.woff2') format('woff2'),
url('/fonts/SometypeMono-Bold.ttf') format('ttf') ;
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'SometypeMono';
src: url('/fonts/SometypeMono-Medium.woff2') format('woff2'),
url('/fonts/SometypeMono-Medium.ttf') format('ttf') ;
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "Orbitron";
src: url('/fonts/Orbitron-VariableFont_wght.woff2') format('woff2');
font-weight: 600;
font-style: normal;
}

View file

@ -1,6 +1,7 @@
/* Defaults */ /* Defaults */
:root { :root {
--font-family: -apple-system, system-ui, sans-serif; /* --font-family: -apple-system, system-ui, sans-serif; */
--font-family: SometypeMono;
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
} }
@ -53,7 +54,7 @@ html {
overflow-y: scroll; overflow-y: scroll;
} }
body { body {
max-width: 40em; max-width: 80em;
} }
/* https://www.a11yproject.com/posts/how-to-hide-content/ */ /* https://www.a11yproject.com/posts/how-to-hide-content/ */
@ -268,3 +269,7 @@ a[href].header-anchor:focus,
h2 + .header-anchor { h2 + .header-anchor {
font-size: 1.5em; font-size: 1.5em;
} }
h1, h2, h3 {
font-family: WO3;
letter-spacing: .2rem;
}

BIN
public/fonts/Orbitron-VariableFont_wght.ttf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/Orbitron-VariableFont_wght.woff2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Bold.ttf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Bold.woff2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Medium.ttf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Medium.woff2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Regular.ttf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/SometypeMono-Regular.woff2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/WO3.ttf (Stored with Git LFS) Normal file

Binary file not shown.

BIN
public/fonts/WO3.woff2 (Stored with Git LFS) Normal file

Binary file not shown.