📄 rate2div.vhd
字号:
-- 'uspdiv' represents the 'microseconds per division' on the screen of the oscilloscope
-- 'uspdiv' is a linear function of 'srate': 'uspdiv' = 'srate' x period(mclk) x (nr of pixels between two vertical grid lines)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity rate2div is
Port ( srate : in std_logic_vector(15 downto 0);
uspdiv : out std_logic_vector(15 downto 0));
end rate2div;
architecture Behavioral of rate2div is
signal val : std_logic_vector(4 downto 0);
begin
-- the value of uspdiv is translated, rather than calculated for optimisation
--'uspdiv' = 'srate' x period(mclk) x (nr of pixels between two vertical grid lines)
--'uspdiv' = 'srate' x 20 ns x 40 ns/div
-- if 'srate'=250 ns (X"00FA") then 'uspdiv' = 250 ns x 20 ns x 40 ns/div = 200000 ns = 200 us
val <= "00001" when srate=X"00FA" else
"00010" when srate=X"01F4" else
"00100" when srate=X"03E8" else
"01011" when srate=X"07D0" else
"11001" when srate=X"0FA0";
uspdiv <= "00" & val & "000000000";
end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -