diff --git a/include/ana/globals.h b/include/ana/globals.h index 7d0ec2c92c45fbc260be15ac17e6822127aa680c..ac76281dfca7776bd1b095b9c3bd3f1ecc8067da 100644 --- a/include/ana/globals.h +++ b/include/ana/globals.h @@ -163,26 +163,26 @@ /** - * This first block represents simulation and extraction information for - * each of the cells in the cell library. The information is help in an - * array of all cells, indexed by identification number, which is initialized - * by program at runtime. - */ + This first block represents simulation and extraction information for + each of the cells in the cell library. The information is help in an + array of all cells, indexed by identification number, which is initialized + by program at runtime. +*/ typedef enum { ANALOG_ACT_NEWKIND, ///< Initialize a new kind - ANALOG_ACT_EX, ///< Contribute to matrix - ANALOG_ACT_PREUPDATE, ///< Calculations before updating - ANALOG_ACT_UPDATE, ///< Update memory elements - ANALOG_ACT_DISPLAY, ///< Update display - ANALOG_ACT_IIN, ///< Relate current of a pin - ANALOG_ACT_PASS1, ///< First pass of guess - ANALOG_ACT_PASS2, ///< econd pass of guess - ANALOG_ACT_ATTRCHANGE, ///< Checks attribute changes - ANALOG_ACT_RESET, ///< Resets memory elements - ANALOG_ACT_SET, ///< Sets state at reset - ANALOG_ACT_CLEAR, ///< Clears state at reset - ANALOG_ACT_REFRESH, ///< Refresh display - ANALOG_ACT_ERASE, ///< Erase display + ANALOG_ACT_EX, ///< Contribute to matrix + ANALOG_ACT_PREUPDATE, ///< Calculations before updating + ANALOG_ACT_UPDATE, ///< Update memory elements + ANALOG_ACT_DISPLAY, ///< Update display + ANALOG_ACT_IIN, ///< Relate current of a pin + ANALOG_ACT_PASS1, ///< First pass of guess + ANALOG_ACT_PASS2, ///< econd pass of guess + ANALOG_ACT_ATTRCHANGE, ///< Checks attribute changes + ANALOG_ACT_RESET, ///< Resets memory elements + ANALOG_ACT_SET, ///< Sets state at reset + ANALOG_ACT_CLEAR, ///< Clears state at reset + ANALOG_ACT_REFRESH, ///< Refresh display + ANALOG_ACT_ERASE, ///< Erase display ANALOG_ACT_TOUCH, ///< Touch a gate ANALOG_ACT_DISCONNECT, ///< Twiddle meters ANALOG_ACT_NEWGATE, ///< Make a new instance @@ -197,16 +197,16 @@ typedef enum { typedef struct Analog_32_action { - Analog_32_actionkinds action; ///< Desired Action - log_krec *kind; ///< Kind of interest - log_grec *inst; ///< Gate of interest - long pin; ///< Pin of interest - long page; ///< Page of interest - double Iin; ///< Current of pin of interest - int ok; ///< An error flag - int accepted; ///< Another error flag - char message[256]; ///< A scoreboard message - long messagenum; ///< purpose of message + Analog_32_actionkinds action; ///< Desired Action + log_krec *kind; ///< Kind of interest + log_grec *inst; ///< Gate of interest + long pin; ///< Pin of interest + long page; ///< Page of interest + double Iin; ///< Current of pin of interest + int ok; ///< An error flag + int accepted; ///< Another error flag + char message[256]; ///< A scoreboard message + long messagenum; ///< purpose of message } Analog_32_action; @@ -218,13 +218,13 @@ typedef struct Analog_32_action { */ typedef struct Anapinrec { int standalone; /**< Says if a pin is allowed to be unconnected without - underconstraining the system. For example, an - inverter would have standalone=true, while a - source grounded NMOS transistor's current input - would have a value standalone=false. Used for - syntax checking */ + underconstraining the system. For example, an + inverter would have standalone=true, while a + source grounded NMOS transistor's current input + would have a value standalone=false. Used for + syntax checking */ int active; /**< Says if the pin counts as a connection for syntax - checking of other gates. */ + checking of other gates. */ } Anapinrec; typedef Anapinrec Anaparray[AnaLarge]; @@ -233,25 +233,25 @@ typedef Anapinrec Anaparray[AnaLarge]; /** After a successful simulation, all cells that store energy must be allowed - * to update its state. Thus each cell has an procedure pointer for update, - * which may be set to nil for memoryless procedures. This is how cells like - * scopes will communicate its information back to LOG in the final version - * The parameters are the same as for ex_proc. Update phase takes into account - * the ordering of updates; first-phase updates are non-destructive, i.e current - * meters, while second-phase updates are destructive, like system memory. - */ + to update its state. Thus each cell has an procedure pointer for update, + which may be set to nil for memoryless procedures. This is how cells like + scopes will communicate its information back to LOG in the final version + The parameters are the same as for ex_proc. Update phase takes into account + the ordering of updates; first-phase updates are non-destructive, i.e current + meters, while second-phase updates are destructive, like system memory. +*/ typedef enum { Anasimple, Anacomplex } Anaupdate_phase; /** @brief The complete cell descriptor - * - * A current meter arrow may be pointed at any pin of any gate. To enable - * the operation of this feature, each gate type must have a procedure that - * can return the current into any node a pin is connected to, - * given the nodemap aand attr fields. - */ + + A current meter arrow may be pointed at any pin of any gate. To enable + the operation of this feature, each gate type must have a procedure that + can return the current into any node a pin is connected to, + given the nodemap aand attr fields. +*/ typedef struct AnaCell_rec { int simulatable; ///< Can this gate be simulated? void (*proc_cell) (Analog_32_action *act); @@ -328,7 +328,7 @@ typedef struct Anainstlist { } Anainstlist; /** @brief To insure swift pen movement regardless of circuit size, I am breaking - the execution up into units. The following variable deals with this */ + the execution up into units. The following variable deals with this */ typedef enum { AnaE_Evaluate, AnaE_Solve, AnaE_Calculate, AnaE_Refresh, AnaE_Adapt, AnaE_Memory1, AnaE_Memory2, AnaE_Update @@ -500,8 +500,8 @@ vextern double AnaTol; ///< Maximum percentage difference for convergance vextern double AnaEqn_Epsilon; ///< epsilon for equation solver vextern double AnaVardone_Epsilon; ///< epsilon for eqn zero test -vextern double AnaTimefactor; ///< How much to scale timestep -vextern double AnaTimemin; ///< lowest allowable timestep +vextern double AnaTimefactor; ///< How much to scale timestep +vextern double AnaTimemin; ///< lowest allowable timestep vextern long AnaIterfirstmax; ///< Number of iterations for first try vextern long AnaTimeincrease; ///< Factor to increase maximum interation by vextern double AnaSrange; ///< Range of optimal voltage steps in simulation @@ -576,53 +576,53 @@ extern int AnaVrange (log_grec *Inst, long Attrnum); /// Physical constants, independent of fabrication process typedef struct AnaPhysicalConstants { - double T; ///< Temperature (degree K) - double k; ///< Boltzmann's Constant (Joules/degree K) - double q; ///< Charge on an electron (Coulombs) - double e_v; ///< Permittivity of vacumn (F/m) - double e_s; ///< Permittivity of Si (F/m) - double e_ox; ///< Permittivity of SiO2 (F/m) + double T; ///< Temperature (degree K) + double k; ///< Boltzmann's Constant (Joules/degree K) + double q; ///< Charge on an electron (Coulombs) + double e_v; ///< Permittivity of vacumn (F/m) + double e_s; ///< Permittivity of Si (F/m) + double e_ox; ///< Permittivity of SiO2 (F/m) - double Ut; ///< k*T/q + double Ut; ///< k*T/q } AnaPhysicalConstants; /// Fabrication parameters, independent of device type. typedef struct AnaFabParameters { - double phi_ms; ///< silicon-oxide interface charge + double phi_ms; ///< silicon-oxide interface charge - double Eg; ///< Bandgap voltage, temperature-dependent - double ni; ///< ni, temperature-dependent - double lambda; ///< lithography scaling factor - char fabrun[256]; ///< name of fabrication run - char process[256]; ///< name of fabrication process + double Eg; ///< Bandgap voltage, temperature-dependent + double ni; ///< ni, temperature-dependent + double lambda; ///< lithography scaling factor + char fabrun[256]; ///< name of fabrication run + char process[256]; ///< name of fabrication process }AnaFabParameters; /// Fabrication parameters, different for N/P channel devices typedef struct AnaChannelParameters { - short nsign; ///< 1 for nchannel, -1 for pchannel - - double Tox; ///< oxide thickness -- meters - double psi; ///< potential at depletion edge -- V - double Na; ///< bulk doping concentration -- 1/cm^3 - double mu0; ///< carrier mobility -- cm^2/(V*s) - double deltaW; ///< W drawn-->effective correction -- um - double deltaL; ///< L drawn-->effective correction -- um - double del_NaS; ///< slope for Na offset dependence - double Early_s; ///< slope term for Early Effect - double L_0; ///< intercept term for Early Effect - - double Qss; ///< fixed oxide charge -- C - double del_Na0; ///< intercept for Na offset dependence - double del_mu; ///< offset for mobility (unitless) - - double aCactive; ///< Capacitance/um^2, active - double aCwell; ///< Capacitance/um^2, well - double linCgs; ///< Capacitance/um, gate-source/drain - double aCgw; ///< Capacitance/um^2, equiv linear gate C - - double Cox; ///< e_ox/Tox F/m^2 - double mu; ///< temperature-dependent mobility + short nsign; ///< 1 for nchannel, -1 for pchannel + + double Tox; ///< oxide thickness -- meters + double psi; ///< potential at depletion edge -- V + double Na; ///< bulk doping concentration -- 1/cm^3 + double mu0; ///< carrier mobility -- cm^2/(V*s) + double deltaW; ///< W drawn-->effective correction -- um + double deltaL; ///< L drawn-->effective correction -- um + double del_NaS; ///< slope for Na offset dependence + double Early_s; ///< slope term for Early Effect + double L_0; ///< intercept term for Early Effect + + double Qss; ///< fixed oxide charge -- C + double del_Na0; ///< intercept for Na offset dependence + double del_mu; ///< offset for mobility (unitless) + + double aCactive; ///< Capacitance/um^2, active + double aCwell; ///< Capacitance/um^2, well + double linCgs; ///< Capacitance/um, gate-source/drain + double aCgw; ///< Capacitance/um^2, equiv linear gate C + + double Cox; ///< e_ox/Tox F/m^2 + double mu; ///< temperature-dependent mobility }AnaChannelParameters; diff --git a/src/gate.c b/src/gate.c index a42eff0eab7cfe0fc7bd8bbb8e7f8b2cb5cbca94..ea6e95bd3a4b96718ac25e317db8d5ff242d108f 100644 --- a/src/gate.c +++ b/src/gate.c @@ -14,7 +14,7 @@ #include "page.h" #include "tool.h" -/// Check if inside a gate's "yellow box." +/// Check if inside a gate's "yellow box." /** new version by Tim Edwards, Dec 1996 */ int insidegate(log_grec *gate, short x, short y) { @@ -90,10 +90,10 @@ void eragate(log_grec *gate) gate->conflict2 = false; gate->oconflict = false; } - + drawgatec(gate->x, gate->y, gate->g, gg.color.backgr); gsignallabel(gate->x, gate->y, gate, gg.color.backgr); - + if (gate->kind->numpnums > 0) drawpnums(gate, gg.color.backgr); @@ -183,11 +183,11 @@ void copygate(log_grec *old, log_grec **gate) gateconflictbase = *gate; } (*gate)->pin = (log_nrec **)Malloc((*gate)->kind->numpins * sizeof(log_nrec *)); - + long numpins = (*gate)->kind->numpins; for (long i = 0; i < numpins; i++) (*gate)->pin[i] = old->pin[i]; - + (*gate)->pinpos = (log_pinposrec *) Malloc((*gate)->kind->numpins * sizeof(log_pinposrec)); @@ -258,8 +258,8 @@ void disposegate(log_grec **gate) } /** @brief Find which gate (if any) is under cursor. - * Also checks for textual labels. - */ + Also checks for textual labels. +*/ void closergate(short x, short y) { if (gg.textinvisible) @@ -517,8 +517,8 @@ void initpinpos(log_grec *gate) } /** @brief Check each pin of a gate and - * connect to wires, other pins as necessary. - */ + connect to wires, other pins as necessary. +*/ int connectgate(log_grec *gate) { int Result; diff --git a/src/label.c b/src/label.c index ccdd0174f3c3844b6f08e7b1e382807cc2d7b52f..3df1b34ee7928384a74a1ef65d7a919963ef670f 100644 --- a/src/label.c +++ b/src/label.c @@ -12,9 +12,9 @@ /** - * @param lbl: list of character to parse - * @param numattrs: number of found attributs - * @param attr: vector containing parsed attributs + @param lbl: list of character to parse + @param numattrs: number of found attributs + @param attr: vector containing parsed attributs */ void parselabel(strlist_t **lbl, short *numattrs, log_kattrrec **attr) { diff --git a/src/log.c b/src/log.c index 085a9517560b157b47ab092daa18a12cf28a493f..95364ffc80843b9563eda9dbcfcd66b8a04c8117 100644 --- a/src/log.c +++ b/src/log.c @@ -574,8 +574,8 @@ static log_krec *peninkind(short xx, short yy) } /** @brief Find which wire, pin, or gate the Probe is touching - * and set PROBENODE or PROBEGATE to its address. - */ + and set PROBENODE or PROBEGATE to its address. +*/ static void testprobe(short xx, short yy) { log_grec *g; @@ -836,26 +836,26 @@ void resetmessages() } /** @brief Debug function to show current number of events received - * and current simulation time. - */ + and current simulation time. +*/ static void show_events() { /*zEMBED - char buf[30]; - int m_events_received; - static int old_events, old_serial, old_time; - int serial, time = timers_sysclock() / 200; - sprintf(buf, "%d", m_events_received); - m_color(log_red); - if (m_events_received > old_events) - drawstr2(5, 20, buf); - old_events = m_events_received; - sprintf(buf, "%d", serial = XNextRequest(m_display)); - if (serial > old_serial && time != old_time) - drawstr2(5, 29, buf), - old_serial = serial + 2, - old_time = time; - */ + char buf[30]; + int m_events_received; + static int old_events, old_serial, old_time; + int serial, time = timers_sysclock() / 200; + sprintf(buf, "%d", m_events_received); + m_color(log_red); + if (m_events_received > old_events) + drawstr2(5, 20, buf); + old_events = m_events_received; + sprintf(buf, "%d", serial = XNextRequest(m_display)); + if (serial > old_serial && time != old_time) + drawstr2(5, 29, buf), + old_serial = serial + 2, + old_time = time; + */ } @@ -867,18 +867,18 @@ static int pollkbd2() /** @brief Find the position of the pen. - * Also draws the cursor, runs logic probe and handles Rabbit mode. - * - * Returns: - * - D, D0 if the pen is/was down; - * - N, N0 if the pen is/was near; - * - DN, UP if the pen is pressed/released; - * - NR if pen remains near; - * - OFFSCREEN if pen is off the screen edge; - * - PX, PY, PX0, PY0 = new/old position; - * - FX, FY = position in grid coordinates; - * - MENUBOX = menu box number (0-15); - */ + Also draws the cursor, runs logic probe and handles Rabbit mode. + + Returns: + - D, D0 if the pen is/was down; + - N, N0 if the pen is/was near; + - DN, UP if the pen is pressed/released; + - NR if pen remains near; + - OFFSCREEN if pen is off the screen edge; + - PX, PY, PX0, PY0 = new/old position; + - FX, FY = position in grid coordinates; + - MENUBOX = menu box number (0-15); +*/ void pen() { @@ -1455,9 +1455,9 @@ static void getnodeval(log_nrec *n, double *val, char *opts) *val = gg.actval; } -/** @brief Make one simulation pass through the circuit. - * For each page, call the simulator(s) and do other simulation-related chores. - */ +/** @brief Make one simulation pass through the circuit. + For each page, call the simulator(s) and do other simulation-related chores. +*/ void pass() { log_grec *g, *g1, *g2; @@ -2056,7 +2056,7 @@ void copyattrs(log_gattrrec **gattr, log_gattrrec *oldattr, short numattrs, log_ } } -/// Link box to the current page. +/// Link box to the current page. static void linkbox(log_brec *b) { b->next = gg.pages[gg.curpage - 1]->bbase; @@ -2064,7 +2064,7 @@ static void linkbox(log_brec *b) stamp(&gg.boxstamp); } -/// Creates a Box +/// Creates a Box void newbox(log_brec **b) { *b = (log_brec *)Malloc(sizeof(log_brec)); @@ -2072,7 +2072,7 @@ void newbox(log_brec **b) linkbox(*b); } -/// Unlink box from the pages. +/// Unlink box from the pages. static void unlinkbox(log_brec *b) { log_brec *b1; @@ -2088,7 +2088,7 @@ static void unlinkbox(log_brec *b) stamp(&gg.boxstamp); } -/// Dispose of a dashed box. +/// Dispose of a dashed box. static void dispbox(log_brec **b) { unlinkbox(*b); @@ -2268,7 +2268,7 @@ static void purgesignaltab() } -/// Check each node and get rid of ones that are no longer used. +/// Check each node and get rid of ones that are no longer used. void garbagecoll() { log_nrec *node; @@ -2330,11 +2330,11 @@ void garbagecoll() } -/** @brief Find the number associated with a signal name. - * - * If it doesn't exist, create it. - * If not enough room, issue an error and - * return zero. +/** @brief Find the number associated with a signal name. + + If it doesn't exist, create it. + If not enough room, issue an error and + return zero. */ short getsignal(int d, char *n_) { @@ -3400,9 +3400,9 @@ static int bufissmall(baseptrs *bases) } -/** @brief Cut or Copy all gates/wires/solder points in a rectangular area. - * Previous contents of Copy buffer are lost. - */ +/** @brief Cut or Copy all gates/wires/solder points in a rectangular area. + Previous contents of Copy buffer are lost. +*/ static void cutcopy(baseptrs *bases, short x1, short y1, short x2, short y2, int cut, int tap) { log_grec *g, *g1, *g2; @@ -4117,11 +4117,11 @@ static void xororiginal() } /** @brief Enter Paste mode. - * - * When cursor is pressed,a dd a copy of all gates/wires in Copy buffer at the pen position. - * - * If the pen is held still, XOR a picture of what would be added if pen is pressed. - */ + + When cursor is pressed,a dd a copy of all gates/wires in Copy buffer at the pen position. + + If the pen is held still, XOR a picture of what would be added if pen is pressed. +*/ static void pastecommand(long movemode) { short thepage; @@ -4259,7 +4259,7 @@ static void extract() clearfunc(); } -/// Enter Copy mode. +/// Enter Copy mode. static void copycommand() { short x1, y1, x2, y2; @@ -4279,9 +4279,9 @@ static void copycommand() } /** @brief Enter Move mode. - * - * Sweep out an area, then move all objects in that area to a new position. - */ + + Sweep out an area, then move all objects in that area to a new position. +*/ static void movecommand(int waitflag) { short x1, y1, x2, y2; @@ -4887,8 +4887,8 @@ static void xorrect(short x1, short y1, short x2, short y2) /// Open space horizontally. /** - * This means "put everything aside horizontally." - */ + This means "put everything aside horizontally." +*/ static void openhoriz() { log_grec *g; @@ -5055,8 +5055,8 @@ static void xorrect_(short x1, short y1, short x2, short y2) /// Open space vertically. /** - * This means "put everything aside vertically." - */ + This means "put everything aside vertically." +*/ static void openvert() { log_grec *g; @@ -5752,14 +5752,13 @@ static void centercommand() } /** @brief Compare string S with template string T. - * - * T allows wildcards: - * - * - % matches any character in S. - * - * matches zero or more characters in S. - * - ? and = are equivalent to *. - * - ; precedes group number(s). - */ + + T allows wildcards: + - % matches any character in S. + - * matches zero or more characters in S. + - ? and = are equivalent to *. + - ; precedes group number(s). +*/ static int comparestr(char *s_, uchar g, char *t_) { int Result; @@ -5924,10 +5923,10 @@ static log_pnumrec readpnum(char *rec) /** @brief Read gate(s) named from library and enter into the catalog. - * - * If catalog is full, attempt to replace a gate-kind which is - * no longer used. - */ + + If catalog is full, attempt to replace a gate-kind which is + no longer used. +*/ static short readlibrary_at(char *n_, short where, int loadit) { struct LOC_readlibrary_at V; @@ -6825,11 +6824,11 @@ static short kfunc(short *i, short *j, struct LOC_listlibrary *LINK) } /** @brief List the gates available in the library. - * - * - + or space bar displays next page; - * - - displays previous page; - * - anything else returns to Instructions. - */ + + - + or space bar displays next page; + - - displays previous page; + - anything else returns to Instructions. +*/ static void listlibrary() { struct LOC_listlibrary V; @@ -12096,10 +12095,10 @@ static void statusdisplay(char *name_) /** @brief Process a pop-up menu selection. - * - * Menu items are named in MENU. - * Use result to look up in table S to find a char. - */ + + Menu items are named in MENU. + Use result to look up in table S to find a char. +*/ static void popupmenu(short num) { short i, j, x, y, xx, x0, y0, x1, y1, x00, y00; @@ -13658,10 +13657,10 @@ static void readcnf(char *fn_, struct LOC_initialize *LINK) } /** @brief Initialize all variables. - * Read basic gates from library. - * Clear catalog screen. - * Initialize global data structures. - */ + Read basic gates from library. + Clear catalog screen. + Initialize global data structures. +*/ static void initialize() { struct LOC_initialize V; @@ -14280,11 +14279,11 @@ static void shownews() } -/** @brief Initialize. - * Then Process pen: Add gates. Add wires and solder them. - * Refresh screen when necessary. - * Process keyboard and menu areas. - */ +/** @brief Initialize. + Then Process pen: Add gates. Add wires and solder them. + Refresh screen when necessary. + Process keyboard and menu areas. +*/ int main(int argc, char * argv[]) { char str1[81]; diff --git a/src/node.c b/src/node.c index 02f7f29a38642f875cd1f8705c7502930b2d0194..5e01e8f56b7b349ad7ace766b182f8d28b57b7d7 100644 --- a/src/node.c +++ b/src/node.c @@ -179,9 +179,9 @@ void switchnode(log_nrec **node, log_nrec *n2) } } -/** @brief Print a detailed dissection of the major data structures. - * For debugging only. - */ +/** @brief Print a detailed dissection of the major data structures. + For debugging only. +*/ void dumpnodes() { log_nrec *n, *n1; diff --git a/src/screen.c b/src/screen.c index a5ca688037cf974a6dcfb15ec4cea57bac9c16f8..a008c866f6905f61a043829776defc148d361a25 100644 --- a/src/screen.c +++ b/src/screen.c @@ -260,7 +260,7 @@ void drawnum1(short x, short y, short n) } -/// Draw a two-digit number at the specified position (screen coordinates). +/// Draw a two-digit number at the specified position (screen coordinates). void drawnum2(short x, short y, short n) { char s[3]; @@ -401,11 +401,11 @@ void addrabbit() } /** @brief Attempt to force a line to be horizontal - * or vertical. If possible, second pair - * of coordinates is changed appropriately. - * - * @returns true if possible, false if not. - */ + or vertical. If possible, second pair + of coordinates is changed appropriately. + + @returns true if possible, false if not. +*/ int hvline(short x1, short y1, short *x2, short *y2) { int Result; @@ -433,7 +433,7 @@ void fixxy(short *x, short *y) *y = (*y + gg.yoff + gg.hscale) / gg.scale * gg.scale - gg.yoff; } -/// Turn off crosshair (no effect until next call of CURSOR). +/// Turn off crosshair (no effect until next call of CURSOR). void nocrosshair() { chairflag2 = false; @@ -448,22 +448,22 @@ void crosshair(short x, short y) chairflag2 = true; } -/** @brief Draw the cursor on the screen. - * The exact shape drawn depends upon the - * current mode. - * If the cursor is already on the screen, it - * is removed. - * - * Possible cursors: - * - Arrow (normal). - * - Probe (if Logic Probe mode). - * - Big crosshair (if "Grid" mode on). - * - Long arrow (if Copy command). - * - Scissors (if Delete command). - * - Rectangle (if Paste command). - * - Green line (if drawing a wire). - * - Rabbit (if Rabbit mode). - */ +/** @brief Draw the cursor on the screen. + The exact shape drawn depends upon the + current mode. + If the cursor is already on the screen, it + is removed. + + Possible cursors: + - Arrow (normal). + - Probe (if Logic Probe mode). + - Big crosshair (if "Grid" mode on). + - Long arrow (if Copy command). + - Scissors (if Delete command). + - Rectangle (if Paste command). + - Green line (if drawing a wire). + - Rabbit (if Rabbit mode). +*/ void xorcursor() { long curcm; @@ -1772,7 +1772,7 @@ void drawnode(log_nrec *n) } -/// Refresh the page-number display. +/// Refresh the page-number display. void refrpagedisp() { short num; diff --git a/src/utils/p2c.c b/src/utils/p2c.c index ef192cf05eaa4c763757a4ee2fdb569e299c0e75..6d6cef2fe145b4ba866b2922674e9e7fd2fe5780 100644 --- a/src/utils/p2c.c +++ b/src/utils/p2c.c @@ -85,7 +85,7 @@ char *strsub(char *ret, char *s, size_t pos, size_t len) /** Return the index of the first occurrence of "pat" as a substring of "s", - starting at index "pos" (1-based). Result is 1-based, 0 if not found. */ + starting at index "pos" (1-based). Result is 1-based, 0 if not found. */ size_t strpos2(char *s, char *pat, size_t pos) { char *cp, ch; diff --git a/src/wire.c b/src/wire.c index 9ee8f223ab1d43f5ae352af2c9d2367a0ae668a1..ec212748fcadec24c36c0ea406352e59ad414ad6 100644 --- a/src/wire.c +++ b/src/wire.c @@ -641,12 +641,12 @@ void delvwire(log_vwrec *vw) #define rtn "ADDHWIRE" /** @brief Add a Horizontal wire. - * - * Merge with other horizontal wires if touching; - * solder to other vertical wires in T-intersections; - * connect to gate pins as necessary. - * VLSI-mode rules are more complex! - */ + + Merge with other horizontal wires if touching; + solder to other vertical wires in T-intersections; + connect to gate pins as necessary. + VLSI-mode rules are more complex! +*/ void addhwire(short x1, short x2, short y, short colr) { cnrec *cnbase; @@ -790,12 +790,12 @@ void addhwire2(short x1, short x2, short y) #define rtn "ADDHWIRE" /** @brief Add a vertical wire. - * - * Merge with other vertical wires if touching; - * solder to other horizontal wires in T-intersections; - * connect to gate pins as necessary. - * VLSI-mode rules are more complex! - */ + + Merge with other vertical wires if touching; + solder to other horizontal wires in T-intersections; + connect to gate pins as necessary. + VLSI-mode rules are more complex! +*/ void addvwire(short x, short y1, short y2, short colr) { cnrec *cnbase;