From fa14c600ffcb9ab13bd5793e4755a4ec8dbe3088 Mon Sep 17 00:00:00 2001
From: Miodrag Milanovic <mmicko@gmail.com>
Date: Wed, 13 Mar 2024 11:23:33 +0100
Subject: [PATCH] commented remainder of primitives

---
 techlibs/nanoxplore/cells_bb.v | 168 +++++++++++++++++----------------
 1 file changed, 89 insertions(+), 79 deletions(-)

diff --git a/techlibs/nanoxplore/cells_bb.v b/techlibs/nanoxplore/cells_bb.v
index fc6165212..1955f590b 100644
--- a/techlibs/nanoxplore/cells_bb.v
+++ b/techlibs/nanoxplore/cells_bb.v
@@ -1,27 +1,12 @@
-(* blackbox *)
-module NX_BD(I, O);
-    input I;
-    output O;
-    parameter mode = "global_lowskew";
-endmodule
-
-(* blackbox *)
-module NX_BFF(I, O);
-    input I;
-    output O;
-endmodule
-
-(* blackbox *)
-module NX_BFR(I, O);
-    input I;
-    output O;
-    parameter data_inv = 1'b0;
-    parameter iobname = "";
-    parameter location = "";
-    parameter mode = 0;
-    parameter path = 0;
-    parameter ring = 0;
-endmodule
+//(* blackbox *)
+//module NX_LUT(I1, I2, I3, I4, O);
+//    input I1;
+//    input I2;
+//    input I3;
+//    input I4;
+//    output O;
+//    parameter lut_table = 16'b0000000000000000;
+//endmodule
 
 //(* blackbox *)
 //module NX_CY(A1, A2, A3, A4, B1, B2, B3, B4, CI, CO, S1, S2, S3, S4);
@@ -42,37 +27,12 @@ endmodule
 //    parameter add_carry = 0;
 //endmodule
 
+// Bypass mode of NX_GCK_U
 (* blackbox *)
-module NX_DES(FCK, SCK, R, IO, DCK, DRL, DIG, FZ, FLD, FLG, O, DS, DRA, DRI, DRO, DID);
-    input DCK;
-    output [5:0] DID;
-    input DIG;
-    input [5:0] DRA;
-    input [5:0] DRI;
-    input DRL;
-    output [5:0] DRO;
-    input [1:0] DS;
-    input FCK;
-    output FLD;
-    output FLG;
-    input FZ;
-    input IO;
-    output [4:0] O;
-    input R;
-    input SCK;
-    parameter data_size = 5;
-    parameter differential = "";
-    parameter dpath_dynamic = 1'b0;
-    parameter drive = "";
-    parameter inputDelayLine = "";
-    parameter inputSignalSlope = "";
-    parameter location = "";
-    parameter locked = 1'b0;
-    parameter standard = "";
-    parameter termination = "";
-    parameter terminationReference = "";
-    parameter turbo = "";
-    parameter weakTermination = "";
+module NX_BD(I, O);
+    input I;
+    output O;
+    parameter mode = "global_lowskew";
 endmodule
 
 //(* blackbox *)
@@ -90,6 +50,14 @@ endmodule
 //    parameter dff_type = 1'b0;
 //endmodule
 
+// Special mode of NX_DFF
+(* blackbox *)
+module NX_BFF(I, O);
+    input I;
+    output O;
+endmodule
+
+
 (* blackbox *)
 module NX_DFR(I, CK, L, R, O);
     input CK;
@@ -110,12 +78,17 @@ module NX_DFR(I, CK, L, R, O);
     parameter ring = 0;
 endmodule
 
+// Special mode of NX_DFR
 (* blackbox *)
-module NX_ECC(CKD, CHK, COR, ERR);
-    input CHK;
-    input CKD;
-    output COR;
-    output ERR;
+module NX_BFR(I, O);
+    input I;
+    output O;
+    parameter data_inv = 1'b0;
+    parameter iobname = "";
+    parameter location = "";
+    parameter mode = 0;
+    parameter path = 0;
+    parameter ring = 0;
 endmodule
 
 (* blackbox *)
@@ -203,26 +176,6 @@ module NX_IOB_O(I, C, T, IO);
     parameter weakTermination = "";
 endmodule
 
-(* blackbox *)
-module NX_IOM_BIN2GRP(GS, DS, GVON, GVIN, GVDN, PA, LA);
-    input [1:0] DS;
-    input GS;
-    output [2:0] GVDN;
-    output [2:0] GVIN;
-    output [2:0] GVON;
-    input [5:0] LA;
-    output [3:0] PA;
-endmodule
-
-//(* blackbox *)
-//module NX_LUT(I1, I2, I3, I4, O);
-//    input I1;
-//    input I2;
-//    input I3;
-//    input I4;
-//    output O;
-//    parameter lut_table = 16'b0000000000000000;
-//endmodule
 
 (* blackbox *)
 module NX_RAM(ACK, ACKC, ACKD, ACKR, BCK, BCKC, BCKD, BCKR, AI1, AI2, AI3, AI4, AI5, AI6, AI7, AI8, AI9, AI10, AI11, AI12, AI13
@@ -396,6 +349,28 @@ module NX_RAM(ACK, ACKC, ACKD, ACKR, BCK, BCKC, BCKD, BCKR, AI1, AI2, AI3, AI4,
     parameter std_mode = "";
 endmodule
 
+// NX_RAM related
+(* blackbox *)
+module NX_ECC(CKD, CHK, COR, ERR);
+    input CHK;
+    input CKD;
+    output COR;
+    output ERR;
+endmodule
+
+//TODO
+(* blackbox *)
+module NX_IOM_BIN2GRP(GS, DS, GVON, GVIN, GVDN, PA, LA);
+    input [1:0] DS;
+    input GS;
+    output [2:0] GVDN;
+    output [2:0] GVIN;
+    output [2:0] GVON;
+    input [5:0] LA;
+    output [3:0] PA;
+endmodule
+
+//TODO
 (* blackbox *)
 module NX_SER(FCK, SCK, R, IO, DCK, DRL, I, DS, DRA, DRI, DRO, DID);
     input DCK;
@@ -422,6 +397,41 @@ module NX_SER(FCK, SCK, R, IO, DCK, DRL, I, DS, DRA, DRI, DRO, DID);
     parameter standard = "";
 endmodule
 
+//TODO
+(* blackbox *)
+module NX_DES(FCK, SCK, R, IO, DCK, DRL, DIG, FZ, FLD, FLG, O, DS, DRA, DRI, DRO, DID);
+    input DCK;
+    output [5:0] DID;
+    input DIG;
+    input [5:0] DRA;
+    input [5:0] DRI;
+    input DRL;
+    output [5:0] DRO;
+    input [1:0] DS;
+    input FCK;
+    output FLD;
+    output FLG;
+    input FZ;
+    input IO;
+    output [4:0] O;
+    input R;
+    input SCK;
+    parameter data_size = 5;
+    parameter differential = "";
+    parameter dpath_dynamic = 1'b0;
+    parameter drive = "";
+    parameter inputDelayLine = "";
+    parameter inputSignalSlope = "";
+    parameter location = "";
+    parameter locked = 1'b0;
+    parameter standard = "";
+    parameter termination = "";
+    parameter terminationReference = "";
+    parameter turbo = "";
+    parameter weakTermination = "";
+endmodule
+
+//TODO
 (* blackbox *)
 module NX_SERDES(FCK, SCK, RTX, RRX, CI, CCK, CL, CR, IO, DCK, DRL, DIG, FZ, FLD, FLG, I, O, DS, DRA, DRI, DRO
 , DID);