Hallo I muss für mein Projekt einen Teiler von Xilinx (XC9536) programmieren. Er muss ein Eingangssignal teilen(1:1; 1:2; 1:5; 1:10; 1:16; 1:20; 1:50; 1:100; 1:128 und 1:200). Ich habe nicht viele erfahrungen mit dem programieren von Bausteinen und hoffe das mir jemand helfen kann. mfg Michael
Schaue dir die Grundlagen vom Frequenzteiler an: http://www.elektronik-kompendium.de/sites/dig/0212221.htm und probier es in VHDL umzusetzen... Oder hast du was anderes gemeint?
Ein mögliches Verfahren besteht darin, einen rückwertszählenden Zähler zu realisieren, dessen Zählerstand mit der Teilerzahl geladen werden kann. Man zählt rückwerts bis der Zählerstand 1 dezimal erreicht ist. Dieser Zustand setzt die eigentliche Zählfunktion außer betrieb. Der nächstfolgende Taktimpuls bewirkt, dass der Zähler mit der an den Eingängen anstehenden Teilerzahl geladen wird. Der Zähler zählt nun rückwerts und der Vorgang beginnt von neuem. Doch wie erhält man aus dieser Vorgehensweise das gewünschte Ausgangssignal des Frequenzteilers? Zu diesem Zweck bildet man ein Signal, das nur bei Zählerstand 1 dezimal High-Pegel aufweist. Für alle anderen Zählerzustände soll es Low bleiben. Versuch mal folgendes Beispiel anzupassen: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity freqteil is Port ( E : in std_logic_vector(3 downto 0); Q : out std_logic_vector(3 downto 0); RESET : in std_logic; FAUS : out std_logic; CLK : in std_logic); end freqteil; architecture Behavioral of freqteil is signal qtemp : std_logic_vector(3 downto 0); signal outtemp : std_logic; begin process (CLK,RESET) begin if RESET = '1' then qtemp <= E; outtemp <= '0'; elsif CLK='1' and CLK'event then if qtemp = "0001" then outtemp <= '1'; qtemp <= E; else outtemp <= '0'; qtemp <= qtemp - 1; end if; end if; end process; Q <= qtemp; FAUS <= outtemp; end Behavioral;
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.