I want to do tachometer from 20k to 70k rpms, and get every 5mS and make some changes to pwm output, how to convert from integer to std_logic_vector ?
Code VHDL - [expand] |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| entity mmmm is
Port ( clk100 : in STD_LOGIC;
sensor : in STD_LOGIC;
result : out std_logic_vector);
end mmmm;
architecture Behavioral of mmmm is
constant period :integer:=2000000; --2000000 * 10 nano seconds
constant strobe :integer:=500; --5 milliSeconds
signal counter:integer:=0;
signal cnt :integer:=0;
signal inte :integer:=0;
signal rp5ms : std_logic_vector(16 downto 0);
begin
process(clk100)
begin
if rising_edge(clk100)
then
if cnt = strobe
then cnt <= 0;
else cnt <= cnt + 1;
inte <= inte + to_integer(unsigned'('0' & sensor)); --inte <= inte + 1 when (sensor = '1') else 0;
end if;
end if;
end process;
result <= std_logic_vector(unsigned(inte); |
Last edited by a moderator: