Klok divider met 3 met 50% duty cycle?

D

davyzhu

Guest
Hi all,

Hoe een klok divider Build met 3 met 50% duty cycle?
Input en output zijn hieronder opgesomd.

Clkin
__ - __ - __ - __ - __ - __ --
Clkout
______ ------ ______ ------

Eventuele suggesties worden gewaardeerd!
Met vriendelijke groet,
Davy

 
Eerst moet je dubbel input frequentie, en vervolgens delen door 3.
vervolgens delen door 2 voor de productie van 50% geheven.
voor een verdubbeling van de frequentie ingang simpel gezegd een vertraging (zoals RC, of buffer poorten)
bijvoorbeeld 20ns, dan XOR input frequentie en een vertraagde, krijg je 2x multiplayer.

Groeten
Davood Amerion
Last edited by Davood Amerion op 17 oktober 2005 11:00, edited 2 times in total

 
Hieronder is een circuit dat verdeelt inkomende golf met 3 met 50% duty cycle ..
Reards,
IanP
Sorry, maar je moet inloggen om deze gehechtheid

 
Ik geef de voorkeur methode Davood Amerion's,
dat zou voorkomen klok Glitching.

hi, IanP
kan u verzekeren er is geen Glitching in uw combinatievormen bron van de klok?

 
Het ziet er glitch-vrij.Het is van een Xilinx app note "Ongewoon Klok Dividers":
http://www.xilinx.com/xcell/xl33/xl33_30.pdf

De auteur waarschuwt herhaaldelijk simulator over mogelijke problemen, maar ik heb geen probleem simuleren in Verilog / ModelSim.

Beide methoden gaan de input klok heeft 50% duty cycle, of anders de output zal niet symmetrisch zijn.

 
Hi Davood,

Bedankt

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />Wat is "en vervolgens delen door 3."bedoel?
Is het 50% duty?

Eventuele suggesties worden gewaardeerd!
Met vriendelijke groet,
Davy

 
Het "delen door 3" kan alleen maar een gewone twee-bits teller die 0,1,2,0,1,2, gaat ...

Na het doen van deze stappen, zou je signalen zoals dit.Voor de uitgang te hebben 50% duty cycle, de input klok moet ook 50% duty cycle.
Sorry, maar je moet inloggen om deze gehechtheid

 
Davood Amerion wrote:

Eerst moet je dubbel input frequentie, en vervolgens delen door 3.

vervolgens delen door 2 voor de productie van 50% geheven.

voor een verdubbeling van de frequentie ingang simpel gezegd een vertraging (zoals RC, of buffer poorten)

bijvoorbeeld 20ns, dan XOR input frequentie en een vertraagde, krijg je 2x multiplayer.Groeten

Davood Amerion
 
,

Geachte davyzhu,
's answer is complete.

Ik denk dat de echo47
's antwoord is voltooid.Geachte Anjali

Want als we rechtstreeks delen door 3 kunnen we niet krijgen 50% recht (insted we 33,3% recht)

Groeten

 
hai Davood, kunnen we 50% duty cycle zelfs door rechtstreeks DIVIDE door 3.met behulp van 2 couters (een posedge & leverde een negedge leverde) & een keer totaal telling is gelijk aan 3, de uitgang van de CLK moeten worden toggled.Ik volgde int zijn manier, in plaats van te vermenigvuldigen met 2, dan delen door 3, dan delen door 2.

 
Hi echo47,

Waarom niet direct van "XOR" in "delen door 6"?

Met vriendelijke groet,
Davy

 
oh, dankzij echo47,
uw ontwerp is Glitching gratis, de combinatievormen gebaseerd klink geweldig is!

 
Jullie geven mij te veel krediet.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />Ik trok de timing diagram om de suggestie van Davood Amerion illustreren.

De klink-based design werd door IanP suggereren.Het ontwerp is van "Unusual Klok Dividers" door een Xilinx toepassingen ingenieur.

davyzhu, een gewone verdeel-door-6 teller die 0,1,2,3,4,5,0,1,2,3,4,5, gaat ...zou hebben 50% inschakelduur.Door het scheiden van de teller in de verdeel-door-3 en verdeel-by-2, krijg je 50%.(Eigenlijk is dit nog steeds een verdeel-door-6 teller, maar met een grappige tellen volgorde.)

Iemand vroeg me welk programma ik gebruikt om dat tijdstip te tekenen.Het is gewoon lijnen getekend met een CAD-programma.Ik gebruikte goede oude OrCAD SDT voor DOS.Ik nog gebruiken voor grote project schema's.Ik verkies het over alle moderne hulpmiddelen.

 
Hier is een meer ckt in verilog!
Code:

module clk_div3 (clk, clk_out);

input clk;

uitgang clk_out;reg [1:0] cnt_p, cnt_n;

wire [1:0] cnt_p_nx, cnt_n_nx;eerste beginnen

cnt_p = 2'b11;

cnt_n = 2'b11;

eindigentoewijzen clk_out = cnt_p [0] | cnt_n [0];

toewijzen cnt_p_nx = (cnt_p [0], ~ (cnt_p [0] | cnt_p [1]));

toewijzen cnt_n_nx = (cnt_n [0], ~ (cnt_n [0] | cnt_n [1]));altijd @ (posedge clk)

cnt_p <= cnt_p_nx;

altijd @ (negedge clk)

cnt_n <= cnt_n_nx;endmodule / / clk_div3
 
KLOK DIVIDERS MADE EASY

http://www.edaboard.com/download.php?id=30847

 
Bedankt.is het nuttig voor mij
nand_gates wrote:

Hier is een meer ckt in verilog!Code:

module clk_div3 (clk, clk_out);

input clk;

uitgang clk_out;reg [1:0] cnt_p, cnt_n;

wire [1:0] cnt_p_nx, cnt_n_nx;eerste beginnen

cnt_p = 2'b11;

cnt_n = 2'b11;

eindigentoewijzen clk_out = cnt_p [0] | cnt_n [0];

toewijzen cnt_p_nx = (cnt_p [0], ~ (cnt_p [0] | cnt_p [1]));

toewijzen cnt_n_nx = (cnt_n [0], ~ (cnt_n [0] | cnt_n [1]));altijd @ (posedge clk)

cnt_p <= cnt_p_nx;

altijd @ (negedge clk)

cnt_n <= cnt_n_nx;endmodule / / clk_div3
 
Controleer dit papier ook

ftopic101951.html

Misschien is het hetzelfde als het door een tut.

 
Als de eenvoud van het ontwerp toeslaat, dan is hier een oplossing.

Als ik een beetje hebben 3 ring teller voorgeladen met een waarde van 001, dan tik ik de output van elk punt, ik heb een verdeel-door-drie 33% duty cycle uitgang.

Als ik nog eens 3 bits hebben-ring counter voorgeladen met dezelfde waarde 001, maar klokte op de negatieve kant van de klok, zou ik nog een verdeel-door-drie 33% duty cycle uitgang met faseverschuiving van 90 graden tov de eerste uitgang .

I of deze twee uitgangen en ik krijg een verdeel-door-drie 50% duty cycle uitgang.Am i right?

 
Ja, dat zou een belasting van 50% (uitgaande van de input klok is vierkant), maar ik zou niet willen zeggen een zes-flop oplossing is "eenvoud van het ontwerp".

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />By the way, als die twee tellers ooit zou vallen uit sync (bijvoorbeeld door een geluid glitch of kosmische stralen hit), dan zouden ze zo blijven voor altijd.Ik raad met behulp van zelf-synchronisatie logica waar mogelijk.

 
Gewoon zodat ik begrijp de opmerking.Is oplossing Davood Amerion is de beste?Zijn er geen problemen in dat circuit te produceren 2x plein frequentie golven van een XOR-poort en vertraging elementen?Is dat niet het ontwerpen van de vertraging element meer betrokken dan brengen zes standaard flops?Ik vraag dit, zodat ik het perspectief ...

 

Welcome to EDABoard.com

Sponsor

Back
Top