Using logic programming and coroutining for electronic CAD
Identifieur interne : 002711 ( Main/Exploration ); précédent : 002710; suivant : 002712Using logic programming and coroutining for electronic CAD
Auteurs : Ulrich Bieker [Allemagne] ; Andreas Neumann [Allemagne]Source :
- The Journal of Logic Programming [ 0743-1066 ] ; 1996.
Abstract
We show how an extended Prolog can be exploited to implement different electronic CAD tools. Starting with a computer hardware description language (CHDL) several problems like digital circuit analysis, simulation, test generation, and code generation for programmable microprocessors are discussed. For that purpose the MIMOLA (machine independent microprogramming language) system MSS (MIMOLA hardware design system) is presented. It is shown that logic programming techniques have several advantages especially in the area of integrated circuit design. One of the main advantages is the small code size, which translates to easy maintenance. We make extensive use of two main features of standard Prolog and constraint logic programming, i.e., backtracking and the coroutining mechanism, to express Boolean constraints.
Url:
DOI: 10.1016/0743-1066(95)00099-2
Affiliations:
- Allemagne
- District d'Arnsberg, Rhénanie-Palatinat, Rhénanie-du-Nord-Westphalie
- Dortmund, Trèves (Allemagne)
- Université de Trèves
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: 001282
- to stream Istex, to step Curation: 001170
- to stream Istex, to step Checkpoint: 000F85
- to stream Main, to step Merge: 002B85
- to stream Main, to step Curation: 002711
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title>Using logic programming and coroutining for electronic CAD</title>
<author><name sortKey="Bieker, Ulrich" sort="Bieker, Ulrich" uniqKey="Bieker U" first="Ulrich" last="Bieker">Ulrich Bieker</name>
</author>
<author><name sortKey="Neumann, Andreas" sort="Neumann, Andreas" uniqKey="Neumann A" first="Andreas" last="Neumann">Andreas Neumann</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:AC2E95CFD0DA02C250FB0147BE7247153B3B9F7F</idno>
<date when="1996" year="1996">1996</date>
<idno type="doi">10.1016/0743-1066(95)00099-2</idno>
<idno type="url">https://api.istex.fr/document/AC2E95CFD0DA02C250FB0147BE7247153B3B9F7F/fulltext/pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001282</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001282</idno>
<idno type="wicri:Area/Istex/Curation">001170</idno>
<idno type="wicri:Area/Istex/Checkpoint">000F85</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">000F85</idno>
<idno type="wicri:doubleKey">0743-1066:1996:Bieker U:using:logic:programming</idno>
<idno type="wicri:Area/Main/Merge">002B85</idno>
<idno type="wicri:Area/Main/Curation">002711</idno>
<idno type="wicri:Area/Main/Exploration">002711</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a">Using logic programming and coroutining for electronic CAD</title>
<author><name sortKey="Bieker, Ulrich" sort="Bieker, Ulrich" uniqKey="Bieker U" first="Ulrich" last="Bieker">Ulrich Bieker</name>
<affiliation wicri:level="1"><country wicri:rule="url">Allemagne</country>
</affiliation>
<affiliation wicri:level="3"><country xml:lang="fr">Allemagne</country>
<wicri:regionArea>University of Dortmund, Department of Computer Science, D-44221 Dortmund</wicri:regionArea>
<placeName><region type="land" nuts="1">Rhénanie-du-Nord-Westphalie</region>
<region type="district" nuts="2">District d'Arnsberg</region>
<settlement type="city">Dortmund</settlement>
</placeName>
</affiliation>
</author>
<author><name sortKey="Neumann, Andreas" sort="Neumann, Andreas" uniqKey="Neumann A" first="Andreas" last="Neumann">Andreas Neumann</name>
<affiliation wicri:level="1"><country wicri:rule="url">Allemagne</country>
</affiliation>
<affiliation wicri:level="4"><country xml:lang="fr">Allemagne</country>
<wicri:regionArea>Andreas Neumann, University of Trier, Department of Computer Science, D-54286 Trier</wicri:regionArea>
<orgName type="university">Université de Trèves</orgName>
<placeName><settlement type="city">Trèves (Allemagne)</settlement>
<region type="land" nuts="1">Rhénanie-Palatinat</region>
</placeName>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="j">The Journal of Logic Programming</title>
<title level="j" type="abbrev">JLP</title>
<idno type="ISSN">0743-1066</idno>
<imprint><publisher>ELSEVIER</publisher>
<date type="published" when="1996">1996</date>
<biblScope unit="volume">26</biblScope>
<biblScope unit="issue">2</biblScope>
<biblScope unit="page" from="199">199</biblScope>
<biblScope unit="page" to="215">215</biblScope>
</imprint>
<idno type="ISSN">0743-1066</idno>
</series>
<idno type="istex">AC2E95CFD0DA02C250FB0147BE7247153B3B9F7F</idno>
<idno type="DOI">10.1016/0743-1066(95)00099-2</idno>
<idno type="PII">0743-1066(95)00099-2</idno>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0743-1066</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
<langUsage><language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">We show how an extended Prolog can be exploited to implement different electronic CAD tools. Starting with a computer hardware description language (CHDL) several problems like digital circuit analysis, simulation, test generation, and code generation for programmable microprocessors are discussed. For that purpose the MIMOLA (machine independent microprogramming language) system MSS (MIMOLA hardware design system) is presented. It is shown that logic programming techniques have several advantages especially in the area of integrated circuit design. One of the main advantages is the small code size, which translates to easy maintenance. We make extensive use of two main features of standard Prolog and constraint logic programming, i.e., backtracking and the coroutining mechanism, to express Boolean constraints.</div>
</front>
</TEI>
<affiliations><list><country><li>Allemagne</li>
</country>
<region><li>District d'Arnsberg</li>
<li>Rhénanie-Palatinat</li>
<li>Rhénanie-du-Nord-Westphalie</li>
</region>
<settlement><li>Dortmund</li>
<li>Trèves (Allemagne)</li>
</settlement>
<orgName><li>Université de Trèves</li>
</orgName>
</list>
<tree><country name="Allemagne"><noRegion><name sortKey="Bieker, Ulrich" sort="Bieker, Ulrich" uniqKey="Bieker U" first="Ulrich" last="Bieker">Ulrich Bieker</name>
</noRegion>
<name sortKey="Bieker, Ulrich" sort="Bieker, Ulrich" uniqKey="Bieker U" first="Ulrich" last="Bieker">Ulrich Bieker</name>
<name sortKey="Neumann, Andreas" sort="Neumann, Andreas" uniqKey="Neumann A" first="Andreas" last="Neumann">Andreas Neumann</name>
<name sortKey="Neumann, Andreas" sort="Neumann, Andreas" uniqKey="Neumann A" first="Andreas" last="Neumann">Andreas Neumann</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Rhénanie/explor/UnivTrevesV1/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002711 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 002711 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Rhénanie |area= UnivTrevesV1 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:AC2E95CFD0DA02C250FB0147BE7247153B3B9F7F |texte= Using logic programming and coroutining for electronic CAD }}
![]() | This area was generated with Dilib version V0.6.31. | ![]() |