NL7809398A - Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. - Google Patents
Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. Download PDFInfo
- Publication number
- NL7809398A NL7809398A NL7809398A NL7809398A NL7809398A NL 7809398 A NL7809398 A NL 7809398A NL 7809398 A NL7809398 A NL 7809398A NL 7809398 A NL7809398 A NL 7809398A NL 7809398 A NL7809398 A NL 7809398A
- Authority
- NL
- Netherlands
- Prior art keywords
- modules
- bit
- sign
- significant
- group
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
- G06F7/5312—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Logic Circuits (AREA)
Description
jV
* li i PHN 9223................................
N.V. Philips’ Gloeilampenfabrieken te Eindhoven.
"Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie" ·
De uitvinding betreft een inrichting voor het vermenigvuldigen van een eerste en een tweede binair getal, welke getallen respektievelijk ten hoogste q en p (p,q^2) bitposities bevatten, welke inrichting bevat eerste midde— 5 len voor het vormen van de aldus ten hoogste p x q bitsge- wijze deelprodukten van genoemde twee getallen, tweede middelen welke bevatten een arrangement (array) van (p—1) x q arithmetische modules waarvan er (p-1) voorzien zijn van tenminste twee en de overige voorzien zijn van drie 10 ingangen om telkens van twee, respektievelijk drie, ont vangbare binaire grootheden met inachtneming van derzelver teken een algebraïsche som en daaruit een tweebitsgetal 'van resultaat en overdracht te vormen, welke modules geschakeld zijn volgens bitsgewijs overeenstemmende signifi-15 kantieniveau’s om genoemde deelprodukten te ontvangen als mede overeenstemmende bits van genoemde resultaten totdat per signifikantieniveau een enkele eindresultaatbit is gegenereerd op de uitgangen van (p + q - 2) modules alsmede een extra bit van hoogste signifikantie op een speciale 20 uitgang van de meest signifikante van genoemde (p + q-2) modules en een bit van laagste signifikantie op de uitgang van laagste signifikantie der genoemde eerste middelen.
Vermenigvuldiginrichting van verschillende typen zijn beschreven in het boek "Theory and application of 25 digital Signal processing" door L.R. Rabiner en B. Gold, baJM.^ 9 8 2 - _ PHN .9223_______________________________
Prentice Hall, 1975» met name het hoofdstuk op biz.
514-524, en in het bijzonder Fig. 8.35· Twee-component notatie is zeer gebruikelijk geworden bij optellen van binaire getallen, maar minder bij vermenigvuldigen. In 5 het laatste geval wordt nog vaak de voorkeur gegevan aan de "sign magnitude" notatie. Eén van de nadelen van de bekende inrichting is dat genoemde tweede middelen opgebouwd zijn uit drie typen modules die respektievelijk als I, II en V zijn aangeduid, en waarbij elk type een andere 10 waarheidstabel heeft. Voor het vermenigvuldigen van twee faktoren met p, respektievelijk q bitposities heeft de bekende inrichting (p-2)(q-2) modules van type I, (q-2) modules van type II en (p+q-2) modules van type V. Verder beschrijft de literatuurplaats nog modules van de andere 15 typen III, IV die evenwel niet bij genoemde figuur 8.35 worden aangewend. In dit verband wordt al gewezen naar Fig. 1a, 1b, 1c, 1d van de onderhavige octrooiaanvrage.
Fig. 1a-1d, nu geven de vier mogelijkheden voor het optellen, respektievelijk aftrekken van twee binaire cijfers 20 binnen een binair genoteerd getal. Er zijn drie ingangs- grootheden a, b, d, van welke drie er één het overdrachts-ingangssignaal (carry), respektievelijk leeningangssignaal (borrow) van uit de naastlagersignifikante bitpositie aangeeft. Verder zijn deze drie grootheden h. priori ge-25 lijkwaardig, dat wil zeggen van hetzelfde signifikantie- niveau, zij het dat ze een verschillend waarde-interval kunnen hebben. In Fig. 1a-1d is ervoor gekozen dat de grootheden a en b steeds hetzelfde waarde-interval hebben, de grootheid d in Fig. 1b, 1c een afwijkend waarde-inter-30 val. Er zijn twee resultaatbits c, s, waarvan s weer ge lijkwaardig is met de ingangsgrootheden en c als over-drachtuitgangssignaal, respektievelijk leenuitgangssignaal werkt ten aanzien van de naasthogersignifikante bitpositie. Laatstgenoemde heeft dus een twee maal hoger gewicht.
35 Met n is aangegeven de numerieke waarde van het resultaat in arithmetische representatie. De eerste acht cijfer- 7809398
BAD ORIGINAL
9k - 3 - PHN 9223__________ regels geven aan de acht mogelijkheden voor de grootheden a, b, d. De negende cijferregel geeft aan de numerieke waarde van de van nul verschillende binaire waarde van de betreffende grootheid: dit kan dus zijn + 1, +,2. De 5 andere binaire waarde van deze grootheid is dan steeds nul. De tiende cijferregel geeft het gesloten interval aan van het waardebereik van het eindresultaat. Het is duidelijk dat alle kolommen onder "s" identiek zijn. Verder blijkt dat de kolommen onder "c" in Fig. 1a en 1d 10 identiek zijn wat ook geldt voor de figuren 1b en 1c onder ling. Verder zijn deze kolommen tussen de beide paren gelijk als a=b, maar tegengesteld voor a^b, of a®b=1 , waarbij φ de modulo-2 optelling, respektievelijk EXCLUSIEF-OF funktie aangeeft. Het blijkt dus dat alle vier de kom-15 binaties kunnen worden gerealiseerd met slechts een heel- opteller en een heelaftrekker als arithmetische module.
De uitvinding streeft naar een inrichting waarin het aantal op basis van de waarheidstabel ervan verschillende modules verminderd is tot twee en die bovendien op een— 20 voudige manier geschikt is voor het vermenigvuldigen -van zoveel getallen in twee—complement notatie als in de notatie volgens teken en grootte. De uitvinding realiseert de doelstelling doordat hij het kenmerk heeft dat voor het vermenigvuldigen van twee getallen in twee complements— 25 notatie genoemde tweede middelen bevatten een eerste groep van één module (29) om als heelaftrekker het meest signi-fikante deelprodukt met positief voor—teken en twee bits tussen resultaat met negatief voorteken te ontvangen, een tweede groep van één module (25) on» als heelopteller 30 de twee. naastlagersignifikante deelprodukten met negatief voorteken en één bit tussenresultaat met negatief voorteken te ontvangen, een derde groep van (q-3) modules (19) om als heelaftrekkers telkens één, van de meest signifikan-te bitpositié van het tweede getal en de respektievelijke 33 (q-3) op twee na meest signifikante bitposities van het eerste getal met negatief voorteken^* een verder deelprodukt % afkomstige deelprodukt................
bad7c&iÖi$a? 9 8 - k PHN..9223__________________________________________________ dat niet vein de meest signifikante bitpositie van het eerste getal afkomstig is met positief voorteken, en één bit tussenresultaat met negatief voorteken te ontvangen, een vierde groep van één module (19) om als tenminste half-5 aftrekker een van de meest signifikante bitpositie van het tweede getal en van de minst signifikante bitpositie van het eerste getal met negatief voorteken, en een verder deelprodukt dat niet van de meest signifikante bitpositie van het eerste getal afkomstig is met positief voorteken 10 te ontvangen, een vijfde groep van (p-2) modules (23, 2h) om als heelaftrekker telkens één van de meest signifikante bitpositie van het eerste getal en de respektievelijke (p—2) minder signifikante bitposities van het tweede getal rafkomstig ^deelprodukt met negatief voorteken en verder twee bits 15 tussenresultaat met positief voorteken te ontvangen, een zesde groep van (p-2) modules (17*18) om als tenminste halfopteller telkens twee deelprodukten met positief voorteken te ontvangen, een zevende groep van (p-2)(q-3) modules (20, 21) om als heelopteller telkens een deelpro-20 dukt met positief voorteken en twee bits tussenresultaat met positief voorteken te ontvangen, een achtste groep van (p-2) modules (27» 28) om als heelaftrekker telkens een van genoemde vierde groep afkomstige resultaatbit met negatief voorteken annex een overdrachtsbit met positief 25 voorteken, alsmede de resultaatbit van genoemde tweede groep met negatief voorteken te ontvangen en om serieel een uitgangsleenbit binnen de achtste groep en daarop asm de eerste groep door te geven, en (p—1) resultaatbits pa-rallelsgewijze aan de uitgangen van de achtste groep te 30 presenteren, dat derde middelen aanwezig zijn om aan de minstsignifikante module van de achtste groep de eind-resultaatbit van naastlager signifikantie niveau met negatief voorteken toe te voeren, dat de heelaftrekkers van eerste, derde, vijfde en achtste groepen voor het vormen 35 van gelijke logische funkties gebouwd zijn, en dat voor het vormen van het produkt van twee getallen met uitslui- 7809598
BAD ORIGINAL
- 5 - PHN 9223_____________ tend bits van positief* voorteken alle (half) aftrekkers een stuuringang bezitten om daar een signaal daarop als (half) opteller bestuurd te worden en genoemde derde middelen een stuuringang bezitten om door een signaal 5 daarop onwerkzaam te worden gemaakt.
Zo zijn er nu {< p-2)(q-2)+lJ heeloptellers en 2p+q-5 heelaftrekkers. Door het beperkte aantal verschillende bouwstenen wordt bij werken in diskrete onderdelen een vereenvoudiging gerealiseerd. De vereenvoudiging geldt 10 ook voor een geïntegreerde schakeling omdat het aantal elementen in de ’'bibliotheek" kleiner kan zijn. Het is duidelijk dat wanneer in genoemde formules een negatief aantal optreedt, bijvoorbeeld voor (q-3)> met q=2, hiervoor de waarde ”0” gelezen moet worden. Het omschakelen 15 op het vermenigvuldigen van getallen met uitsluitend po sitieve bits kan gemakkelijker doordat ook de resultaten van (heel)opteller en (heel)aftrekker zoveel gemeen hebben. Het zal blijken dat in een geïntegreerde schakeling modules met gelijke logische funktie een verschillende 20 geometrie hebben, maar dat wordt veroorzaakt door de be perkingen die de vrijwel tweedimensionale konfiguratie van een geïntegreerde schakeling oplegt. Het is duidelijk dat ook alle heeloptellers dezelfde waarheidstabel hebben en daarmee een overeenkomstige logische bouw hebben, hoewel 25 ook hier de overeenkomst zich niet tot op poortniveau behoeft uit te strekken. Een extra voordeel van de bovengenoemde opzet is de regelmatige rangschikking van de toevoer der ingangssignalen zodat de geometrische opzet van een geïntegreerde schakeling zeer systematisch kan 30 zijn.
Een verder nadeel van de bekende inrichting is het volgende. Bij vermenigvuldigen wordt de precisie van het produkt, dat wil zeggen het aantal signifikante. bits ervan in principe (afgezien van afronding) gelijk is aan 35 de som van de precisies der faktoren. In principe is het dan ook nodig om bij de vermenigvuldiging de precisie van 7809398 .....
BAD ORIGINAL
- 6 - PHN 9223_________ de operanden anvenant uit te breiden. Precisie-uitbreiding in twee-complement notatie kan eenvoudig geschieden door herhaling van de informatie (O, respektievelijk 1) van het meestsignifikante bit zo vaak als nodig is, waarbij 5 echter alleen de allereerste het negatieve voorteken bezit. Het van te voren uitbreiden van de operanden vergt veel onderdelen. Voorts wenst men vermenigvuldiginrichting-en voor verschillende operandlengten die zijn opgebouwd uit standaard modules volgens het voorgaande. Voor het 10 vermenigvuldigen van twee getallen in twee-complement no tatie met respektievelijk ten hoogste ap en bq bits middels (a x b) vermenigvuldiginrichtingen volgens het voorgaande is het gunstig als genoemde (a x b) vermenigvuldiginrichtingen een tweede arrangement (array) vormen met opvolgen-15 de signifikanties volgens
Ma, 1 Ma-1,1 M2,1 Ml , 1
Ma,2 Ma-1,2 M2,2 M1,2 20 Ma,b-1 Ma-1,b-1 M2,b-1 M1,b-1
Ma,b Ma-1 ,b M2,b M1..,b waarbij vermenigvuldiginrichting Ma,b de hoogste en M1,1 de laagste signifikantie heeft en verder de signifikamties van Mi,j en Mk,l gelijk zijn als i + j = k + 1, en dat 25 voorts stuuringangen aanwezig zijn om door een signaal daarop van vermenigvuldiginrichtingen Ma,1 ... Ma,b-1 de werking van tweede, vijfde en achtste groepen arithmetische modules ten opzichte van de werking bij vermenigvuldiginrichting Ma,b bij het uitvoeren van een vermenigvuldiging 30 van twee getallen in twee-complement notatie te veranderen, dat wil zeggen (heel)optellers tot (heel)aftrekkers te maiken en omgekeerd, van de vermenigvuldiginrichtingen Ma-1,b..,M1,b de werking van tweede, derde, en vierde groepen arithmetische modules de werking ten opzichte van die 35 bij module Mafb te veranderen, om van de overige vermenig vuldiginrichtingen, behalve vermenigvuldiginrichting Ma,b 7809398
BAD ORIGINAL
- 7- PHN 9223_______________________ alle arithmetische modules als (heel)tellers te besturen, en alle verdere arithmetische modules op dezelfde manier als in vermenigvuldiginrichting Ma,b en voorts van alle vermenigvuldiginrichtingen behalve Ma,b .... M1 , b genoemde 5 derde middelen onwerkzaam te maken, en dat voorts-vierde middelen aanwezig zijn om door algebraïsche optelling van de eindresultaatbits der vermenigvuldiginrichtingen met inachtneming van derzelver signifikantieniveau een eindprodukt te vormen. Er zijn daarbij ten hoogste vier verschil— 10 lende programmeringen (slechts twee als öfas 1 &f b = 1), in verband daarmee dat van beide operanden onafhankelijk de bitpositie van hoogste signifikantieniveau (die ook het negatief voorteken heeft verwerkt) moet kunnen worden. Het feit dat voor de arithmetische modules slechts twee waar-15 heidstabellen relevant zijn die bovendien nog de delen voor de resultaatbit gemeen hebben vergemakkelijkt de aanpassing (interface) met de stuursignalen.
Voor a^2 is het daarbij gunstig als van de vermenigvuldiginrichtingen Ma,b .... M2,b genoemde derde 20 middelen telkens een heelaftrekker van naastlagere signifi- kantie bij genoemde achtste groep vormen om naast de eind— resultaatbit met negatief voorteken van dezelfde signifi-kantie uit diezelfde vermenigvuldiginrichting van de vermenigvuldiginrichting met naastlagere signifikantie binnen 25 de rij Ma,b .... M2,b de meestsignifikante eindresultaatbit met negatief \oorteken te ontvangen met uitsluiting van toevoer aan genoemde vierde middelen, en voorts de op een na meest signifikante eindresultaatbit met positief voorteken. Dat levert een vereenvoudiging bij genoemde vierde middeJai.
30 Het is voorts gunstig als de arithmetische modules zijn uitgevoerd als geïntegreerde schakeling in dynamische MOS-logika met een inherente trekker (onthoud)-funktie aan de uitgangen voor resultaatbit en overdracht en dat de uitgangen voor de eindresultaatbits verbonden zijn 35 met overeenkomstige ingangen van een verdere groep in serie geschakelde modules van overeenkomstige logische bouw als 78 0 9 3 9 8
BAD ORIGINAL
- 8 - PHN 9223___________________________ genoemde q(p—1) modules die middels hun heeloptellerfunk-tie een akkumulatorregister vormen. Op die manier is een zeer voordelige akkumulator geschapen voor een produkt-reeks van twee-komplement getallen, bijvoorbeeld voor het 5 berekenen van inwendige produkten van veeldimensionale vektoren. Zulke en andere produkten worden in de techniek veel gebruikt, waarbij de pijplijnwerking van de inrichting volgens de uitvinding een grote verwerkingssnelheid mogelijk maakt.zonder dat de modules zelf buitengewoon 10 snelwerkend behoeven te zijn.
De uitvinding wordt nader besproken aan de hand van enkele figuren. Pig. 1a, 1b, 1c, 1d geven de eerder genoemde vier mogelijkheden voor het optellen, respek-tiarelijk aftrekken van een binair genoteerd getal.
15 Fig· 2a geeft een eenvoudig schema van een heelopteller.
Fig. 2b geeft een eenvoudig schema van een programmeerbare heelopteller/aftrekker.
Fig. 3 geeft een heelopteller in n-MOS-tech— 20 nologie.
Fig. k geeft een programmeerbare heelopteller/ aftrekker in n-MOS-techncïogie.
Fig. 5 geeft een klokpulsdiagram.
Fig. 6 geeft een vermenigvuldiginrichting.
25 Fig. 7 geeft een uitbreiding van de schakeling volgens fig. 6.
Fig. 8 geeft deelschakelingen waarin de schakeling van fig. 7 verdeeld kan worden.
Fig. 9 geeft een uit zes modules bestaand 30 detail van een vermenigvuldigingsinrichting.
Fig. 10 geeft een fuktietabel voor fig. 9·
Fig. 11 geeft één module uit fig. 9·
Fig. 12 geeft daarvan de uitvoering in n-i-MOS-transistoren.· 35 Fig. 13 geeft een koppeling van twee schake lingen volgens fig. 8.
7809398
BAD ORIGINAL
- 9 ~ PHN 9223 _________:___________________ 14 geeft een schematische samenbouw van deelschakelingen volgens fig. 8.
Fig. 2a geeft een eenvoudig schema van een heelopteller. Ingang 530 ontvangt signaal a, ingang 531 5 signaal b, ingang 532 signaal d. EN-poorten 533-535 vormen de kombinaties a.b, b.d, d.a. De NIET-OF-poort 536 vormt hieruit a.b+b.d+d.a. Dit wordt door een serieschakeling van drie inverteurs als het overdrachtssignaal c op uitgang 545 gepresenteerd. De drie inverteurs zijn benodigd 10 door de specifieke eigenschappen vein de later te bespreken
realisatie in n-MOS dynamische logika. OF-poort 537 vormt het signaal a+b+d, zodat EN—poort 539 alleen een logische ”1tt afgeeft als één en niet meer dan één van de ingangssignalen een "1" is. BN-poort 538 vormt a.b.d NIET-OF-poort 15 5^0 in serie met inverteur 5^ presenteren het signaal S
op uitgang 546 dat de waarde 1 heeft als een oneven aantal van de ingangsinformaties de waarde 1 heeft.
Fig. 2b geeft een eenvoudig schema van een programmeerbare heelopteller/aftrekker, te gebruiken in 20 een inrichting volgens de uitvinding. De inrichting bevat drie informatieingangen 100, 101, 102 voor de binaire informaties a, b, d zoals deze bij figuren 1a-1d zijn gedefinieerd. Verder zijn er tweestuuringangen 103» 103A voor het funktiebesturingssignaal f en de geïnverteerde waarde 25 f daarvan, een resultaatuitgang 104 voor het signaal ', en een overdrachtleensignaaluitgang 105 voor het signaal c. Verder bevat de schakeling zes EN—poorten 106, 107» 108, 110, 111, 112, een NIET-EN-poort 109» vier NIET-OF-poorten 113-116, en vijf inverteurs 117, 118, 118A, 119, 120A. Het 30 logische schema is specifiek opgezet voor de later te be spreken realisatie in n-MOS dynamische logika met meervoudig gebruik van verschillende logische termen. Door de alternatief aanwezige signalen f, f wordt slechts een van beide EN-poorten 110, 111 gedeblokkeerd. De realisatie 35 gebeurt volgens de volgende formules, waarbij een stip een logische EN-funktie en een plusteken een logische QF-funk- 7809398
BAD ORIGINAL
-10 - PHN. 9223______________________________________________ tie aangeeft: c = (a.b) + (b.d) + (d.a) (f=0)
Heelopteller ^ (a+b+d)«c + (a.b.d)
Heelaftrekker " "—c · = (a+b+d).d + (a.b.d) (f=1 ) 10 Omschakeling: c^. = (c,?) + (c'.f)
Hierbij geeft een streep boven een variatëLe de geïnverteerde waarde aan en is c’ het leenuitgangssignaal. Poort 106 vormt het signaal a.b, poort 10? het signaal b.d, poort 108 het signaal d.a. Poort 113 vormt het signaal ab+bc+da 15 en element 117 dus het signaal c. Poort 115 vormt het sig naal a+b+d en poort 111 het signaal f.d.(a+b+d). Elementen 109» 118 vormen het signaal a.b.d. Elementen 116, 120A vormen dan het signaal 20 a.b.d + f.d.(a+b+d) + ?.(ab+b.d+d.a)
Hiervan zijn enkele termen redundant: als de derde de waarde 1 heeft is de eerste redundant en de tweede kan korter geschreven worden als: - 5 f.d.(a+b)
Het gebruik van deze redundante termen vergt evenwel geen extra onderdelen en is dus niet schadelijks de elektroni-30 sche opzet wordt er juist door vereenvoudigd. Element 112 vormt het signaal c.(a.b.d), Poort 114 vormt het signaal: a+b+d+c(a.b,d) = (a+b+d).(c+a.b.d) = c(a+b+d) + a.b.d
In de laatste uitdrukking is weer het redundante deel weg- BAD Ο^ιΙιΛα? 3 9 8 35 -11 - _PHN _ 9.223._____________________________________________ gelaten.
Fig. 3 gerffc een heelopteller in n-mos technologie waarbij een deelproduktvormer mee is aangebracht. De schakeling werkt volgens de principes der dynamische logi-5 ka, en in dit verband geeft fig. 5 een klokpulsdiagram met vier fasen en vier signalen Φ 1» Φ 2» Φ 3, φ 4 die opgewekt worden door een kortheidshalve niet aangegeven klokpuls-generator. Vierfase logika is in de techniek van n-mos-toepassingen welbekend. Het principe berust daarop dat de 10 informatie wordt gevormd door de lading op een knooppunt- capaciteit (node capacity). Van een eerste type logikapoort wordt door de opgaande flank van φ 1 de kapaciteit altijd opgeladen, dit is de voorladings- of precharge fase. Na het laag worden van de klokpuls φ 1 wordt de eigenlijke 15 logische funktie geïmplementeerd in de aftast of nsample” fase zolang als φ 2 nog hoog is. Gedurende het resterende deel van de cyclus (φ 3 en/of φ 4 hoog) is de informatie beschikbaar voor verdere verwerking. Nadat φ 4 weer laag geworden is begint de volgende kl-okpulscyclus· De verschil— 20 lende typen poorten zijn beschreven in een artikel door S.P. Asija, Four phase logic is practical, Electronic Design, 20 December 1977» biz 160—163« Het is voorts gebruikelijk op per klokpulscyclus twee opeenvolgende niveaus van logische funktievorming te effektueren: voor het tweede niveau 25 is dan de werking van de paren klokpulsfasen φ 1/Φ 2 tegen over Φ 3/Φ 4 verwisseld.
Fig. 3 geeft een «realisatie van de heelopteller van fig. 2a als geïntegreerd circuit. Hier wordt de klokpuls φ 1 ontvangen op de polysilidum lijnen I20/163» 30 en 126/167» de klokpuls φ 3 op de polysiliciumlijnen 121/ 164 en 127/168, de geïnverteerde waarde van een ingangsbit a. wordt ontvangen op de doorgaande polysiliciumlijn 125/
J
166, een ingangsoverdrachtsignaal c' wordt ontvangen vanuit de naasthoger gelegen arithmetische module op klem 123 van 35 waaruit een polysiliciumlijn vertrekt, een ingangsresultaat- signaal s' op klem 122 waarvan eveneens een polysilicium- 7809398
BAD ORIGINAL
-12- PHN 9223_________________________________________________________________________________ lijn vertrekt. Genoemde polysiliciumlijnen alsmede verdere daarmee evenwijdig verlopende lijnen in polysilicium vormen een eerste bedradingslaag. Op klem 169 is ontvangbaar een tweede ingangsbit b., waarbij de getekende onderbroken lijn 5 dwars over de figuur loopt en is uitgevoerd in aluminium.
Zo lopen de bitgeleiders dwars over de arithmetische modules, waardoor de bitsignalen overal gemakkelijk beschikbaar zijn. Op klemmen 124, 162 is ontvangbaar de kokpuls φ2 telkens langs een dergelijke dwars verlopende aluminium gelei-10 der. Op klem 161 is ontvangbaar de klokpuls φ4 langs een dergelijke aluminium geleider. Genoemde aluminium geleiders vormen tesamen een tweede bedradingslaag.
Op klem 165 verschijnt het uitgangssignaal c, op uitgang 170 het uitgangssignaal s voor verwerking in 15 aanpalende modules. De figuur bevat verder nog een groot aantal horizontaal verlopende en ononderbroken getekende verbindingslijnen, waaraan op verschillende plaatsen vertikaal verlopende tussenverbindingslijnen zijn toegevoegd, bijvoorbeeld de verbinding tussen punt 173 en transistor 20 148. Deze zijn uitgevoerd als n+-diffusiegebied en vormen samen een derde bedradingslaag. Op plaatsen waar een n+-,.en gebied/een polysiliciumgeleider elkaar kruisen ontstaat zonder verdere maatregelen een transistor. Als deze kruising kontaktloos moet zijn, wat ter plaatse is aangegeven door gaande lijn 25 een rechtdoor-^ is een zogenaamde onderdoorgang aanwezig die in de ”L0COS"-technologie bekend zijn geworden, en waarbij plaatselijk de n+ is uitgevoerd als een verdiepte, As, n+ geïmplementeerde laag waarover de kruisende polysiliciumli jn verhoogd is aangebracht. Het tussengebied 30 vormt een scheiding waarbij geen grote belastingskapaciteit wordt gevormd. Zo is een volledige drielaagsbedrading mogelijk, Verbindingen tussen de geleiderlagen zijn met een kruis aangegeven. Qe schakeling bevat voorts 33 transistoren 128-160. Onder besturing van de klokpuls φΐ (coincident 35 met φ2) wordt node 171 opgeladen. Tenzij a. én b. beide nul *" J 1 zijn wordt deze node na het einde tijdens de aftastfase (<{>1 7809398
BAD ORIGINAL
-13- PHN .9223___________________________________________________ weer laag) weer gelijk aan nul. Zo staat op node 171 de informatie ai.bj. Middels transistor 139 wordt ook node 172 tijdens fase φΐ voorgeladen. In deze schakeling werken de signalen s *-(klem 122), c* (klem 123) en a. .b . (node 171 )
J
5 als de respektievelijke signalen a, b en d in fig. 2a.
Transistoren 131 * 132 vormen het analogon van poort 533 in fig. 2a, transistoren 134, 135 komen overeen met poort 535 en transistoren 137» 138 komen overeen met poort 534. Onder besturing van klokpuls $3 wordt node 172 10 ontladen als er een uitgangsoverdrachtsignaal moet worden gegenereerd, om bovendien dan transistor 142 te blokkeren.
Zo is op node 172 de NIET-OF-funktie van poort 536 geïmplementeerd. Met klokpuls φ3 vindt middels transistoren 143» 144 het voorladen van de node 173 plaats. Deze node wordt 15 tijdens klokpuls φ4 ontladen als tenminste één der verbin dingen 122, 123» 171 hoog is middels transistoren 140, 141, 145 die hiertoe een OF-funktie vormen. Als node 172 echter ontladen is blijft transistor 142 gesperd. Node 173 wordt ook ontladen als alle drie de ingangsgrootheden de waarde 20 1 hebben middels de transistoren 146, 147» 148 die hiertoe een EN-funktie vormen. Zo is op node 173 de NIET—OF—funktie van pport 540 geïmplementeerd.
Klokpuls φ3 maakt ook, middels transistor 151» node 174 hoog die daarop ontladen wordt (aftasten) als node 25 172 niet ontladen is en transistor 149 doorlatend blijft.
Zo is op node 174 de inverteur 541 geïmplementeerd. Klokpuls <|>1 werkt middels transistor 152 ook nog om node 175 voor te laden. Deze wordt door de daarop volgende klokpuls φΐ (dus de tweede) ontladen mits node 174 hoog is. Zo is op 30 node 175 de inverteur 542 geïmplementeerd. De daarop volgen de (|>2 klokpuls (dus de tweede) op klem 162 maakt transistor 157 doorlaatbaar. De φΐ klokpuls had juist daarvoor middels transistor 159 de node van klem 165 voorgeladen. Als dus de node 175 hoog was wordt de node van klem 165 via transisto-35 ren 155 en 157 ontladen. Op klem 165is daarmee inverteur 543 geïmplementeerd en is het signaal c beschikbaar om op klem 7809398
BAD ORIGINAL
— 1 4 — ?ΗΝ .5.223._________________________ 123 van een volgende arithmetische module te worden verwerkt. De transistoren 143» 156, 158» 160 komen overeen met de transistoren-150, 155» 157» 159, zodat voor het signaal s, behoudens dat twee inversies achterwege blijven dezelfde 5 elektronische omstandigheden gelden en het ter verdere ver werking op klem 170 verschijnt. Er moet worden opgemerkt dat de module van fig. 3 intern tot op zekere hoogte een pijplijn funktie heeft waarbij van twee opvolgende verwerkingen in verschillende delen van de module signalen ver— 10 tegenwoordigd zijn.
Fig. 4 geeft een programmeerbare heelopteller/heel— aftrekker in n—mos technologie volgens fig. 2b. De schakeling is deels overeenkomstig met die van fig. 3 en overeenkomstige elementen hebben dezelfde indikatie gekregen. Aan— 15 sluitingen 120/125 ontvangen klokpuls <j>1 , aansluitingen 121/ 126 klokpuls <J>3. In dit geval wordt de derde ingangs gr o o t— heid b ontvangen op ingang 200 (bij een heelopteller zijn de ingangssignalen onderling verwisselbaar), klokpuls φ2 wordt nog ontvangen op ingangen 203» 206, klokpuls φ4 op .
20 ingangen 204, 205· Het voorladen van node 201 geschiedt middels transistor 202 (<j>3) , het aftasten middels transistor 207 (p4). Door transistoren 146, 147, 148 wordt op dat punt de funktie a.b.d (poort 109 in fig. 2b) gevormd. Het voorladen van node 210 gebeurt middels transistor 208 (φ3)» 25 het aftasten middels transistor 209 (φ4)· Door transistoren 131, 132, 137» 138» 134, I35 wordt op dat punkt de funktie a.b+b.d+d.a (poort 113 in fig. 2b) gevormd. Node 215 wordt voorgeladen middels transistor 214 (<j>3) en afgetast door de serieschakeling van transistor 213 (φ1) en transistor 30 216 die door de spanning op node 210 geopend kan worden. Zo is de inverteur 117 uit fig. 2b geïmplementeerd. Node 217 wordt voorgeladen middels transistor 211 (<j>3) en afgetast middels transistor 212 (<j>4) zodat op node 217 de funktie a+b+d (poort 1-15 in fig. 2b) is geïmplementeerd. Door de 35 transistoren 218, 219, 220 wordt dit signaal geïnverteerd op dezelfde manier als beschreven voor de transistoren 213, 7809398
BAD ORIGINAL
-15- PHN .9223____________-_______________________ 216, 214, zodat op node 221 de inverteur 119 uit fig. 2b is geïmplementeerd. Node 201 bestuurt transistor 223, node 215 bestuurt transistor 222 en node 217 bestuurt transistor 224. Het voorladen van node 228 gebeurt middels transistor 5 227 (φΐ), het aftasten gebeurt middels transistor 226 die in serie geschakeld is met twee parallelgeschakelde takken. De eerste tak bevat transistoren 223 en 222 in serie waardoor poort 112 uit fig. 2b is geïmplementeerd. De tweede tak bevat transistor 224 die door node 217 wordt bestuurd. 10 Zo is op node 228 de uitgang van poort 114 uit fig. 2b ge ïmplementeerd; dit is dus het signaal s.
De transistoren 229, 230, 231 vormen een inverteur op overeenkomstige wijze als de transistoren 213, 216, 214, zodat op node 232 de inverteur 118 uit fig. 2b 15 is geïmplementeerd. De transistoren 233, 234, 235 vormen weer een inverteur voor het signaal d op ingang 123 zodat op node 236 de inverteur 118A uit fig. 2b is geïmplementeerd. Ingangen 103A, 103 ontvangen weer het besturings— signaal f, respektievelijk 3?. Door serieschakeling van 20 transistoren 237 en 238 (eerstgenoemde ontvangt het signaal c van node 215) wordt de EN-funktie van poort 110 in fig.
2b geïmplementeerd. Door serieschakeling van transistoren 239 (deze ontvangt het signaal van node 221) 240 (deze ontvangt het signaal f op klem 103A) en 241 (deze wordt be-25 stuurd door het signaal van node 236) wordt de EN-funktie van poort 111 in fig. 2b geïmplementeerd. Laatstgenoemde vormen twee serieschakelingen^samen met transistor 242 drie parallelgeschakelde takken. Node 246 wordt voorgeladen middels transistor 245 (φ1) en afgetast middels de serieschakeling 30 van transistor 244 (<j)2) en genoemde drie parallelgeschakelde takken, waarmee poort 116 uit fig. 2 is geïmplementeerd. Node 247 wordt voorgeladen middels transistor 248 ( Φ1 ) en afgetast middels de serieschakeling van transistor 249 (klokpuls <p3) en transistor 250, die door de spanning op 35 node 246 wordt bestuurd zodat hiermee de inverteur 120A van fig. 2 is geïmplementeerd, waarmee het .uitgangsoverdracht/ 7805398
BAD ORIGINAL
-16- PHN_.92.23l___________________________________________________________________ leensignaal is gevormd. Zo is bijvoorbeeld de arithmeti-sche module 127 uit fig. 6 geïmplementeerd waarvan de funktie binnen het arrangement van arithmetische modules nader uitgelegd zal worden. Er moet op gewezen worden dat 5 de schakeling van fig. 4 als geïntegreerde schakeling in de breedte dezelfde steek heeft als die van fig, 3, maar een grotere hoogte. Het is voorts duidelijk dat de opstelling der transistoren, respektievelijk nodes veranderd kan worden zonder dat de logische funktie een andere wordt.
10 Fig. 6 geeft als voorbeeld een vermenigvul- diginrichting voor twee binaire getallen van elk vier bits in twee-complement notatie, waarbij ter vergelijking verwezen wordt naar fig. 8.35 uit het eerder geciteerde boek van Rabiner en Gold. De figuur geeft slechts de logische 15 funktie-elementen, waarbij de nadere implementatie en be sturing door bijvoorbeeld klokpulsen niet is beschreven. Belangrijke verschillen met de bekende inrichting zijn het feit dat door de gekozen technologie aan de uitgangen der arithmetische modules onthoudfunkties aanwezig zijn, dat 20 dit tesamen met de toegevoegde accumulatorinrichting een pijplijnfunktie mogelijk maakt waardoor veel sneller gewerkt kan worden, dat de modules in slechts twee klassen met tussen de klassen verschillende logische funkties verdeeld zijn, en dat door het gebruik van omschakelbare 25 (heel)optellers/aftrekkers verschillende extra gebruiks mogelijkheden zijn gecreëerd. De inrichting bevat zestien logische EN-poorten (1-16), twintig arithmetische modules (17-25, 27-37), eenenveertig trekkerschakelingen die als onthoudelementen werken (38-78), een schakelaar 26 en acht 30 gegevensuitgangen 79—86. De tweeingangsgrootheden worden geschreven als de bitrijen (a3a2a1a0), respektievelijk (b3b2b1b0), waarbij de meest signifikante bits a3, respek-tievelijk b3 een negatieve waarde bezitten. In de figuur geven de grote vierkanten arithmetische modules aan met 35 drie ingangen die als heeloptellers werken. De cirkels zijn arithmetische modules met drie ingangen die als heel- 7809398
BAD ORIGINAL
-17- PHN.....9223___________________________________________________________________________________________ aftrekkers werken. De modules 19, 22-25, 27-29 kunnen programmeerbaar zijn om in een van twee werkmodes operationeel te zijn, zoals nader wordt beschreven, maar in deze figuur is de desbetreffende besturing eenvoudshalve weggelaten.
5 De EN-poorten 1-16 ontvangen alle een specifieke kombinatie van de bits van de twee ingangsgrootheden, en vormen daarmee dus telkens een deelprodukt dat zelf ook een tweewaardige grootheid is. EN-poort 1 vormt het deelprodukt aObO die aan module 30 toevoerbaar is. EN-poort 2 vormt het 10 deelprodukt a1b0. EN-poort 5 vormt het deelprodukt a0b1,
Laatstgenoemde twee deelprodukten worden opgeteld in de module 17 die op twee manieren kan zijn uitgevoerd. De eerste manier is als een eerder besproken heelopteller, in dat geval ontvangt de derde aangegeven ingang een loos signaal 15 dat als logische ”0” werkt. De tweede manier is dat deze module als een bekende halfopteller werkt, waarbij het som-signaal door de Exclusief-OF-funktie en het overdrachtsuit— gangssignaal door de logische EN-funktie van de ingangssignalen wordt gevormd. Men kan module 17 dus aangeven als 20 ”tenminste een half-opteller” zijnde. Daarbij worden de resultaatbits echter op logisch dezelfde manier van de in— gangsinformaties afgeleid. EN-poort 3 vormt de funktie a2b0 en EN-poort 6,de funktie a1b1j die in module 18 bij elkaar worden opgeteld. Module 18 kan dezelfde bouw hebben als mo— 25 dule 17· EN-poort 7 vormt de funktie a2b1 en EN-poort 4 de funktie a3b0; deze laatste heeft door de eigenschappen der twee-complementsnotatie een negatief voorteken en zo werkt module 19 als aftrekker. Dit kan weer op twee manieren gebeuren, in de eerste plaats weer doordat module 19 als een 30 op zichzelf bekende heelaftrekker werkt. De derde, vrije ingang ontvangt dan een loos signaal dat als logische nul werkt. Anderzijds kan deze module ook als "halfaftrekker” werken: als beide ingangssignalen gelijk zijn, zijn alle uitgangssignalen nul; als ze ongelijk zijn is het resultaat-35 signaal altijd 1 en het leenuitgangssignaal gelijk aan het signaal van poort a3b0. De numerieke waarde van het resul- „«.OM.598 -18- PHN 9223 ________________________________________________-_______________________________________________________________ taat ligt in het gesloten interval C-i. +3 en er is voor gekozen dat de resultaatbit een positief voorteken en de leenuitgangsbit een negatief voorteken heeft. Men kan module 19 dus aanduiden als "tenminste een halfaftrekker" zijn-5 de. Van de modules 17-19 worden de resultaatbits toegevoerd aan de trekkerschakelingen 38, 40, 42, en de uitgangsover-drachtbits (respektievelijk de uitgangsleenbit van module 19) aan de respektievelijke trekkerschakelingen 39» 41» 43. Binnen de modules 17-19 vindt de arithmetische bewerking 10 binnen één klokcyclus plaats. Aan het eind van de cyclus worden de gevormde informaties in de trekkerschakelingen opgeslagen. EN-poort 8 vormt het deelprodukt a0b2, EN—poort 9 het deelprodukt a1b2, EN—poort 10 het deelprodukt a2b2 en EN-poort 14 het deelprodukt a3b1 van welke laatstgenoemde 15 een negatief voorteken heeft. Voorts ontvangt arithmetische module 20 de uitgangssignalen van de trekkerschakelingen 39 en 40, de arithmetische module 21 die van de trekker-schakelingen 41 en 42, en de arithmetische module 22 het uitgangssignaal van de trekkerschakeling 43. Laatstgenoemd 20 signaal heeft door de (heel)aftrekkerwerking in' module 19 een negatief voorteken. De informatie van trekkerschakeling 38 wordt naar het later te bespreken akkumulatorregister toegevoerd. In de volgende klokpulscyclus werken de modules 20, 21 als heelopteller en module 22 als heelaftrekker en 25 wórden de gevormde resultaten op overeenkomstige wijze als bij de modules 17-19 besproken opgeslagen in de trekker-schakelingen 44-49.
EN-poort 11 vormt het deelprodukt a0b3 en EN-poort 12 het deelprodukt a1b3 die beide een negatief teken 30 hebben. De modules 23 en 24 ontvangen daarneven de informaties van de trekkerschakelingen 45-48 (welke alle een positief voorteken hebben) zodat deze twee modules als heelaf-trekkers werken. EN-poort 13 vormt het deelprodukt a2b3 en EN-poort 15 bet deelprodukt a3b2 die beide, evenals het 35 leenuitgangssignaal uit trekkerschakeling 49 een negatief voorteken hebben zodat module 25 werkt als heelopteller, 78 0 9 3 9 8
BAD ORIGINAL
-19- PHN ..9223____________________________________ zij het voor informaties die alle een negatief voorteken hebben. De resultaten van deze bewerkingen worden weer opgeslagen in de respektievelijke trekkerschakelingen 50-55 op dezelfde wijze als beschreven voor de trekkerschakelin— 5 gen 44-49· EN-poort 16 vormt het deelprodukt a3b3 dat door de negatieve voortekens in beide faktoren ervan een positief voorteken heeft. Voor het vermenigvuldigen -van twee getallen in twee-complements notatie is schakèlaar 26 (dit kan een ingangstransistor van module 26 zijn, of een dis-10 krete komponent) gesloten. Het uitgangssignaal van module 23 heeft een numerieke waarde in het gesloten interval 'Daarom heeft de resultaatbit van module 23 een positief voorteken voor behandeling in de later te bespreken accumulator, maar een negatief voorteken voor behandeling in mo-15 dule 27· Module 27 ontvangt dus van trekkerschakeling 51 een bit met positief voorteken, van trekkerschakeling 52 een bit met negatief voorteken. Module 50 werkt weer als heelaftrekker en geeft een resultaat met numerieke waarde in het gesloten interval [+1,-2] . De bit van trekkerschake— 20 ling 50 wordt toegevoerd om een juiste korrektie te krijgen waardoor het produkt in twee-complement notatie de juiste waarde krijgt. De resultaatbit van module 27 wordt toegevoerd aan trekkerschakeling 58» de uitgangsoverdracht/leen-bit aan trekkerschakeling 59· Modules 28 en 29 werken op 25 overeenkomstige manier aLs module 27, zodat de positieve eindresultaatbits steeds verschijnen in de trekkerschakelingen 38, 44, 50, 58, 60, 62, de leenuitgangsbit met negatief voorteken van module 29 in trekkerschakeling 63, en het deelprodukt van laagste signifikantie aan de uitgang 30 van poort 1. Deze acht produktbits worden telkens aan de overeenkomstige heeloptellermodule van de reeks 30-37 toegevoerd. De resultaatbits worden toegevoerd aan de trekkerschakelingen 71-78, de uitgangsoverdrachtsbits aan de trek-kerschakelingén 64-70, waarvan telkens de uitgang met een 35 ingang van de naasthoger signifikante module is verbonden.
Het geakkumuleerde eindresultaat verschijnt voor verdere 78 0 9-3 9 8
BAD ORIGINAL
~ 20 PHN 9223________________________________________________________________________________________________________________________ _________ verwerking op de korresponderende uitgangen 79-86. Als een produkt bepaald moet worden en elke arithmetische module heeft voor een elementaire bewerking voldoende aan één klokpulscyclus, dan kaihet ten hoogste acht klokpulscycli 5 duren voor het gehele produkt bekend is en de voortplanting van alle overdrachts— en leenuitgangssignalen voltooid (bijvoorbeeld in de reeks modules 17-20—23-27-3^-35—36-37)· Aan de andere kant duurt het vormen van de deelprodukten en het verwerken daarvan in de modules van de eerste lijn 10 (dus de nummers 17-25» 29, 30) slechts één klokpulscyclus en zijn deze modules daarna beschikbaar voor het ontvangen van twee volgende, te vermenigvuldigen getallen. Zo kan elke klokpuls een produkt gevormd worden als de produkten toch steeds geaccumuleerd worden. Dit laatste is bijvoor-15 beeld het geval bij het bepalen van het inwendig produkt van twee vektoreni(a3 .... aO) vormt dan een bepaalde component van zo een vektor. De schakeling volgens fig. 6 kan uitgebreid worden met een extra arithmetische module in de plaats van schakelaar 26. Deze werkt hier dan als heelaf-20 trekker en ontvangen het signaal van trekkerschakeling 50.
Het resultaatbit wordt weer met positief voorteken toege— voerd aan module 33» de leenuitgangsbit met negatief voorteken aan module 27. De doorloop der signalen duurt dan echter één klokpuls langer: na het aanbieden van de laatste 25 komponenten van een reeks paren faktoren duurt het nog p+q+1 (hier negen) klokpulsperioden voor het resultaat bekend is. Als de trekkerschakelingen afwezig zijn moet met het aanbieden van nieuwe dnformatie gewacht worden tot de gehele schakeling tot rust is gekomen» Het is duidelijk dat 30 dit bij dezelfde verwerkingssnelheid binnen de modules veel trager is dan volgens de opzet van fig. 6 is vereist.
De arithmetische modules kunnen elk afzonderlijke komponenten zijn, ofwel tesamen geïntegreerd. In het voorgaande is (vierfase) dynamische MOS logika als voorde-35 lige uitvoeringsvorm vermeld waarbij in het bijzonder de uitgangsnodes van de poorten als onthoudelementen of trek- bad?Ji<Sk&i? ® 8 -21 - PHN 9223_______________________________________________________________________ kerschakelingen werken, zodat daarvoor geen extra substraat-oppervlak nodig is. De schakeling volgens fig. 3 kan in fig. 6 gebruikt worden om de modules 20, 21 te realiseren, alsmede de modules van het akkumulatorregister 30-37» waar-5 bij in de laatste de vorming van het deelprodukt achterwege btljft en nog telkens de resultaatbituitgang naar de ingang is rondgekoppeld. Voor module 25 is de vorming van twee deelprodukten nodig. De schakeling volgens fig. k kam. gebruikt worden voor de modules 27» 28 en met toevoeging van 10 een extra EN—poort voor module 29· Module 29 wordt in een andere vorm in fig. 12 getoond. De wijzigingen van de overige modules ten opzichte van de expliciet getoonde is gelegen ofwel in het weglaten van bepaalde elementen (zoals de halfoptellers ten opzichte van de heeloptellers), ofwel 15 het veranderde teken van het ingangssignaal dat van een bepaalde richting arriveert, zodat het bedradingspatroon van een ingangssignaal veranderd moet worden. De verdere opzet van de schakeling volgens fig. 6 en het gebruik ervan bij meervoudige precisie van de operanden wordt nader besproken. 20 Fig. 7 geeft een uitbreiding van de schake ling volgens fig. 6, namelijk voor twee operanden van elk acht bits, waartoe dan 73 arithmetische modules nodig zijn. De achtbits operanden worden ingevoerd van links (b7 ...bO) en van boven (a7 .... aO), waarbij a7 en b7 het negatief 25 voorteken bezitten. De meest signifikante bit uit een module (overdracht/leen) wordt naar beneden afgevoerd, de minst signifikante telkens naar rechtsbeneden. De vorming van een produktbit is door een stip aangegeven. Module 260 kan een halfaftrekker zijn, modules 261-266 halfoptellers, gesymbo— 30 liseerd .door een ingangssignaal "0M. De modules 267» 27**·» 281, 288, 295» 303-316 zijn heelaftrekkers, de overige modules heeloptellers. Module 316 komt hier in de plaats vein de schakelaar 26 in fig. 6. De inrichting kan worden gedimensioneerd voor operanden van willekeurige 35 lengte. Het is ook mogelijk om de inrichting uit een aantal deelinrichtingen op te bouwen die elk een deel van 7809398
BAD ORIGINAL
.- 22 - PHN. 9 2 2.3___________________________________________________________________ het produkt vormen. Daartoe kunnen de twee operanden elk bijvoorbeeld gesplitst worden in een meer signiiikant gedeelte en een minder signifikant gedeelte, beide van vier bits» Daarbij hebben de meest signifikante bits van de minder 5 signifikante gedeelten der operanden nu een positief voor teken. Het is dan ’mogelijk om voor de vier kombinaties aparte vermenigvuldiginrichtingen te bouwen. Pig. 8a-d geeft de in de respektievelijke inrichtingen te vervullen funkties -later zal de uitvoering met programmeerbare arithmetische 10 modules worden besproken. De schakeling volgens fig. 8c komt overeen met fig. 6 en ontvangt van beide operanden een meest signifikant gedeelte, hiermee zijn in fig. 7 de modules 288-290, 295-297» 302-304 en 309-311 vertegenwoordigd. (het akkumulatorregister is weggelaten). De modules 281-283 15 komen niet voor omdat modules 343, 344 nu twee deelproduk-ten (vergelijk modules 17, 18 in fig. 6) kunnen ontvangen en verder het minst signifLkante deelprodukt niet aan een module behoeft te worden toegevoerd (vgl. EN-poort 1 in fig. 6). Verder is toegevoegd module 343 op de plaats van 20 schakelaar 26 in fig. 6 om het ingangssignaal naar de links ernaast gelegen module op de juiste waarde te brengen. Door een min/plusteken op een ingang van een module wordt het voorteken van een ingangsbit daarheen aangegeven door het teken (-/+) in een module het voorteken van een niet door 25 een pijl aangegeven ingangsbit. Vierkanten zijn weer optel- lers en cirkels aftrekkers. Door een verdikte pijl is een ingangsgrootheid met negatief voorteken aangegeven. De schakeling van fig. 8a ontvangt van de eerste operand (a) het meest signifikante deel en van de tweede operand (b) 30 het minst signifikante deel. Deze schakeling vertegenwoor digt in fig. 7 de modules 260-262, 267-269, 274-276. Voorts zijn toegevoegd de modules 340-342, die overeenkomen met de modules 27, 28, 29 in fig. 6. De modules 341, 342, 346, 347 zijn nu heeloptellers omdat met betrekking tot de twee-35 de operand geen negatief voorteken verwerkt hoeft te worden.
Om dezelfde reden is module 348 een heelaftrekker die nu 7809398
BAD ORIGINAL
-23 - PHN 9223._____________________________________________ slechts één deelpxOd.uk:t met negatief* voorteken ontvangt·
In dit geval kan schakelaar 26 (fig. 6) zo bestuurd worden dat hij in de open stand staat· Anderzijds kan in plaats van de heelaf*trekker 3^5 in f*ig. 8c op deze plaats een als 5 heelopteller werkende module worden geïmplementeerd· Omdat deze slechts één ingangsbit ontvangt zal er immers nooit een overdrachtssignaal naar module 342 optreden. De schakeling van fig. 8d ontvangt van de eerste operand (a) het minst signifikante deel en van de tweede operand het meest 10 signifikante deel. Deze schakeling vertegenwoordigt in fig. 7 de modules 292-29**, 299-301, 306-308, 313-315, waarbij in dit geval de modules 350, 351 heeloptellers zijn en module 349 een heelaftrekker omdat met betrekking tot de eerste operand geen negatief voorteken verwerkt behoeft te 15 worden. Er is nu wèl een met module 345 in fig. 8c (en dus met module 316 in fig. 7) overeenkomende module die als heelaftrekker werkt, of anders een schakelaar volgens fig. 6, element 26 die nu in de gesloten toestand is. Er zijn verder geen met de modules 285—287 overeenkomende modules 20 omdat de modules 351A., 351B elk twee deelprodukten kunnen ontvangen en het deelprodukt van laagste signifikantie direkt wordt geakkumuleerd. De schakeling van fig. 8b ontvangt van beide operanden de minst signifikante gedeelten en bestaat geheel uit (heel)optellers omdat nu uitsluitend 25 positieve voortekens verwerkt behoeven te worden. Deze schakeling vertegenwoordigt in fig. 7 de modules 264-266, 271-273, 278-280, terwijl ook weer een extra rij heeloptellers overeenkomend met de modules 27-29 in fig. 6 is toegevoegd. Ook nu wordt de schakelaar 26 in de open toestand 30 bestuurd. Op zichzelf is de schakeling volgens fig. 8b ge schikt voor het vermenigvuldigen van twee vierbits getallen in de notatie volgens teken en grootte. Zo wordt, als alle (heel)aftrekkers in fig. 6 omschakelbaar zijn tot (heel)-optellers een vermenigvuldiginrichting gevormd voor twee 35 soorten getallen. Het dubbele gebruik is uiteraard zeer voordelig.
7809398
BAD ORIGINAL
- 24 - PHN 9223 __________________________________________________,______________________________________________________________
Elk van de schakelingen 8a-d levert een gedeeltelijk eindresultaat van 8 bits. Met de modules 318-321 en 330—333 van fig. 7 komt telkens één bit in signifikantie-niveau overeen, met de modules 322-329 telkens drie bits.
5 Deze worden op niet apart aangegeven wijze telkens gesom meerd, bijvoorbeeld in twee opvolgende rekenslagen: in een eerste rekenslag worden genoemde driebits gereduceerd tot twee; in een tweede worden alle bits tot een énkel produkt opgeteld: dan zijn 9 + 12 « 21 optelbewerkingen voldoende 10 (voor de vier minst signifikante bits is geen optelling nodig). Daarna kan weer een akkumulatorregister (modules 318—333) geschakeld zijn om de lopende som van achtereenvolgens gevormde produkten bij te houden. Bij het vormen van de produkten moet uiteraard rekening gehouden worden 15 met het negatieve voorteken van de meest signifikante bits uit de schakelingen volgens fig. 8b, d. Op overeenkomstige manier is een opzet van (mxn) deelvermenigvuldiginrichtingen mogelijk.
Fig. 9 geeft een deel van een vermenigvul-20 diginrichting volgens fig. 6 om hem alle funkties volgens fig. 8a-d te kunnen vervullen. Het betreft de modules 22, 25, 24, 29, 28, 27 die overeenkomen met achtereenvolgens de modules 352-357· De deelproduktvormende middelen en de trekkerschakelingen zijn eenvoudshalve weggelaten. In fig.
25 6 wordt module 19 op dezelfde manier bestuurd als hier module 352, module 23 op dezelfde manier als hier module 354, 356, 357 (dit geldt ook voor de eventueel op de plaats van schakelaar 26 aanwezige en als heelopteller/heelaftrekker programmeerbare arithmetische module), modules 17, 18, 30 20, 21 vervullen altijd dezelfde funktie als (heel)opteller terwijl de inrichting op overeenkomstige manier aan operan-den van meer bits kan worden aangepast. De modules komen naar uitwendige werking steeds overeen met de schakeling van fig. 2a, b' waarvan een realisatie in n-MOS dynamische 35 logika in fig. 3, 4 is gegeven. Bij alle modules is verder aangegeven de aard der signalen a, b, d, "en bovendien door 7809398
BAD ORIGINAL
- 25- PHN 9-2-23_____________________ een vergrote pijl waarvandaan het signaal d stamt. Dit laatste heeft al naar gelang de waarde van het besturings-signaal f een positief teken (heelopteller) respektieve-lijk een negatief teken (heelaftrekker). Module 355 wordt 5 separaat beschouwd. Elke module ontvangt voorts een stuur signaal dat opgebouwd is uit de komponenten h, g die bepaald worden door het voorteken van de meest signifikante bit van het te verwerken operandgedeelte. De onderlinge verbinding der modiies wordt op bekende manier door de gelei-10 dersporen gerealiseerd, die op de geïntegreerde schakeling zijn aangebracht· Module 352 wordt bestuurd door het signaal h(fsh). De waarde van h=1 als het betreft het meest signifikante deel van de eerste operand (fig. 8a, c). Anders is de waarde van h=0. Modules 35^» 356, 357 worden 1 tj bestuurd door het signaal g (f=g). De waarde van g=1 als het betreft het meest signifikante deel van de tweede operand (fig. 8a, d). Anders is de waarde van g=0. Module 353 wordt bestuurd doordat in Exclusief-OF-poort 358 de signalen g en h worden opgeteld (f=gdh). De waarde van 20 g®h=0 als het betreft van beide operanden het meest signi fikante deel, of van beide operanden een minder signifikant deel. Anders is de waarde van g Φ hel. Als het stuursignaal naar de modules als beschreven de waarde 1 heeft worden ze bestuurd als heelaftrekker, als het stuursignaal de waarde 25 0 heeft worden ze bestuurd als heelopteller.
In verband met module 355 geeft fig. 10 een funktietabel voor elk van de vier gevallen van fig. 8a—d.
Net als bij fig. 2b, k besproken is, is naar builen toe de aard der gevormde funkties naar buiten toe voor alle af-30 trekfunkties dezelfde, alleen wisselt telkens de positie van de bit met afwijkend teken: in de situatie van fig. 8c is dat de bit a (meest signifikante deelprodukt), in fig.
8a is het bit b (positief overdrachtsignaal van module 356) en in fig. 8d is het signaal: een positief overdrachtsig-35 naai van module 353 terwijl de andere twee signalen nega tief zijn. Mén zou de besturing van de optel/aftrekfunktie 7809398
BAD ORIGINAL
- 26 - PHN 9223_______________________________________________________________________________________ kunnen schelden van de selektorfunktie voor het signaal met afwijkend teken. Steeds wordt de sombit (resultaatbit) op dezelfde manier gevormd.
In dit verband geeft fig. 11 een uitvoering 5 in poorten en fig. 12 een uitvoering in vierfase dynamische MOS-logika van module 355· In de schakeling van fig. 11 arriveren de signalen a, b, d (hiervan a, d in geïnverteerde vorm) en de besturingssignalen g, h. Eerst vormen 390-393 van de besturingssignalen alle vier kombinaties: g.h, 10 g.h, g.h, g.h. De poorten 360-362, 363 komen overeen met de poorten 106-108, 113 in fig· 2a. De inverteurs 36k—366 funktioneren voor elk ingangssignaal als inverteur 118A in fig. 2. De poorten 367» 370, 383, 377 funktioneren als poorten 109, 115» 112, 114, om op klem 389 de som s te vormen.
15 Hierbij wordt opgemerkt dat de sombit van de informatie- bits a, b, d steeds gelijk is aan die van de informatie— bits a, b, d waarbij er dus twee geïnverteerd zijn. Het geïnverteerd toevoeren is voordelig in verband met de realisatie in de schakeling volgens fig. 12. Deze signalen 20 worden geproduceerd door *'type 2” poorten die minder ge voelig zijn voor overspraak op relatief lange lijnen dan "type 1n poorten. Op zich is deze eigenschap in de gebruikte technologie wèlbekend.
Klem 378 krijgt toegevoerd het signaal g.h, ~5 klem 379 het signaal g.E, klem 38Ο het signaal g.h, klem 381 het signaal g.h, klem 382 het signaal g en klem 384 het signaal g. Als de inrichting als opteller moet werken (g = h s 0) zijn dus poorten 373» 376 aktief. Poort 373 vormt het signaals 3° (a.b.d).b = (a+S+d).b = ab+bd
Poort 376 vormt het signaal a+b+d = a.b.d en de poorten 385, 386, 387 vormen hieruit de OF-funktie.
35 Als g = h = 1 zijn de poorten 37^» 375 aktief.
Poort 374 vormt d.(a+b+d) = d(a+b). Poort 375 vormt (a.b.d).
badZScPnSJ ® ® - 27- PHN 9_223______________________________________________
Deze worden gekombineerd als: d.(a+b) + (a.b.d) s a(d+b,3) + b.d s a(d+b+a) + b.d.a
Als g = 1 en h = 0 zijn de poorten 372, 375 aktief. Poort 5 372 vormt: a.(a+b+d). Poort 375 vormt a.b.d. Deze worden gekombineerd als a(b+3) + a.b.d = d(a+a.b) + ab = d(a+b+d) + abd.
Als g S 0 en h S 1 zijn de poorten 371, 376 aktief. Poort 371 vormt: a.b + b.d + 3.a. Poort 376 vormt: a.b.d. Deze 10 vormen tesamen: a.S.d + a.d + B.d + b.a = B(a+d+a.d) + a.d = b(a+b+d) + a.b.d.
Op overeenkomstige manier als eerder beschreven geeft fig.
12 een uitvoering in vierfase dynamische n-MOS logika van 15 deze funktie. De aansluitingen voor de klokpulsen zijn als φΐ-φ4 aangegeven. De klokpulsli jnen φΐ , (j>3 en de aansluitingen voor de informatiebits a, b, 3 verlopen in een eerste richting, evenals de uitgang voor de sombits. De aansluitingen voor de stuursignalen gh, gh, gh, gB, evenals 20 de klokpulsli jnen (j)2, φ4, en de uitgang voor het overdracht s-signaal verlopen in een richting dwars daarop. Ze zijn als de eerder vermelde aluminium bedradingslaag aangegeven.
Dit geldt ook voor de gestippeld getekende verbindingen voor intermediaire signalen 400, 401, 402. Node 4θ4 wordt 25 voorgeladen door klokpuls φ3 middels transistor 403 en af- getast door Hokpuls φ4, waarbij de transistoren 405—410 de EN-funkties van poorten 360-362 vormen. Zo is op node 4θ4 de funktie van poort 3^3 vervuld. Transistor 411 laadt node 4l4 op die weer afgetast wordt door een serieschakeling 30 van transistoren 412 (bediend door het signaal op node 4θ4) en 413 (die door ({)1 wordt bekrachtigd). Zo is de inverteur 369 gerealiseerd. Node 419 wordt voorgeladen door transistor 414r(klokpuls φ3) en afgetast door een serieschakeling van transistoren 415-418 (φ4 en de ingangsinformatie). Zo 35 is op node 419 de poortfunktie 367 gevormd. Node 424 wordt voorgeladen door kbkpuls |>3 op transistor 420 en afgevraagd 7809398
BAD ORIGINAL
-28 Φ ΡΗΝ 9223.________________________________________________________________________________________________________ door een serieschakeling van transistor 421 (φ4) en transistor 422 (a). Zo wordt op node 424 de inverteur 364 geïmplementeerd . Node 425 wordt voorgeladen door klokpuls <j>3 op transistor 426 en afgevraagd door een serieschakeling 5 van transistor 427 (φ4) ©n transistor 428 (signaal b). Zo wordt op node 425 de inverteur 365 geïmplementeerd. Node 430 wordt voorgeladen door transistor 427A(<|>3) en afgevraagd door een serieschakeling van transistoren 429A. (bestuurd door node 425) en transistor 428Α(φΐ). Zo is op node 10 430 de inverteur 368 geïmplementeerd. Node 431 wordt voor geladen door transistor 432 (klokpuls ¢3) en afgevraagd door een serieschakeling van transistor 433 (klokpuls φ4) en 434 (bediend door signaal 3). Zo is op node 431 de inverteur 366 geïmplementeerd. Node 435 wordt voorgeladen 15 door traBistor 436 (klokpuls φ3) en afgevraagd door tran sistor 440 (klokpuls φ4) in serie met een parallelschakeling van transistoren 437, 438, 439» die elk door één der ingangsinformaties worden bekrachtigd. Zo is op node 435 de NIET-OF-funktie van poort 370 geïmplementeerd.
20 Node 442 wordt voorgeladen middels transistor 441 (bediend door klokpuls φ3) en afgetast door een serieschakeling van transistor 443 (bediend door Hokpuls φ4) en de transistoren 444, 445, 446 die elk door een van de in-formatiesignalen bediend worden. Zo is op node 442 nogmaals 25 (vergelijk met de eerder besproken node 419) de NIET-EN- poort 367 geïmplementeerd. Zo is deze informatie op geometrische vèr uiteengelegen plaatsen beschikbaar. Zo is in dit geval geen lange tussenverbinding nodig die gevoelig zou zijn door storingen in verband met overspraak. Node 30 447 wordt voorgeladen door transistor 448 (bediend door klokpuls φΐ) en afgetast door een serieschakeling van transistor 450 (klokpuls φ2) en een parallelschakeling van twee takken. De eerste tak bevat transistor 449 (bestuurd door het signaal vain node 435 ί NIET-OF-poort 370). De tweede 35 tak bevat in serie transistor 452, bediend door het signaal van node 4l4: inverteur 369 en transistor 451 (bediend 7809398
BAD ORIGINAL
-29- PHN 9223___________________________________________________________ door het signaal van node 442). Zo is op node 447 het uitgangssignaal s (poorten 383, 377) gevormd.
Node 453 wordt voorgeladen door transistor 423 (klokpuls φ3) en afgetast door een serieschakeling van 5 transistoren 455 (bediend door klokpuls φΐ) en transistor 454 (bediend door het signaal van node 435)· Zo is op node 453 de inverteur 370A uit fig. 11 geïmplementeerd. Op overeenkomstige wijze wordt middels de transistoren 429, 456, 457 op node 458 de inverteur 3*>7A geïmplementeerd. Node 10 459 wordt voorgeladen middels transistor 460 (bediend door klokpuls φΐ) en afgetast middels transistor 461 (bediend door klokpuls φ2) en drie jarallelgeschakelde takken. De eerste tak bevat een serieschakeling van transistoren 462 (bediend door het stuursignaal g) en 463 (bediend door node 15 435), waarmee poort 376 is geïmplementeerd. De tweede tak bevat een serieschakeling van transistoren 464 (bediend door het stuursignaal ^ en 465 (bediend door node 458), waarmede poort 375 is geïmplementeerd. De derde tak bevat een serieschakeling van transistor 466 (bediend door het 20 stuursignaal g.h), 467 (bediend door node 431) en 468 (be diend door node 453) waarmee poort 374 is geïmplementeerd. Zo is op node 459 poort 385 geïmplementeerd.
Node 470 wordt voorgeladen middels transistor 471 (klokpuls φΐ) en afgetast middels een serieschakeling 25 van transistor 472 (bediend door klokpuls φ2) en drie on derling parallelgeschakelde takken. De eerste tak bevat een serieschakeling van transistoren 473 (bediend door node 424), 474 (bediend door het stuursignaal h.g) en 475 (bediend door het signaal op node 453), waarmee poort 372 is 30 geïmplementeerd. De tweede tak bevat een serieschakeling van transistoren 476 (bediend door node 419), 477 (bediend door het stuursignaal gh) en 478 (bediend door de node 430-inverteur 368), waarmee poort 373 is geïmplementeerd. De derde tak bevat een serieschakeling van transistoren 480 35 (bediend door het stuursignaal g.h) en 481 (bestuurd door node 4θ4), waarmee poort 371 is geïmplementeerd. Zo is op 78 0 93 9 8
BAD ORIGINAL
-30 - PHN .9223__________________________________________________- node 470 de NIET-OF-poort 386 geïmplementeerd. Node 485 wordt voorgeladen door transistor 482 (bediend door klok-puls (J)1) en afgetast middels een serie schakeling van tran-sistoren 479 (φ3)» 483 (bediend door node 459) en 484 (be-5 diend door node 470 ), waarmee tenslotte poort 387 is geïm plementeerd om het signaal c te produceren. Hiermee is fig. 12 beschreven.
Vergelijking van de schakelingen volgens fig.
3, 4 en 12 geeft dat fig. 3 een standaardmodule biedt, 10 fig. 4 een met dezelfde breedte (dwars op klokpulslijnen Φ1» Φ3) en grotere hoogte en fig. 12 één met dezelfde hoogte als fig. 4 en dubbele breedte. Op zichzelf kan de keuze tussen verschillende geometrische opzetten (layouts) onafhankelijk zijn van de lqgjLsche bouw. De opzet van de niet 15 expliciet tot op transistomiveau gegeven arithmetische modules geschiedt op overeenkomstige, in de betreffende techniek gebruikelijke wijze.
Fig. 13 geeft nog de koppeling tussen twee schakelingen 8c, d, of ook 8a, b als in de laatste in plaats 20 van schakelaar 26 een programmeerbare heelopteller/aftrek ker aanwezig is. Eenvoudshalve zijn in de onderste rij slechts drie heelaftrekkers (500-502,:respektievelijk 503-505)* Voorts zijn voor de meer signifikante inrichting aangegeven vier modules (506-509) van het akkumulatorregister 25 (de verdere twee zijn weggelaten). Van de minder signifi kante inrichting zijn alle 6 modules van het akkumulatorregister 510-515 weergegeven. De modules 509/510 hebben dus dezelfde signifikantie. In dit geval zou de informatie in module een negatief voorteken hebben. Voor de realisering 30 van uitsluitend positiever voortekens wordt het overdracht- signaal van module 503 met negatief voorteken, en het overdracht s signaal van module 511 met positief voorteken toe— gevoerd aan de module 502 die nu als heelaftrekker met drie ingangssignalen is bestuurd. Voor de vermenigvuldiginrich— 5 tingen volgens 8a, b kan dit op dezelfde manier als op de plaats van schakelaar 26 een als heelopteller bestuurde 78 0 9-3 9 8
BAD ORIGINAL
Claims (4)
1. Inrichting voor het vermenigvuldigen van een 10 eerste en een tweede binaire getal, welke getallen respek- tievehjk ten hoogste q en p (p,qS>2) bitposities bevatten, welke inrichting bevat eerste middelen voor het vormen van de aldus ten hoogste p x q bitsgewijze deelprodukten van genoemde twee getallen,.tweede middelen welke bevatten een 15 arrangement (array) van (p—1) x q arithmetische modules waarvan er (p-1) voorzien zijn van tenminste twee en de overige voorzien zijn van drie ingangen om telkens van twee, respektievelijk drie, ontvangbare binaire grootheden met inachtneming van derzelver teken een algebraïsche som en 20 daaruit een tweebitsgetal van resultaat en overdracht te vormen, welke modules geschakeld zijn volgens bitsgewijs overeenstemmende signifikantieniveau's om genoemde deelprodukten te ontvangen alsmede overeenstemmende bits van genoemde resultaten totdat per signifikantieniveau een enkele 25 eindresultaatbit is gegenereerd op de uitgangen (p + q-2) modules alsmede een extra bit van hoogste signifikantie op een speciale uitgang van de meest signiflkante van genoemde (p + q-2) modules en een bit van laagste signifikantie op de uitgang van laagste signifikantie der genoemde eerste mid-30 delen, met het kenmerk, dat voor het vermenigvuldigen van twee getallen in twee-complementsnotatie genoemde tweede middelen bevatten een eerste groep van één module (29) om als heelaftrekker het meest signifikante deelprodukt met positief voorteken en twee bits tussen resultaat met nega-35 tief voorteken te ontvangen, een tweede groep van één modu— ' le (25) om als heelopteller de twee naasilagersignifikante 78 0 9 3 9 8 BAD ORIGINAL -32 - PHN. 5223_________:____________________________ deelprodukten met negatief* voorteken en één bit tussenresultaat met negatief* voorteken te ontvangen, een derde groep van (q-3) modules (19) om als heelaftrekkers telkens één, van de meestsignif*ikante bitpositie van het tweede 5 getal en de respektievelijke (q-3) op twee na meest signi- Pikante bitposities van het eerste getal met negatief vooraf komstig deelprodukt tekenL een verder deelprodukt dat niet van de meest signi- fikante bitpositie van het eerste getal afkoms&g is met positief voorteken, en één bit tussenresultaat met negatief 10 voorteken te ontvangen, een vierde groep van één module (19) om als tenminste halfaftrekker een van de meest signi- fikante bitpositie van het tweede getal en van de minst signifikante bitpositie van het eerste getal met negatief voorteken, en een verder deelprodukt dat niet van de meest 15 signifikante bitpositie van het eerste getal afkomstig is met positief voorteken te ontvangen, een vijfde groep van (p-2) modules (23» 24) om als heelaftrekker telkens één van de meest signifikante bitpositie van het eerste getal en de respektievelijke (p-2) minder signifikante bitposi- afkomstig 20 ties van het tweede getal/deelprodukt met negatief voor teken en verder twee bits tussenresultaat met positief voorteken te ontvangen, een zesde groep van (p-2) modules (17» 18) om als tenminste halfopteller telkens twee deel— produkten met positief voorteken te ontvangen, een zevende 25 groep van (p-2)(q—3) modules (20, 21) om als heelopteller telkens een deelprodukt met positief voorteken en twee bits tussenresultaat met positief voorteken te ontvangen, een achtste groep van (p-2) modules (27, 28) om als heelaftrekker telkens een van genoemde vierde groep afkomstige resul-30 taatbit met negatief voorteken annex een overdrachtsbit met positief voorteken, alsmede de resultaatbit van genoemde tweede groep met negatief voorteken te ontvangen en om serieel een uitgangsleenbit binnen de achtste groep en daarop aan de eerste groep door te geven, en (p-1) resul-35 taatbits parallelsgewijze aan de uitgangen van de achtste groep te presenteren, dat derde middelen aanwezig zijn om 7809398 BAD ORIGINAL - 33- PHN9223_________________________ aan de minstsignifikante module van de achtste groep de eindresultaatbit van naastlager signifikantieniveau met negatief* voorteken toe te voeren, dat de heelaftrekkers van eerste, derde, vijfde en achtste groepen voor het vor-5 men van gelijke logische funkties gebouwd zijn, en dat voor het vormen van het produkt van twee getallen met uitsluitend bits van positief voorteken alle (half)aftrekkers een stuuringang bezitten om door een signaal daarop als (half) optellers bestuurd te worden en genoemde derde middelen een 10 stuuringang bezitten om door een signaal daarop onwerkzaam te worden gemaakt.
2, Inrichting voor het vermenigvuldigen van twee binaire getallen in twee-complementsnotatie die respektie-vehjk ten hoogste ap en bq bitposities bevatten middels 15 (a x b) vermenigvuldiginrichtingen volgens conclusie 1 met (a + b)^3* met het kenmerk, dat genoemde (a x b) vermenigvuldiginrichtingen een tweede arrangement (array) vormen met opvolgende signifikanties volgens Ma, 1 Ma-1, 1 M2, 1 M1, 1
20 Ma, 2 Ma-1, 2 M2, 2 M1, 2 * t » · » ♦ Ma, b-1 Ma-1, b-1 M2, b-1 Ml, b-1 ...
25 Ma, b Ma-1, b M2, b M1, b waarbij vermenigvuldiginrichting Ma, b de hoogste en M1, 1 de laagste signifikantie heeft en verder de signifikanties van Mi, j en Mk, 1 gelijk zijn als i+j=k+l, en dat voorts stuuringangen aanwezig zijn om door een signaal 30 daarop van vermenigvuldiginrichtingen Ma, 1 ,Ma, b-1 de werking van tweede, vijfde en achtste groepen arithmetische modules ten opzichte van de werking bij vermenigvuldiginrichting Ma, b bij het uitvoeren van een vermenigvuldiging van twee getallen in twee-complementsnotatie te veranderen, 35 dat wil zeggen (heel)optellers tot (heel)aftrekkers te maken en omgekeerd, van de vermenigvuldiginrichtingen Ma-1, 7809398 BAD ORIGINAL -34- PHN . 9223______________________________________________________________ b ... M1, b de werking van tweede, derde en vierde groepen aritinnetische modules de werking ten opzichte van die bij module Ma, b te veranderen, om van de overige vermenigirul-diginrichtingen, behalve vermenigvuldiginrichting Ma, b 5 alle arithmetische modules als (heel)optellers te besturen, en alle verdere arithmetische modules op dezelfde manier als in vermenigvuldiginrichting Ma, b en voorts van alle vermenigvuldiginrichtingen behalve Ma, b ... Ml, b genoemde derde middelen onwerkzaam te maken, en dat voorts vierde 10 middelen aanwezig zijn om door algebraïsche optelling van de eindresultaatbits der vermenigvuldiginrichtingen met inachtneming van derzelver signifikantieniveau een eindprodukt te vormen.
3* Inrichting volgens conclusie 2rmet a ^.2, met 15 het kenmerk, dat van de vermenigvuldiginrichtingen Ma, b .. M2, b genoemde derde middelen telkens een heelaftrekker vein naastlagere signifikantie bij genoemde achtste groep vormen om naast de eindresultaatbit met negatief voorteken van dezelfde signifikantie uit diezelfde vermenigvuldiginrichting 20 van de vermenigvuldiginrichting met naastlagere signifikan tie binnen de rij Ma, b ... M2, b de meest signifikante eindresultaatbit met negatief voorteken te ontvangen met uitsluiting van toevoer aan genoemde vierde middelen, en voorts de op een na meest signifikante eindresultaatbit met 25 positief voorteken.
4. Inrichting volgens conclusie 1, 2 of 3» met het kenmerk, dat de arithmetische modules zijn uitgevoerd als geïntegreerde schakeling in dynamische MOS-logika met een inherente trekker (onftioud)-funktie aan de uitgangen voor 30 resultaatbit en overdracht en dat de uitgangen voor de eindresultaatbits verbonden zijn met overeenkomstige ingangen van een verdere groep in serie geschakelde modules van overeenkomstige logische bouw als genoemde q(p-l) modules die middels hun heeloptellerfunktie een akkumulatorregister 35 vormen. 7809395 BAD ORIGINAL
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL7809398A NL7809398A (nl) | 1978-09-15 | 1978-09-15 | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. |
GB7931615A GB2030743B (en) | 1978-09-15 | 1979-09-12 | Multiplier for binary numbers in two's complement notation |
FR7922800A FR2436441B1 (fr) | 1978-09-15 | 1979-09-12 | Dispositif multiplicateur pour nombres binaires |
DE19792936763 DE2936763A1 (de) | 1978-09-15 | 1979-09-12 | Multiplikationsanordnung fuer dualzahlen in zweikomplementdarstellung |
JP11917079A JPS5541600A (en) | 1978-09-15 | 1979-09-17 | Multiplier |
US06/282,887 US4432066A (en) | 1978-09-15 | 1981-07-13 | Multiplier for binary numbers in two's-complement notation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL7809398 | 1978-09-15 | ||
NL7809398A NL7809398A (nl) | 1978-09-15 | 1978-09-15 | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. |
Publications (1)
Publication Number | Publication Date |
---|---|
NL7809398A true NL7809398A (nl) | 1980-03-18 |
Family
ID=19831544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL7809398A NL7809398A (nl) | 1978-09-15 | 1978-09-15 | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4432066A (nl) |
JP (1) | JPS5541600A (nl) |
DE (1) | DE2936763A1 (nl) |
FR (1) | FR2436441B1 (nl) |
GB (1) | GB2030743B (nl) |
NL (1) | NL7809398A (nl) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2524175A1 (fr) * | 1982-03-25 | 1983-09-30 | Labo Cent Telecommunicat | Structure de multiplieur rapide en circuit integre mos |
JPS58181143A (ja) * | 1982-04-15 | 1983-10-22 | Matsushita Electric Ind Co Ltd | デイジタル乗算器 |
JPS58165312U (ja) * | 1982-04-30 | 1983-11-04 | 加藤発条株式会社 | 連結具 |
US4556948A (en) * | 1982-12-15 | 1985-12-03 | International Business Machines Corporation | Multiplier speed improvement by skipping carry save adders |
DE3482532D1 (de) * | 1983-07-06 | 1990-07-19 | Secr Defence Brit | Prozessor mit zwangseinstellung. |
US4748583A (en) * | 1984-09-17 | 1988-05-31 | Siemens Aktiengesellschaft | Cell-structured digital multiplier of semi-systolic construction |
US4736335A (en) * | 1984-11-13 | 1988-04-05 | Zoran Corporation | Multiplier-accumulator circuit using latched sums and carries |
US4706210A (en) * | 1984-12-13 | 1987-11-10 | The Johns Hopkins University | Guild array multiplier for binary numbers in two's complement notation |
US4750144A (en) * | 1985-12-31 | 1988-06-07 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real time pipelined system for forming the sum of products in the processing of video data |
US4887233A (en) * | 1986-03-31 | 1989-12-12 | American Telephone And Telegraph Company, At&T Bell Laboratories | Pipeline arithmetic adder and multiplier |
US4831577A (en) * | 1986-09-17 | 1989-05-16 | Intersil, Inc. | Digital multiplier architecture with triple array summation of partial products |
JPS63108460A (ja) * | 1986-10-09 | 1988-05-13 | ゾ−ラン コ−ポレ−シヨン | ラツチされた和及びキヤリイを用いるマルチプライヤ回路 |
US4768161A (en) * | 1986-11-14 | 1988-08-30 | International Business Machines Corporation | Digital binary array multipliers using inverting full adders |
US4796219A (en) * | 1987-06-01 | 1989-01-03 | Motorola, Inc. | Serial two's complement multiplier |
US4926371A (en) * | 1988-12-28 | 1990-05-15 | International Business Machines Corporation | Two's complement multiplication with a sign magnitude multiplier |
US7743085B2 (en) * | 2004-11-08 | 2010-06-22 | Tabula, Inc. | Configurable IC with large carry chains |
US7917559B2 (en) * | 2004-11-08 | 2011-03-29 | Tabula, Inc. | Configurable IC's with configurable logic circuits that perform adder and/or subtractor operations |
US7236009B1 (en) * | 2004-12-01 | 2007-06-26 | Andre Rohe | Operational time extension |
US7765249B1 (en) | 2005-11-07 | 2010-07-27 | Tabula, Inc. | Use of hybrid interconnect/logic circuits for multiplication |
US7372297B1 (en) | 2005-11-07 | 2008-05-13 | Tabula Inc. | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources |
US7818361B1 (en) * | 2005-11-07 | 2010-10-19 | Tabula, Inc. | Method and apparatus for performing two's complement multiplication |
US8463836B1 (en) | 2005-11-07 | 2013-06-11 | Tabula, Inc. | Performing mathematical and logical operations in multiple sub-cycles |
US7679401B1 (en) * | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US7514957B2 (en) * | 2007-03-20 | 2009-04-07 | Tabula, Inc | Configurable IC having a routing fabric with storage elements |
US8863067B1 (en) | 2008-02-06 | 2014-10-14 | Tabula, Inc. | Sequential delay analysis by placement engines |
US8166435B2 (en) * | 2008-06-26 | 2012-04-24 | Tabula, Inc. | Timing operations in an IC with configurable circuits |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3469086A (en) * | 1964-10-09 | 1969-09-23 | Burroughs Corp | Majority logic multiplier circuit |
SE308413B (nl) * | 1967-06-30 | 1969-02-10 | Ibm Svenska Ab | |
US3670956A (en) * | 1968-09-26 | 1972-06-20 | Hughes Aircraft Co | Digital binary multiplier employing sum of cross products technique |
US3752971A (en) * | 1971-10-18 | 1973-08-14 | Hughes Aircraft Co | Expandable sum of cross product multiplier/adder module |
JPS56816B2 (nl) * | 1972-12-27 | 1981-01-09 | ||
US3900724A (en) * | 1974-02-11 | 1975-08-19 | Trw Inc | Asynchronous binary multiplier using non-threshold logic |
US3947670A (en) * | 1974-11-22 | 1976-03-30 | General Electric Company | Signed multiplication logic |
JPS51115742A (en) * | 1975-04-03 | 1976-10-12 | Nec Corp | 2's complement parallel type multiplication circuit |
JPS52128026A (en) * | 1976-04-21 | 1977-10-27 | Nec Corp | Multi-input adding circuit for multiplication |
US4130878A (en) * | 1978-04-03 | 1978-12-19 | Motorola, Inc. | Expandable 4 × 8 array multiplier |
-
1978
- 1978-09-15 NL NL7809398A patent/NL7809398A/nl not_active Application Discontinuation
-
1979
- 1979-09-12 FR FR7922800A patent/FR2436441B1/fr not_active Expired
- 1979-09-12 DE DE19792936763 patent/DE2936763A1/de not_active Withdrawn
- 1979-09-12 GB GB7931615A patent/GB2030743B/en not_active Expired
- 1979-09-17 JP JP11917079A patent/JPS5541600A/ja active Granted
-
1981
- 1981-07-13 US US06/282,887 patent/US4432066A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2030743A (en) | 1980-04-10 |
JPS6310450B2 (nl) | 1988-03-07 |
US4432066A (en) | 1984-02-14 |
DE2936763A1 (de) | 1980-03-27 |
GB2030743B (en) | 1982-07-14 |
FR2436441A1 (fr) | 1980-04-11 |
FR2436441B1 (fr) | 1986-03-28 |
JPS5541600A (en) | 1980-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL7809398A (nl) | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. | |
Chow et al. | Logical design of a redundant binary adder | |
US4489393A (en) | Monolithic discrete-time digital convolution circuit | |
JPH06502287A (ja) | ゼロオーバヘッドセルフタイムド繰り返し論理 | |
US5297070A (en) | Transform processing circuit | |
US3721812A (en) | Fast fourier transform computer and method for simultaneously processing two independent sets of data | |
US5010511A (en) | Digit-serial linear combining apparatus useful in dividers | |
US3596251A (en) | Logical shifting device and method of shifting | |
US4293922A (en) | Device for multiplying binary numbers | |
US5038315A (en) | Multiplier circuit | |
US3740538A (en) | Digital sorter and ranker | |
US3308281A (en) | Subtracting and dividing computer | |
US3582634A (en) | Electrical circuit for multiplying serial binary numbers by a parallel number | |
US5084834A (en) | Digit-serial linear combining apparatus | |
Thapliyal | Vedic mathematics for faster mental calculations and high speed VLSI arithmetic | |
US3125676A (en) | jeeves | |
RU2559771C2 (ru) | Устройство для основного деления модулярных чисел | |
US4513388A (en) | Electronic device for the execution of a mathematical operation on sets of three digital variables | |
US3538316A (en) | Tolerance computer | |
EP0613574A1 (en) | DIGITAL ADDITIONER HAVING HIGH SPEED AND LOW CAPACITY DEFERRATION BYPASS SIGNAL PATH. | |
NL8203196A (nl) | Digitale frequentiezeefketen. | |
Chiang | A New CCD parallel processing architecture | |
EP4086910A1 (en) | Multiply-accumulate (mac) unit for in-memory computing | |
SU1024909A1 (ru) | Множительное устройство | |
SU1136147A1 (ru) | Вычислительное устройство |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BT | A notification was added to the application dossier and made available to the public | ||
BV | The patent application has lapsed |