|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 11 21, 19:40. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Programavimas » VHDL programavimas
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
VHDL programavimas |
Parašytas: 2018 10 18, 21:38 |
|
|
|
Sveiki,
gal kas galėtų padėti su programavimu VHDL+ModelSim? |
|
|
|
|
|
Re: VHDL programavimas |
Parašytas: 2018 10 18, 22:13 |
|
|
|
Spizius rašo: |
Sveiki,
gal kas galėtų padėti su programavimu VHDL+ModelSim? |
Klausk cia kas nesigauna. Idek kodo gabala ir testbencho gabala. Gal ir padesim, jei prisiminsim. |
|
|
|
|
|
|
VHDL programavimas |
Parašytas: 2018 10 19, 18:52 |
|
|
|
Vienu žodžiu reikia įdiegti skaitmens mirksėjimo funkciją, gal kas žino kaip tai padaryti?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.ALL;
use work.Basys2.ALL;
entity Basys2Lcd is
Port (
-- taktinis signalas
clk : in std_logic;
-- kokias busenas rodyti kiekvienam skaitmeniui
digits : in LcdDigits;
seg : out std_logic_vector (6 downto 0); -- simboliu katodu aktyvavimo signalai
an : out std_logic_vector (3 downto 0); -- anodu aktyvavimo signalai
dp : out std_logic -- tasko katodo aktyvavimo signalas
);
end Basys2Lcd;
architecture Behavioral of Basys2Lcd is
constant COUNTER_SIZE : integer := 5;
signal clkCnt : unsigned (COUNTER_SIZE-1 downto 0) := (others => '0');
alias activeDigit : unsigned (1 downto 0) is clkCnt(COUNTER_SIZE-1 downto COUNTER_SIZE-2);
--signal activeSeg : unsigned (1 downto 0); -- aktyvaus segmento numeris
signal anodes: std_logic_vector (3 downto 0);
begin
clkDivider: process(clk)
begin
if clk'event and clk='1' then
clkCnt <= clkCnt + 1;
end if;
end process;
an <= anodes;
segmentActivator: process(activeDigit, digits)
begin
-- 0
-- ---
-- 5 | | 1
-- --- <- 6
-- 4 | | 2
-- ---
-- 3
case digits(to_integer(activeDigit))(3 downto 0) is
when "0000" => seg <= "1000000"; --0
when "0001" => seg <= "1111001"; --1
when "0010" => seg <= "0100100"; --2
when "0011" => seg <= "0110000"; --3
when "0100" => seg <= "0011001"; --4
when "0101" => seg <= "0010010"; --5
when "0110" => seg <= "0000010"; --6
when "0111" => seg <= "1111000"; --7
when "1000" => seg <= "0000000"; --8
when "1001" => seg <= "0010000"; --9
when "1010" => seg <= "0001000"; --A
when "1011" => seg <= "0000011"; --b
when "1100" => seg <= "1000110"; --C
when "1101" => seg <= "0100001"; --d
when "1110" => seg <= "0000110"; --E
when others => seg <= "0001110"; --F
end case;
end process;
digitActivator: process(activeDigit, digits)
begin
for i in 3 downto 0 loop
if i = to_integer(activeDigit) then
-- ijungiam skaiciaus rodyma, jei jis ijungtas skaiciaus konfiguracijos registre
anodes(i) <= '0' nor digits(to_integer(activeDigit))(7);
else
-- isjungiam skaiciaus rodyma
anodes(i) <= '1';
end if;
end loop;
--case activeDigit is
--when "01" => an <= "1101";
--when "10" => an <= "1011";
--when "11" => an <= "0111";
--when others => an <= "1110";
--end case;
end process;
dotActivator: process(activeDigit, digits)
begin
-- jei ijungtas skaiciaus tasko rodymas, tai ijungiam tasko signala
dp <= not digits(to_integer(activeDigit))(6);
end process;
end Behavioral; |
|
|
|
|
|
|
VHDL programavimas |
Parašytas: 2018 10 19, 20:34 |
|
|
|
Ta prasme kad visi skaiciai mirgsetu?
Susikurk enable signala, kuri issivesi is clk per counteri. Tuomet skaiciukus isvesk tik tada, kai enable = '1'.
Pradziai kad suprast kaip padaryt - daryk kad mirgsetu vienas segmentas (pvz DP). Pavyzdziai internete butu kaip su VHDL padaryti blinker. |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
|
|