Tubii_Tk2/Parts/parts/standard/sign#20extend/sch_1/page1.csa
2015-02-27 19:09:38 -05:00

134 lines
3.0 KiB
Plaintext

FILE_TYPE = MACRO_DRAWING;
FORCENOTE
THEORY OF OPERATION
(1250 4400) 0;
DISPLAY 1.488 (1250 4400);
WIRE 0 -1 (3100 4500)(3100 4350);
WIRE 0 -1 (650 4500)(3100 4500);
WIRE 0 -1 (650 4350)(650 4500);
WIRE 0 -1 (650 4350)(650 3550);
WIRE 0 -1 (3100 4350)(650 4350);
WIRE 0 -1 (3100 3550)(3100 4350);
WIRE 0 -1 (650 3550)(3100 3550);
FORCENOTE
IT WITH A SIGNAL PROPERTY (\R). ONLY THE DESIRED NUMBER
(700 3700) 0;
FORCENOTE
IS REPLICATED BY GIVING IT A LOCAL NAME AND REPLICATING
(700 3750) 0;
FORCENOTE
CONCATENATING THE OUTPUT SIGNAL WITH ANOTHER NC. THE MSB
(700 3800) 0;
FORCENOTE
THE EXTRA SIGNAL (NC) IS EXTRACTED FROM THE OUTPUT BY
(700 3850) 0;
FORCENOTE
SIGNAL IS ALWAYS AT LEAST 2 BITS WIDE (INPUT AND THE NC).
(700 3900) 0;
FORCENOTE
WHICH ENSURE THAT THE INPUT TO THE 2 MERGE WITH THE INPUT
(700 3950) 0;
FORCENOTE
BIT WIDE IS COVERED THROUGH THE USE OF THE TWO NC SIGNALS
(700 4000) 0;
FORCENOTE
2 MERGE. THE CASE IN WHICH THE INPUT SIGNAL IS ONE
(700 4050) 0;
FORCENOTE
SIGNIFICANT BIT OF THE INPUT SIGNAL IS EXTRACTED WITH A
(700 4100) 0;
FORCENOTE
CONNECTED TO SIGNALS OF ANY WIDTH. SECOND, THE MOST
(700 4150) 0;
FORCENOTE
NAMES HAVE THE \NWC PROPERTY ALLOWING THEM TO BE
(700 4200) 0;
FORCENOTE
THIS SIGN EXTENDER USES TWO TRICKS. FIRST, THE PIN
(700 4250) 0;
WIRE 0 -1 (700 2800)(500 2800);
FORCEPROP 0 LAST SIG_NAME INPUT \I : NC \R 1
J 0
(-300 2800);
WIRE 0 -1 (3050 3000)(3250 3000);
FORCEPROP 0 LAST SIG_NAME OUTPUT <SIZE-1..0> \I : NC\R 1
J 0
(3300 3000);
WIRE 0 -1 (850 2850)(1500 2850);
FORCEPROP 0 LAST SIG_NAME MSB OF INPUT \L
J 0
(900 2900);
WIRE 0 -1 (2600 2950)(2900 2950);
WIRE 0 -1 (2600 2750)(2600 2950);
WIRE 0 -1 (850 2750)(2600 2750);
FORCEADD 2 MERGE..1
(3000 3000);
FORCEPROP 0 LAST NEEDS_NO_SIZE TRUE
J 0
(3025 3075);
DISPLAY I (3025 3075);
FORCEPROP 0 LAST PATH 1P
J 0
(3000 2950);
FORCEADD 2 MERGE..2
(750 2800);
FORCEPROP 0 LAST NEEDS_NO_SIZE TRUE
J 0
(775 2875);
DISPLAY I (775 2875);
FORCEPROP 0 LAST PATH 2P
J 0
(650 2700);
FORCEADD DRAWING..1
(2250 2500);
FORCEPROP 0 LAST ABBREV SGNX
J 0
(2050 2350);
DISPLAY B (2050 2350);
FORCEPROP 0 LAST TITLE SIGN EXTEND
J 0
(2050 2400);
DISPLAY B (2050 2400);
FORCEPROP 0 LAST LAST_MODIFIED Thu Mar 29 17:59:46 1984
J 0
(2050 2250);
DISPLAY B (2050 2250);
FORCEADD DEFINE..1
(1250 2500);
FORCEPROP 0 LAST X_STEP SIZE
J 0
(1025 2300);
DISPLAY B (1025 2300);
FORCEPROP 0 LAST X_FIRST 0
J 0
(1075 2400);
DISPLAY B (1075 2400);
FORCEADD 2 MERGE..2
(2000 3250);
FORCEPROP 0 LAST NEEDS_NO_SIZE TRUE
J 0
(2025 3325);
DISPLAY I (2025 3325);
FORCEPROP 0 LAST PATH 3P
J 0
(1900 3150);
WIRE 0 -1 (500 3250)(1950 3250);
FORCEPROP 0 LAST SIG_NAME NC \R 1 : MSB OF INPUT \L \R SIZE
J 0
(500 3300);
WIRE 0 -1 (2100 3200)(2600 3200);
WIRE 0 -1 (2600 3200)(2600 3050);
WIRE 0 -1 (2600 3050)(2900 3050);
WIRE 0 -1 (2100 3300)(2600 3300);
FORCEPROP 0 LAST SIG_NAME NC
J 0
(2650 3300);
FORCENOTE
OF THESE REPLICATED SIGNALS ARE CONCATENATED TO THE OUTPUT
(700 3650) 0;
FORCENOTE
SIGNAL TO CONSTRUCT A SIGNAL OF SIZE BITS.
(700 3600) 0;
GRID .100 5 OFF;
QUIT