VHDL如何將1MHZ分頻為1HZ

2021-07-28 22:31:55 字數 2465 閱讀 4637

1樓:華仔真永遠

我說個一般點的思路,通過計數分頻,主時鐘每來個上升沿計數一次,累計到524288將輸出電平反轉一次,並重新計數,如此反覆就能得出1赫茲的頻率。當然也可以用時鐘使能的方法,計數到1048576輸出一個使能訊號。

vhdl語言編寫1mhz分頻為1hz

vhdl語言。。如何實現50mhz分頻為1hz?

2樓:墨汁諾

直接採用50分頻即可。

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity clk_div is

port(

clk : in std_logic;

clk1:out std_logic

end clk_div;

architecture mix of clk_div issignal count :integer range 0 to 49999999;

嚴格來說是從0-49999999,剛好50000000個計數值,正好將50m的時鐘分為1hz的時鐘

3樓:rs小

直接採用50分頻即可!50進位制你會寫吧,這個不用交了。。然後用50進製得到的signal與初始50mhz的訊號 and 。即可得到。。簡單實在。。

4樓:匿名使用者

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity clk_div is

port(

clk : in std_logic;

clk1:out std_logic

);end clk_div;

architecture mix of clk_div issignal count :integer range 0 to 49999999;

----嚴格來說是從0-49999999,剛好50000000個計數值,正好將50m的時鐘分為1hz的時鐘

begin

clk_div_proc:process(clk)begin

if rising_edge(clk) thenif count=49999999 thencount<=0;

else

count<=count+1;

end if;

if count>24999999 then---佔空比50%clk1<='1';

else clk1<='0';

end if;

end if;

end process clk_div_proc;

end mix;

**驗證正確。

5樓:匿名使用者

就是加一個由50mhz時鐘1控制的process 並在這個process裡申明一個累加器

然後時鐘2在這個process裡面累加器到了50m的時候改變狀態然後輸出為時鐘2

就可以了

額 算了 給你寫個程式吧 這年頭 得點分不容易啊library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_signed.all;

entity div_frequence isport(

clk_in,reset : in std_logic;

clk_out : out std_logic);end div_frequence;

architecture rtl of div_frequence is

signal local_s : std_logic;

begin

process(reset,clk_in)variable tmp : integer;

begin

if (reset = '0') thentmp := 0 ;

local_s <= '0';

elsif rising_edge(clk_in) thenif (tmp < 50000000) thentmp := tmp + 1;

else

if (local_s = '0') thenlocal_s <= '1';

else

local_s <= '0';

end if;

tmp := 0;

end if;

end if;

clk_out <= local_s;

end process;

end rtl;

如何將Excel的列標題A,B,C改為1,

工具 選項 常規 勾選 r1c1引用樣式 確定 excel上面的列a,b,c怎麼成了1.2.3 2003版 選單 工具 選項 常規 r1c1樣式前的勾去掉 工具 選項 常規 勾選 r1c1引用樣式 確定 回答不容易,希望能幫到您,滿意請幫忙採納一下,謝謝 怎麼把excel裡橫列的a,b,c,d,e,...

如何將labview 16進位制數轉換為10進位制數,並且波形顯

你是問這樣的流程怎麼設計?還是說有了實物,不知道怎麼轉換資料?三軸感測器輸出的是電壓訊號,微控制器通過ad採集進去,通過程式處理之後用自定義的資料格式發出來。你要先明確資料是什麼規格的,只看到是16進位制還不夠。每個軸是16位二進位制數,那麼是 定點數 還是 u16 或 i16 再經過其他換算?定點...

如何將1盆綠蘿養成10盆,扦插只需這樣養,養成

其實很簡段罩單,扦插中高沙土或者珍珠岩裡面就可以,放室內明亮通風處,經常噴噴水補充水分,增加溼度,溫度高一點,一個月左右就可以生握培鬧根 怎樣把綠蘿1根枝條可以變10盆,1盆可以變100盆 扦插就可以生根成活,綠蘿很好養,扦插沙土裡或者珍珠岩,保持一定的溼度,一個月左右生根 一根綠蘿如何變成一盆 使...