1樓:匿名使用者
library ieee;
use ieee.std_logic_1164.all;
entity onemhz is
port( clkin:in std_logic; --時鐘訊號輸入
clkout:out std_logic); --時鐘訊號輸出end onemhz;
architecture aronemhz of onemhz issignal data:integer range 0 to 10;
signal q:std_logic;
begin
process(clkin)
begin
if rising_edge(clkin) thenif(data=0) then --此句為你想要的分頻比,data=0,1,2,3,4.......9的分頻比為1,2,3,,,10
data<=0;
q<=not q;
else
data<=data+1;
end if;
end if;
clkout<=q;
end process;
end onemhz;
2樓:
我試了樓上的vhdl,結果是這樣的,
data=0, 二分頻
data=1,四分頻
data=2,六分頻
data=3,八分頻
data=4,十分頻
data=5,十二分頻~~~
用vhdl編寫分頻器程式
3樓:公羊頤
這個一般有兩種方法,一種是分奇偶分頻,因為奇偶分頻不一樣,所以先判斷是奇偶,然後再相應處理就可以了,另一種是一種整體演算法思想,不需要判斷奇偶數。。。
頂層模組程式:
entity control_clk is
port(
clk_i : in std_logic;
data_i : in std_logic_vector(4 downto 0);
clk_div : out std_logic
);end control_clk;
architecture rlt_control of control_clk is
component odd_div is
port(
clk_i : in std_logic;
data_i : in std_logic_vector(4 downto 0);
clk_odd : out std_logic
);end component;
signal clk_odd : std_logic :='0';
component even_div is
port(
clk_i : in std_logic;
data_i : in std_logic_vector(4 downto 0);
clk_even : out std_logic
);end component;
signal clk_even : std_logic :='0';
signal odd_even : std_logic :='0';
begin
odd_u : odd_div
port map(
clk_i => clk_i,
data_i => data_i,
clk_odd => clk_odd
);even_u : even_div
port map(
clk_i => clk_i,
data_i => data_i,
clk_even => clk_even
);odd_even <= data_i(0);
process(odd_even,clk_even,clk_odd)
begin
if odd_even ='0' then
clk_div <= clk_even;
else
clk_div <= clk_odd;
end if;
end process;
end rlt_control;
用vhdl編寫一個分頻器,實現輸出1mhz-1hz之間的任意頻率
4樓:匿名使用者
clk 輸入一個相對較大的頻率,
頻率要多少就用n_diviseur除!
library ieee;
use ieee.std_logic_1164.all;
entity div is
generic( n_diviseur : integer := 2 );
port ( clk : in std_logic;
clock : out std_logic);
end entity;
architecture beha of div isbegin
process (clk)
variable compteur : integer range 0 to n_diviseur;
begin
if (clk'event and clk = '1') thenif (compteur >= n_diviseur-1) thencompteur := 0;
clock <= '1';
else
compteur := compteur + 1;
clock <= '0';
end if;
end if;
end process;
end architecture;
5樓:匿名使用者
控制分頻比可以實現你的設計,達到
步進=1hz,
clkin=32mhz;
jitter=1/16ui.
簡單原理就是你用分頻器分出m分頻和n分頻的不同比重來實現步進1hz.
用VHDL實現分頻,VHDL編寫分頻器
模n計數器的實現 一般設計中用到計數器時,我們可以呼叫lpm庫中的計數器模組,也可以採用vhdl語言自己設計一個模n計數器。本設計採用vhdl語言設計一個最大模值為16的計數器。輸入埠為 使能訊號en,復位訊號clr和時鐘訊號clk 輸出埠為 qa qb qc qd。其vhdl語言描述略。帶使能控制...
汽車音響分頻器怎麼接出來的,汽車喇叭分頻器怎麼接
竹筱宓 汽車音響分頻器分為兩種 1 若是 lc 分頻,分頻器前 接放大器輸出的 接放大器輸出的 分頻器後面接就要注意了,分頻輸出有 h 高 和 l 低 如果有中頻則還有 m 中 一般只有高和低。對於 12 階的分頻 比較常用 高音輸出的 接喇叭的 低音輸出的 接喇叭的 這樣可以把經 lc 產生的移相...
分頻器幹什麼用的?原理是什麼,分頻器的原理
分頻器是做什麼用的?由於現在的音箱幾乎都採用多單元分頻段重放的設計方式,所以必須有一種裝置,能夠將功放送來的全頻帶 訊號按需要劃分為高音 低音輸出或者高音 中音 低音輸出,才能跟相應的喇叭單元連線,分頻器就是這樣的裝置。如果把全頻帶訊號不加分配地直接送入高 中 低音單元中去,在單元頻響範圍之外的那部...