NL8202913A - Besturingsvolgordeketen voor een emulator. - Google Patents

Besturingsvolgordeketen voor een emulator. Download PDF

Info

Publication number
NL8202913A
NL8202913A NL8202913A NL8202913A NL8202913A NL 8202913 A NL8202913 A NL 8202913A NL 8202913 A NL8202913 A NL 8202913A NL 8202913 A NL8202913 A NL 8202913A NL 8202913 A NL8202913 A NL 8202913A
Authority
NL
Netherlands
Prior art keywords
emulator
control sequence
sequence circuit
decoding
circuit according
Prior art date
Application number
NL8202913A
Other languages
English (en)
Original Assignee
Tektronix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of NL8202913A publication Critical patent/NL8202913A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Description

t -1-
823133/AA/vL
Korte aanduiding: Besturingsvolgordeketen voor een emulator
Systemen welke gebruikt worden bij het ontwerp en de ont-wikkeling van op microprocessor gebaseerde produkten omvatten dikwijls zogenaamde emulators, of emulatie subsystemen, die een in een prototype van het produkt te gebruiken doelmicropro-5 cessor emuleren. Met behulp van emulators zijn de hardwaar (apparatuur) en programmatuur voor het prototype tegelijk te ontwikkelen met een grote flexibiliteit, zodat wijzigingen in het ontwerp gemaakt kunnen worden en fouten opgespoord kunnen worden voordat het ontwerp. in een permanente uitvoering ge-10 stalte krijgt. De emulator omvat een emulatorprocessor en een emulatorbesturingseenheid, welke componenten beide op de systeem-bus aangesloten zijn en samenwerken met de systeemprocessor.
Het is voor de emulatorbesturingseenheid gewenst dat het op passieve wijze toezicht houdt op de emulatordatabus en be-15 paalde informatie, welke een voorspellend karakter van het ge-drag van de emulatorprocessor inhoudt, uit de instructiestroom over de databus onttrekt, en dat het in een voorafbepaalde volg-orde werkzaam is voor het opwekken van besturingssignalen in responsie op de onttrokken informatie. Het zal voor een derge-20 lijke besturingseenheid, hierna ook emulatorbesturingsvolgorde-keten genaamd, gewenst zijn dat het universeel toepasbaar is ter aanpassing aan een aantal verschillende emulatorprocessors.
Volgens de uitvinding behoudt een universele emulatorbe-sturingsvolgordeketen de synchronisatie met de ophaal-executie-25 cyclus van een emulatormicroprocessor door het passief toezicht houden op de emulatordatabus en specifieke statuslijnen, en genereert het signalen, welke het ophalen van operatiecoden (opcode) voorspelt, bepaalde buscycli blokkeert welke niet rele-vante informatie bevatten, het ophalen van ongeldige opcodes 30 detecteert, en een scala aan besturings- en statussignalen voor de emulator levert.
In een voorkeursuitvoeringsvorm volgens de uitvinding de-codeert een instructiedecodeur elke instructiebyte op de emula- 8202913 "5 -2- tor databus in instructiesoorten, voor opcode-ophalingen en vertakkingsadressen voor gebruik door een adresgenerator.
De instructiesoorten worden onthouden en gebruikt als "pagina"-adressen voor een micro-instructiegeheugen. Het micro-instruc-5 tiegeheugen, een pijplijnregister, en de genoemde adresgenerator vormen een toestandsmachine welke het stel in het micro-instructiegeheugen opgeslagen instructies uitvoert. Door de adresgenerator uit te voeren adressen kunnen uitgaande van ver-schillende bronnen, waaronder het micro-instructiegeheugen, 10 geselecteerd worden in afhankelijkheid van bepaalde via het pijplijnregister van het micro-instructiegeheugen geleverde besturingsdata. De uitvoer van het micro-instructiegeheugen wordt gedecodeerd voor het leveren van de genoemde besturings-signalen. In deze uitvoeringsvorm bestaan de instructiedeco-15 der en het micro-instructiegeheugen uit willekeurig toeganke-lijke geheugens (RAM's), en zijn dus volledig programmeerbaar. Daardoor kan niet alleen een specifiek processorgedrag voor-spelt worden in overeenstemming met geprogrammeerde instructies, maar kan de emulatorbesturingsvolgordeketen volgens de 20 uitvinding universeel toegepast worden voor een aantal ver-schillende emulatormicroprocessor s.
De uitvinding beoogt daarcm een emulatorbesturingsvolgor-deketen te verschaffen, welke geschikt is voor het onttrekken van en reageren op bepaalde informatie die een voorspellend ka-25 rakter heeft voor het gedrag van de emulator processor uit een instructiestroom over de emulator databus,
De uitvinding beoogt tevens een emulatorbesturingsvolgor-deketen te verschaffen, welke tijdens het passief toezicht hou-den op een databus de synchronisatie met de ophaal-executie-30 cyclus van een emulatormicroprocessor handhaaft en signalen op-wekt welke een bepaald inwendig microprocessorgedrag aangeven.
De uitvinding beoogt tevens een emulatorbesturingsvolg-ordeketen te verschaffen welke een programmeerbare toestandsmachine vormt.
35 De uitvinding beoogt verder een emulatorbesturingsvolgor- deketen te verschaffen welke geschikt is voor het voorspellen van het optreden van de volgende ophaal opcode door het deco- 8202913
P
-3- deren van andere informatie in een instructiestroora alsmede de actuele opcode.
De uitvinding wordt toegelicht aan de hand van de tekening. In de tekening toont: 5 fig. 1 een blokdiagram van een emulatorbesturingsvolgorde- keten volgens de uitvinding; fig. 2A toont het formaat van het micro-instruetiewoord voor besturingsuitvoer en besturing van de adresgenerator; en fig. 2B het formaat van het micro-instructiewoord voor 10 ophaal- en vertakkingsbesturing.
In het in fig. 1 getoonde blokdiagram levert een met on-derbroken lijnen aangegeven emulatordatabus 10 data-invoer aan een databusdecodeur 12. In feite vormt de databus 10 een ver-binding tussen een niet-getoonde systeemmicroprocessor en een 15 niet-getoonde emulatorprocessor van een laboratoriumsysteem voor microprocessorontwikkeling, en houdt de decoder 12 passief toezicht op de instructiestroom gaande over de bus. Tussen de databus 10 en de ingang van de decoder 12 kan een geheugenele-ment opgenomen worden voor het gedurende een voile klokcyclus 20 vasthouden van de ingangsdata. De databusdecoder 12 kan gevormd worden door een willekeurig toegankelijk geheugen (RAM) welke geschikt is om door de systeemmicroprocessor geprogrammeerd te worden. In de voorkeursuitvoeringsvorm bestaat de decoder 12 uit 4-K statische RAM’s met type-aanduiding 2148 van Intel 25 (handelsnaam), welke georganiseerd zijn als 2048 woorden van elk 8 bits voor het decoderen van een byte (8 bits) data in 4-bit instructiesoorten voor opcode ophalingen, en/of 4-bit of 6-bit vertakkingsadressen voor gebruik door een adresgenerator. Een instructiesoortgeheugenelement 14, welke gevormd kan wor-30 den door een 4-bit D-type register met type-aanduiding 74S173 accepteert als invoer de 4-bit instructiesoort vanaf de databusdecoder 12. Indien vrijgegeven, wordt het geheugenelement 14 geklokt door de volgordeketenklok, die gevormd kan worden door de emulatormicroprocessorklok, en in geringe mate vertraagd 35 voor het compenseren van propagatievertragingen in de dataweg.
In feite wordt het geheugenelement 14 alleen opvolgende opcode-ophalingen geklokt of wanneer een bepaalde uitvoer vanaf de 8202913 -4- uitvoerdecoder 22 actief is. Het geheugenelement 14 wordt dus gewist bij ontvangst van een opcode-ophaalklok. De uitgangen van het geheugenelement 14, die de aanwezigheid van een actue-le opcode aangeven, worden gebruikt als "pagina,,-adressen voor 5 een micro-instructiegeheugen 16 en worden tevens teruggevoerd om gebruikt te worden als invoer naar de databusdecoder 12.
Op deze wijze kan het optreden van de volgende opcode-ophaling voorspeld worden door het decoderen van andere informatie over de databus 10 voor gebruik door de emulatorbesturingsvolgorde-10 keten.
Het micro-instructiegeheugen 16, een pijplijnregister 18 en een adresgenerator 20 vormen een toestandsmachine, die een stel in een micro-instructiegeheugen opgeslagen instructies verwerkt. Het micro-instructiegeheugen 16 bestaat uit vier 4-K 15 statische RAM's van de hierboven genoemde soort, die georgani-seerd zijn als 1024 woorden van elke 16 bits, en wordt door de systeemmicroprocessor geprogrammeerd. Bepaalde uitgangssigna- % len van het micro-instructiegeheugen 16 worden door een decoder 22 gedecodeerd voor het leveren van de gewenste besturings-20 uitvoer, zoals voor het ophalen, .cyclusblokkering, etc.. Bepaalde andere uitvoer wordt opgeslagen in het pijplijnregis-ter 18 voor het verschaffen van de besturing van de volgende cyclus voor de adresgenerator 20, micro-instructie-aftakadres-sen welke via een multiplexer (MUX) 24 naar de adresgenerator 25 20 gevoerd worden, en een adresselectiesignaal voor de multiplexer 24. De multiplexer 24 kan tevens aftakadressen uitgaan-de van de databusdecoder 12 selecteren. In een geteste uitvoe-ringsvorm bestaat de multiplexer 24 uit een paar viervoudige multiplexers met twee ingangen met type-aanduiding 74S157.
30 Het pijplijnregister 18 bestaat uit een paar zesvoudige D flip-flops met type-aanduiding 74S174, waarin de op de D-ingangen aanwezige informatie voor opslag ervan wordt overgedragen op een positief gaande klokflank. Zowel het pijplijnregister 18 als de adresgenerator 20 worden geklokt door de volgordeketen-35 klok, of de microprocessorklok, die, zoals reeds gezegd, het instruetiesoortgeheugenelement 14 klokt. De fig. 2A en 2B tonen het woordformaat voor de uitvoer van het micro-instructiegeheugen 16.
8202913 $ -5-
De adresgenerator 20 bestaat uit twee microprogrammavolg- ordeketens met type-aanduiding Am 2911, die in cascade gescha- keld zijn ter verkrijging van een grotere invoer-(8 bits) en uitvoercapaciteit. Deze bepaalde eenheden omvatten elk een in- > 5 wendig adresregister, een 4-woord bij 4-bit geheugenstapel met een stapelaanwijzer en toevoer-uitvoerbesturing voor het nes-ten van subroutines, een te cascaderen 4-bit microprogrammatel-ler, en interne besturingsketens zoals een multiplexer voor adresbronselectie en een stapverhoger. Gebaseerd op de bestu-10 ringsdata afkomstig van het pijplijnregister 18 en de adresin-voer vanaf de multiplexer 24 levert de adresgenerator 20 stellen adressen voor het micro-instructiegeheugen 16.
De decoder 22 kan een l-uit-8 decoder/demultiplexer met type-aanduiding 74S138 zijn. Elke uitvoer is wederzijds exclu-15 sief zodat in een scala van besturingsfuncties voorzien kan worden. De besturingsinvoer naar de decoder 22 kan afkomstig zijn van verschillende statuslijnen van de emulatormicropro-cessor of bijvoorbeeld van functies met betrekking tot een gel-dig geheugenadres, lezen/schrijven, executie, interruptie de-20 tectie, en verschillende ophaalfuncties. Hierdoor kan de deco-der 22 vrijgegeven of geblokkeerd worden in overeenstemming met de status van de emulatormicroprocessor.
De emulatorbesturingsvolgordeketen kan dus geheel samen-gesteld worden uit commercieel beschikbare componenten. De hier-25 voor genoemde componenten verschaffen een aanpassingsmogelijk-heid met microprocessors van de 6800-soort. Er wordt opgemerkt, dat alle geheugenruimten in de emulatorbesturingsvolgordeketen van de willekeurig toegankelijke soort zijn en als systeemge-heugen door de systeemprocessor toegankelijk is.
30 Uit het voorgaande volgt dat een emulatorbesturingsvolg- ordeketen passief toezicht houdt op de databus van een emulatormicroprocessor en bepaalde informatie, welke voorspellend is voor het gedrag van de processor, uit een instruetiestroom over de databus onttrekt. Informatie waarvan gewenst is dat 35 het door de emulatorbesturingsvolgordeketen onttrokken wordt, wordt in de willekeurig toegankelijke geheugens binnen de volgordeketen geprogrammeerd door de systeemmicroprocessor.
8202913 L· -6-
De eraulatorbesturingsvolgordeketen is daarom universeel toe-pasbaar en kan aangepast worden aan een aantal verschillende processors, waarbij elk het noodzakelijke programmeren ver-schaft voor het uitvoeren van de gewenste signaalopwekkings-5 functies.
8202913

Claims (9)

1. Emulatorbesturingsvolgordeketen gekenmerkt door eerste decoderingsmiddelen voor het decoderen van databytes op-tredend over een microprovessorbus voor het leveren van instruc-tiesoortdata; een toestandsmachine omvattende opslagmiddelen 5 die gedeeltelijk reageren op de instructiesoortdata voor het leveren van een aantal besturingsdata in overeenstemming met in adresseerbare geheugenlokaties aanwezige instructies, en adresgeneratormiddelen die reageren op tenminste een gedeelte van de besturingsdata voor adresseerbare opslaglokaties van de 10 opslagmiddelen in een door de instructiesoortdata te bepalen voorafbepaalde volgorde; en tweede decoderingsmiddelen voor het decoderen van tenminste een gedeelte van de besturingsdata voor het daarbij leveren van besturingssignalen.
2. Emulatorbesturingsvolgordeketen volgens conclusie 1 met 15 h e t kenmerk dat de eerste decoderingsmiddelen een eerste willekeurig toegankelijk geheugen omvat, waarin voorafbepaalde instructiesoortdatawoorden in adresseerbare opslaglokaties daarvan.opgeslagen zijn.
3. Emulatorbesturingsvolgordeketen volgens conclusie 2 met 20 h e t kenmerk dat de decoderingsmiddelen verder een ge- heugenelement omvatten voor de ontvangst en de opslag van de instructiesoortdatawoorden.
4. Emulatorbesturingsvolgordeketen volgens conclusie 3 met het kenmerk dat de instructiesoortdatawoorden vanaf 25 het geheugenelement gekoppeld worden naar de ingangen van het eerste willekeurig toegankelijke geheugen voor het leveren van verder gedecodeerde instructies.
5. Emulatorbesturingsvolgordeketen volgens conclusie 2 met het kenmerk dat het eerste willekeurig toegankelijke 30 geheugen programmeerbaar is.
6. Emulatorbesturingsvolgordeketen volgens conclusie 2 met het kenmerk dat de eerste decoderingsmiddelen verder aftakkingsadressen voor gebruik door de adresgeneratormiddelen levert.
7. Emulatorbesturingsvolgordeketen volgens conclusie 2 met 8202913 -8- het kenmerk dat de opslagmiddelen van de toestands-machine een tweede willekeurig toegankelijk geheugen omvatten, waarbij het tweede willekeurig toegankelijke geheugen program-meerbaar is.
8. Emulatorbesturingsvolgordeketen volgens conclusie 1 met het kenmerk dat de toestandsmachine verder bestaat uit registermiddelen verbonden tussen de uitgang van de opslagmiddelen en de ingang van de adresgeneratormiddelen, waarbij de registermiddelen en de adresgeneratormiddelen synchroon met een 10 voorafbepaald kloksignaal werkzaam zijn.
9. Emulatorbesturingsvolgordeketen volgens conclusie 1 met het kenmerk dat de eerste decoderingsmiddelen verder aftakkingsadressen leveren en de opslagmiddelen van de toestandsmachine verder aftakkingsadressen leveren, en dat de adresgene-15 ratormiadelen verder selectief reageren op de aftakkingsadressen afkomstig van de eerste decoderingsmiddelen of van de opslagmiddelen. 8202913
NL8202913A 1981-07-30 1982-07-20 Besturingsvolgordeketen voor een emulator. NL8202913A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28825581 1981-07-30
US06/288,255 US4447876A (en) 1981-07-30 1981-07-30 Emulator control sequencer

Publications (1)

Publication Number Publication Date
NL8202913A true NL8202913A (nl) 1983-02-16

Family

ID=23106381

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8202913A NL8202913A (nl) 1981-07-30 1982-07-20 Besturingsvolgordeketen voor een emulator.

Country Status (4)

Country Link
US (1) US4447876A (nl)
JP (1) JPS5819961A (nl)
DE (1) DE3228405A1 (nl)
NL (1) NL8202913A (nl)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8413933D0 (en) * 1984-05-31 1984-07-04 Columbia Automation Ltd Emulating timing characteristics of microprocessor
JPS60152962A (ja) * 1984-01-20 1985-08-12 Yokogawa Hokushin Electric Corp デ−タバストレ−サ
JPS61210437A (ja) * 1985-03-14 1986-09-18 Ando Electric Co Ltd インサ−キツト・エミユレ−タの制御方法
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
JPH0727471B2 (ja) * 1985-08-01 1995-03-29 日本電気株式会社 マイクロコンピュータ開発装置
US4769558A (en) * 1986-07-09 1988-09-06 Eta Systems, Inc. Integrated circuit clock bus layout delay system
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
JPS63192139A (ja) * 1987-02-04 1988-08-09 Yokogawa Electric Corp 実行バスサイクル検出装置
JPS64140U (nl) * 1987-06-22 1989-01-05
US4975869A (en) * 1987-08-06 1990-12-04 International Business Machines Corporation Fast emulator using slow processor
US4951195A (en) * 1988-02-01 1990-08-21 International Business Machines Corporation Condition code graph analysis for simulating a CPU processor
JPH0235524A (ja) * 1988-03-14 1990-02-06 Advanced Micro Devicds Inc バスコンパチブルプログラマブルシーケンサ
US5596331A (en) * 1988-05-13 1997-01-21 Lockheed Martin Corporation Real-time control sequencer with state matrix logic
US5202976A (en) * 1988-12-30 1993-04-13 Hewlett-Packard Company Method and apparatus for coordinating measurement activity upon a plurality of emulators
US5077657A (en) * 1989-06-15 1991-12-31 Unisys Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor
US5093776A (en) * 1989-06-15 1992-03-03 Wang Laboratories, Inc. Information processing system emulation apparatus and method
DE4042263A1 (de) * 1990-12-31 1992-07-02 Richt Stefan Verfahren zu erkennung des interruptstatus eines mikroprozessors
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
JPH04350737A (ja) * 1991-05-29 1992-12-04 Nec Corp マイクロコンピュータ
US5687312A (en) * 1993-07-30 1997-11-11 Texas Instruments Incorporated Method and apparatus for processor emulation
US5835960A (en) * 1994-01-07 1998-11-10 Cirrus Logic, Inc. Apparatus and method for interfacing a peripheral device having a ROM BIOS to a PCI bus
US5579263A (en) * 1994-12-22 1996-11-26 Sgs-Thomson Microelectronics, Inc. Post-fabrication selectable registered and non-registered memory
JPH10254738A (ja) * 1997-03-12 1998-09-25 Mitsubishi Electric Corp エミュレータ装置及びエミュレーション方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller

Also Published As

Publication number Publication date
JPS6246895B2 (nl) 1987-10-05
DE3228405A1 (de) 1983-02-17
US4447876A (en) 1984-05-08
DE3228405C2 (nl) 1987-01-29
JPS5819961A (ja) 1983-02-05

Similar Documents

Publication Publication Date Title
NL8202913A (nl) Besturingsvolgordeketen voor een emulator.
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
EP0260584B1 (en) Fault tolerant computer achitecture
US5280595A (en) State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency according to status signals received from different functional sections
Michel et al. A new approach to control flow checking without program modification
EP0464494A2 (en) A high performance pipelined emulator
US4821187A (en) Processor capable of executing one or more programs by a plurality of operation units
CA1180455A (en) Pipelined microprocessor with double bus architecture
US4019033A (en) Control store checking system and method
US5255382A (en) Program memory expander for 8051-based microcontrolled system
US5742801A (en) Microprocessor to which additional instructions are added and instructions addition method thereof
US4410984A (en) Diagnostic testing of the data path in a microprogrammed data processor
KR970012153A (ko) 데이타 프로세서 및 중단점 작동 실행 방법
US4093983A (en) Fast and normal rate instruction fetching
EP0497485A2 (en) Computer for implementing two-operand instructions
JPH07120284B2 (ja) データ処理装置
US5278840A (en) Apparatus and method for data induced condition signalling
US5237664A (en) Pipeline circuit
JPS5938677B2 (ja) 制御ワ−ド転送制御装置
JPS5838819B2 (ja) デ−タ処理システム用制御ファイル装置
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
US5247625A (en) System for checking undefined addressing prescribed for each instruction of variable length using tag information to determine addressing field decoded in present or preceding cycle
US5243601A (en) Apparatus and method for detecting a runaway firmware control unit
JPH1063541A (ja) コンピュータシステムのプログラム暴走監視装置
WO1988007239A1 (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units

Legal Events

Date Code Title Description
BT A document has been added to the application laid open to public inspection
A85 Still pending on 85-01-01
BV The patent application has lapsed