как да получите часовник Nx64k делител Verilog използвате????

G

guolh

Guest
как да получите часовник Nx64k разделител използвате Verilog 32.768MHz форма?

guolh (до) bbn.cn

 
Какво е Nx64k?

Ако искате да се разделят с часовник 65536, а след това я храня в 16-битов двоичен брояч, и на изхода на най-значимите малко.
Имате ли нужда от помощ правиш това?

 
Разделете CLK от N * 65536, където 1 <= N <= 31
Код:

модул отгоре (CLK, N, изход);

параметър nbits = 5;

параметър cbits = 16;

вход CLK;

вход [nbits-1: 0] N;

обл [nbits-1: 0] count0 = 0;

обл [cbits-1: 0] count1 = 0;

продукция Out;присвоите OUT = count1 [cbits-1];Винаги @ (posedge CLK) започва

count0 <= (count0 == 0)?
N - 1: count0 - 1;

count1 <= count1 (count0 == 0);

приключвам

endmodule
 
N * 64k е 64k, 128k, 192k, 256K, 320k, 384k....
кода е неправилно!
Благодарности!

 
Какво мислиш не е наред с него?
Вие не са ясно обяснени "Nx64k".
31 резултати на различни честоти, може би?
к = 1000, вместо 1024 може би?

 
съжалявам!
1k = 1000Hz!
31 резултати на различни честоти, зависи от стойността N!

 
Един добър инженер трябва да се научат да се определят изисквания ясно!

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />Имате ли 31 едновременни изхода на тези различни честоти, или да имате такава продукция, чиято честота е избран от въвеждане на N?

Добавянето на "Hz", за да промени изхода на целия проект.Сега съотношението вход / изход честотата не е цяло число.Ако можете да толерират един цикъл часовник на трептене на изхода, тогава прост подход DDS ще работи.Ако не, ще се нуждаят от по-напредналите sinewave DDS, синтезатор или чрез външно PLL.Вашият избор?

 

Welcome to EDABoard.com

Sponsor

Back
Top