Skip to content
Tiantan
Articles

Kód Verilog pro dělič kmitočtu

On 17 února, 2021 by admin

Můžete mi prosím pomoci, jak vytvořit kód Verilog pro obvod děliče kmitočtu, který může generovat 50Hz hodinový signál z 50MHz signálu pomocí 16bitové synchronní počítadlo. Snažil jsem se to udělat, ale nefungovalo to!

module divier_16 (clk_in, clk_out); input clk_in; wire w; wire [0:15]temp; output clk_out; count_16 c1 (clk_in, w); count_16 c2 (w, temp); assign clk_out= temp[6]; 

Komentáře

  • Použití 16 bitů z čeho?
  • A co jste vyzkoušeli? Mohli byste odeslat svůj kód?
  • 16bitové synchronní počítadlo
  • Můžete použít dva z nich?
  • Dobré. Pak nejprve vydělte 1000, poté vydělte dalších 1000 ..

Odpovědět

Bohužel 16 bitů nestačí k převodu signálu 50MHz na signál 50Hz. Je to proto, že je třeba rozdělit hodiny o 1 milion. $$ 2 ^ {16} = 65536 $$ Proto to nestačí. A čítač s minimálně 20 bity by stačil, protože: $$ 2 ^ {20} = 1048576 $$

Chcete-li převést signál, jednoduše spočítejte 1 milion hodinových cyklů a poté změňte stav výstupního signálu .

příklad:

always @(posedge clk_in) begin count_20 <= count_20 + 1; if(count_20 == 1000000) begin count<=0; clk_out <= !clk_out; end end 

Upravit: Ukázalo se, že by ^ ^ mělo za následek signál 25 Hz, takže stačí pouze počítat do 500 000, které potřebují 19 bitů. Otázkou tedy je, kde ten 20. bit pochází z toho, že musíte vydělit 1 milion. Bit clk_out slouží jako 20. bit.

Komentáře

  • dalším řešením je použití několika z těchto 16 bitových čítačů. budete potřebovat alespoň 16 z nich (16 * 65536 = 2 ² ⁰ = 1048576)
  • Možná jsem udělal chybu, myslím, že moje řešení by vyústilo v 25 Hz?
  • budete potřebovat jen dva, což vám dá 32 bitů
  • @ Makak ano, musíte počítat do 500_000, a za druhé – s největší pravděpodobností tam bude varování o s použitím jiného typu přiřazení v konstrukci vždy, myslím, že jste mysleli clk_out <= !clk_out;
  • ano to změní

Written by admin

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nejnovější příspěvky

  • Pomocí balunu s rezonančním dipólem
  • Jaký je rozdíl mezi “ nelze ” a “ ”? [duplicate]
  • Můžete se na JFK pohybovat mezi terminály mimo letiště na vnitrostátních letech?
  • “ Hluboce ceněný ” nebo “ velmi ceněn ”
  • Co ' abstraktní myšlenky ' znamenají? [uzavřeno]

Archivy

  • Únor 2021
  • Leden 2021
  • Prosinec 2020
  • Listopad 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Copyright Tiantan 2021 | Theme by Theme in Progress | Proudly powered by WordPress

Back to top