PSoC 5: ein Router mit Humor

Der neue PSoC Creator mit der neuen PSoC 5 Architektur gefällt mir gut, kann man sehr schnell mit Projekte realisieren. Die Flexibilität beim automatischen Fitten und Routen hat aber auch seinen Preis: Früher musste man die Blöcke manuell passend verschalten und konnte sich aber auch ungefähr vorstellen, wann Schluss ist, da zuwenig Muxer oder globale Leitungen vorhanden sind. Heute platziert man einfach die Komponenten auf die Schaltung und verdrahtet die wie bei einer normalen Schaltung. Aber ich habe eben z.B. diese Warnung bekommen:

| Bonded pin(s) "P0[0]" are not used in your current design but have | been connected in order to route the design.

| The analog router has used some internal connections on unused bonded | pins in the current design. Therefore, these apparently unused bonded | pins are actually connected inside the chip. If these pins are also | driven or loaded outside the chip, the routed signals will be | corrupted. If use of these unused bonded pins is not your intended | choice, System DWR contains an option "UnusedBondedIO" under | "Configuration" which enables you to disallow the use of all bonded | unused pins; but setting UnusedBondedIO to "Disallowed" will also | reduce routing flexibility.

Ok, probiere ich also die "Disallow" Einstellung. Hier beweisen die Programmierer dann Humor, denn es kommt folgende Warnung:

| Pins "P0[0]" are not used in your current design but their switches | have to be used by analog router to maintain the routing integrity of | your design.

| Due to hardware constrain, no routing result will be found without | using the switches on above pins. To respect your choice of disallow | using switches on unused pins in System DWR, analog router only uses | the necessary switches on pins to make sure there is a routing result | for your design.

Sieht also erstmal so aus, als könnte ich P0[0] nicht mehr als normalen GPIO verwenden. Ist nicht schlimm für mein Projekt, aber schon blöd, daß man keinen Einfluss mehr auf die Details des Routings hat (zumindest habe ich da noch nichts zu gesehen) und zumindest ich nicht mehr so leicht abschätzen kann, wann Schluss ist. Interessant: Wenn ich P0[0] als GPIO-Input definiere, dann kommt die Warnung bei P3[7]. Ich kann also generell P0[0] noch verwenden, das Programm sucht sich dann nur einen anderen Pin aus, um es noch routen zu können.

Mein Design ist übrigens noch nicht allzu voll: Ein interner OpAmp als "Follower" konfiguriert und mit dem internen 1,024 V Signal als Eingang und Ausgang auf einen analogen Pin, ein Full-Duplex UART mit RX/TX, und ein Delta-Sigma ADC mit differentiellem Eingang.

Ganz so flexibel ist der Schaltungseditor aber leider auch nicht: Ich habe erst probiert, die Vref-Quelle direkt per Draht an einen Ausgangspin zu legen. Da kam dann die Warnung, daß es physikalisch keine Verbindung gibt. Wenn ich aber den Follower manuell dazwischen setze, dann geht es. Hätte das Programm das nicht von selbst synthetisieren können, oder mache ich noch was falsch?

--
Frank Buss, http://www.frank-buss.de
piano and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.