Hallo zusammen, ich habe mal vor einiger Zeit einen VHDL Data Reader erstellt, mit welchem Daten von einem Markenleser anhand der aktuellen Drehgeber Position erfasst werden konnten. Dieser Reader enthält ein WindowDetect Modul, welches bestimmt, ob die aktuelle Position in der gültigen Lesezone liegt. Die Lesezone kann an einer Stelle unterbrochen (maskiert) werden. Die Start- und Endwerte von Fenster und Maske werden in einem separaten Registerblock eingestellt und als Signale in das WindowDetect Modul geführt. Die Encoderpositon wird ebenfalls in einem separaten Modul erfasst und eingespeist. Die Auflösung der Werte ist durchgängig 14Bit (hat seinen Grunde, ja) Aktuell ist die WindowDetection so aufgebaut, dass eine Statemachine abgearbeitet wird. Jede Grenze von Window- und Mask wird in einem separaten State bearbeitet. Dies führt dazu, dass für die Window Detection nun 4 separate 14bit Komparatoren für die Vergleiche instantiiert werden. Nun habe ich den Auftrag gefasst, dieses Modell so zu erweitern, dass neu bis zu 5 Masken anstelle einer einzigen definiert werden können. Wenn ich nun das bestehende Modell einfach um weitere 4 Masken erweitere, zusätzliche 8 14Bit Register erstelle und die Statemachine um die 4 Masken erweitere, dann benötige ich schon 12 Stück 14-bit Komparatoren. Da nun der ganze Reader im Gesamtsystem 4fach vorhanden ist, habe ich nun Bedenken, dass mir die zusätzlichen 32 14bit Register und 32 14bit Komparatoren das FPGA "sprengen" werden. Ich verwende einen Xilinx XC3S250E, der ist momentan ausgelastet gemäss nachfolgendem Bild. Die zusätzlichen 32x 14Bit Register sollten bei der freien Anzahl Slice FlipFlops wohl kein Problem sein, problematischer werden wohl die Komparatoren. Es sollte vermieden werden, dass ich das nächstgrössere FPGA nehmen muss, da es sich um eine Anpassung auf einem bestehenden Board handelt. Kann jemand beurteilen, ob die zusätzlichen Masken nach dem bisherigen Ansatz Platz finden könnten oder ob ein komplett anderer Ansatz zur Bearbeitung der Masken gewählt werden sollte. Eventuell könnten die Window/Mask Werte aus einer Art Queue in eine Vergleichseinheit geladen werden, so dass nur noch 1 Komparator nötig wird, die Umschaltlogik dafür grösser wird. Was meinen die Experten dazu?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.