From d36312347320006b4fdf096df3283223dbd4a302 Mon Sep 17 00:00:00 2001 From: Paul Harrison Date: Mon, 15 Jun 2026 12:43:46 -0700 Subject: some models --- .gitignore | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ i8288.v | 7 +++++++ sn7400.v | 9 +++++++++ sn7401.v | 9 +++++++++ sn7402.v | 9 +++++++++ sn7404.v | 8 ++++++++ sn7405.v | 8 ++++++++ sn7408.v | 9 +++++++++ sn7409.v | 9 +++++++++ sn7410.v | 10 ++++++++++ sn7411.v | 10 ++++++++++ sn7415.v | 10 ++++++++++ sn7420.v | 11 +++++++++++ sn7421.v | 11 +++++++++++ sn7422.v | 11 +++++++++++ sn7423.v | 15 +++++++++++++++ sn7425.v | 12 ++++++++++++ sn7427.v | 10 ++++++++++ sn7430.v | 15 +++++++++++++++ 19 files changed, 234 insertions(+) create mode 100644 .gitignore create mode 100644 i8288.v create mode 100644 sn7400.v create mode 100644 sn7401.v create mode 100644 sn7402.v create mode 100644 sn7404.v create mode 100644 sn7405.v create mode 100644 sn7408.v create mode 100644 sn7409.v create mode 100644 sn7410.v create mode 100644 sn7411.v create mode 100644 sn7415.v create mode 100644 sn7420.v create mode 100644 sn7421.v create mode 100644 sn7422.v create mode 100644 sn7423.v create mode 100644 sn7425.v create mode 100644 sn7427.v create mode 100644 sn7430.v diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..489b892 --- /dev/null +++ b/.gitignore @@ -0,0 +1,51 @@ +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + +# network security +/network-security.data + +# undo-tree +*.~undo-tree~ diff --git a/i8288.v b/i8288.v new file mode 100644 index 0000000..83a5247 --- /dev/null +++ b/i8288.v @@ -0,0 +1,7 @@ +module i8288 + (input IOB, + input CLK, + input nS1); + + +endmodule; // i8288 diff --git a/sn7400.v b/sn7400.v new file mode 100644 index 0000000..a08ab06 --- /dev/null +++ b/sn7400.v @@ -0,0 +1,9 @@ +`timescale 1ns/1ps +module sn7400 + #(parameter tPLH = 0, tPHL = 0) + (input [3:0] A, + input [3:0] B, + output [3:0] Y); + + assign #(tPLH, tPHL) Y = ~(A & B); +endmodule diff --git a/sn7401.v b/sn7401.v new file mode 100644 index 0000000..67da3b1 --- /dev/null +++ b/sn7401.v @@ -0,0 +1,9 @@ +`timescale 1ps/1ns +module sn7401 + #(parameter tPLH = 0, tPHL = 0) + (input [3:0] A, + input [3:0] B, + output [3:0] Y); + + assign #(tPLH, tPHL) (strong0, highz1) Y[i] = ~(A[i] & B[i]); +endmodule diff --git a/sn7402.v b/sn7402.v new file mode 100644 index 0000000..bddc3b9 --- /dev/null +++ b/sn7402.v @@ -0,0 +1,9 @@ +`timescale 1ns/1ps +module sn7402 + #(parameter tPLH = 0, tPHL = 0) + (input [3:0] A, + input [3:0] B, + output [3:0] Y); + + assign #(tPLH, tPHL) Y = ~(A | B); +endmodule diff --git a/sn7404.v b/sn7404.v new file mode 100644 index 0000000..58bd2a7 --- /dev/null +++ b/sn7404.v @@ -0,0 +1,8 @@ +`timescale 1ns/1ps +module sn7404 + #(parameter tPLH = 0, tPHL = 0) + (input [5:0] A, + output [5:0] Y); + + assign #(tPLH, tPHL) Y = ~A; +endmodule diff --git a/sn7405.v b/sn7405.v new file mode 100644 index 0000000..8a6f22c --- /dev/null +++ b/sn7405.v @@ -0,0 +1,8 @@ +`timescale 1ns/1ps +module sn7405 + #(parameter tPLH = 0, tPHL = 0) + (input [5:0] A, + output [5:0] Y); + + assign #(tPLH, tPHL) (strong0, highz1) Y[i] = ~A[i]; +endmodule diff --git a/sn7408.v b/sn7408.v new file mode 100644 index 0000000..63b0a87 --- /dev/null +++ b/sn7408.v @@ -0,0 +1,9 @@ +`timescale 1ns/1ps +module sn7408 + #(parameter tPLH = 0, tPHL = 0) + (input [3:0] A, + input [3:0] B, + output [3:0] Y); + + assign #(tPLH, tPHL) Y = A & B; +endmodule diff --git a/sn7409.v b/sn7409.v new file mode 100644 index 0000000..e577393 --- /dev/null +++ b/sn7409.v @@ -0,0 +1,9 @@ +`timescale 1ps/1ns +module sn7409 + #(parameter tPLH = 0, tPHL = 0) + (input [3:0] A, + input [3:0] B, + output [3:0] Y); + + assign #(tPLH, tPHL) (strong0, highz1) Y = A & B; +endmodule diff --git a/sn7410.v b/sn7410.v new file mode 100644 index 0000000..65e690f --- /dev/null +++ b/sn7410.v @@ -0,0 +1,10 @@ +`timescale 1ns/1ps +module sn7410 + #(parameter tPLH = 0, tPHL = 0) + (input [2:0] A, + input [2:0] B, + input [2:0] C, + output [2:0] Y); + + assign #(tPLH, tPHL) Y = ~(A & B & C); +endmodule diff --git a/sn7411.v b/sn7411.v new file mode 100644 index 0000000..3e65579 --- /dev/null +++ b/sn7411.v @@ -0,0 +1,10 @@ +`timescale 1ns/1ps +module sn7411 + #(parameter tPLH = 0, tPHL = 0) + (input [2:0] A, + input [2:0] B, + input [2:0] C, + output [2:0] Y); + + assign #(tPLH, tPHL) Y = A & B & C; +endmodule diff --git a/sn7415.v b/sn7415.v new file mode 100644 index 0000000..eeee05a --- /dev/null +++ b/sn7415.v @@ -0,0 +1,10 @@ +`timescale 1ns/1ps +module sn7415 + #(parameter tPLH = 0, tPHL = 0) + (input [2:0] A, + input [2:0] B, + input [2:0] C, + output [2:0] Y); + + assign #(tPLH, tPHL) (strong0, highz1) Y = A & B & C; +endmodule diff --git a/sn7420.v b/sn7420.v new file mode 100644 index 0000000..cca3fcd --- /dev/null +++ b/sn7420.v @@ -0,0 +1,11 @@ +`timescale 1ns/1ps +module sn7420 + #(parameter tPLH = 0, tPHL = 0) + (input [1:0] A, + input [1:0] B, + input [1:0] C, + input [1:0] D, + output [1:0] Y); + + assign #(tPLH, tPHL) Y = ~(A & B & C & D); +endmodule diff --git a/sn7421.v b/sn7421.v new file mode 100644 index 0000000..08b40b8 --- /dev/null +++ b/sn7421.v @@ -0,0 +1,11 @@ +`timescale 1ns/1ps +module sn7421 + #(parameter tPLH = 0, tPHL = 0) + (input [1:0] A, + input [1:0] B, + input [1:0] C, + input [1:0] D, + output [1:0] Y); + + assign #(tPLH, tPHL) Y = A & B & C & D; +endmodule diff --git a/sn7422.v b/sn7422.v new file mode 100644 index 0000000..7855b70 --- /dev/null +++ b/sn7422.v @@ -0,0 +1,11 @@ +`timescale 1ns/1ps +module sn7422 + #(parameter tPLH = 0, tPHL = 0) + (input [1:0] A, + input [1:0] B, + input [1:0] C, + input [1:0] D, + output [1:0] Y); + + assign #(tPLH, tPHL) (strong0, highz1) Y = ~(A & B & C & D); +endmodule diff --git a/sn7423.v b/sn7423.v new file mode 100644 index 0000000..2f8db87 --- /dev/null +++ b/sn7423.v @@ -0,0 +1,15 @@ +`timescale 1ns/1ps +module sn7423 + #(parameter tPLH = 0, tPHL = 0) + (input [1:0] A, + input [1:0] B, + input [1:0] C, + input [1:0] D, + input [1:0] G, + input X, + output [1:0] Y); + + wire [1:0] Xt; + assign Xt = {0, X}; + assign #(tPLH, tPHL) Y = ~((G & (A | B | C | D)) | Xt); +endmodule diff --git a/sn7425.v b/sn7425.v new file mode 100644 index 0000000..6ac9bb5 --- /dev/null +++ b/sn7425.v @@ -0,0 +1,12 @@ +`timescale 1ns/1ps +module sn7423 + #(parameter tPLH = 0, tPHL = 0) + (input [1:0] A, + input [1:0] B, + input [1:0] C, + input [1:0] D, + input [1:0] G, + output [1:0] Y); + + assign #(tPLH, tPHL) Y = ~(G & (A | B | C | D)); +endmodule diff --git a/sn7427.v b/sn7427.v new file mode 100644 index 0000000..67f1a41 --- /dev/null +++ b/sn7427.v @@ -0,0 +1,10 @@ +`timescale 1ns/1ps +module sn7427 + #(parameter tPLH = 0, tPHL = 0) + (input [2:0] A, + input [2:0] B, + input [2:0] C, + output [2:0] Y); + + assign #(tPLH, tPHL) Y = ~(A | B | C); +endmodule diff --git a/sn7430.v b/sn7430.v new file mode 100644 index 0000000..425b7ab --- /dev/null +++ b/sn7430.v @@ -0,0 +1,15 @@ +`timescale 1ns/1ps +module sn7430 + #(parameter tPLH = 0, tPHL = 0) + (input A, + input B, + input C, + input D, + input E, + input F, + input G, + input H, + output Y); + + assign #(tPLH, tPHL) Y = ~(A & B & C & D & E & F & G & H); +endmodule -- cgit v1.2.3