| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разное (электроника) > VHDL |
| Автор: darkniisiis 13.10.2006, 15:02 |
| Вот такой вопрос-недавно начал программировать на VHDL под XILINX, возникают некоторые вопросы.На этом форуме вообще есть кто-нибудь,кто в этом шарит?Я пытался поднимать вопросы в других темах-тишина и покой, посоветовали спросить здесь. Вот пришёл к вам покричать "АУУУУУУУУУУ!ЕСТЬ КТО ЖИВОЙ?" Отзовитесь!!! |
| Автор: darkniisiis 16.10.2006, 10:07 |
| Я просто задал вопрос, есть ли на этом форуме компитентные люди, разбирающиеся в VHDL, а коли таких нет смысл вопросы то задавать? Ну на всякий случай, вдруг кто забредёт вопрос таков Помогите описать на VHDL под xilinx(среда разработки ISE 8.2i sp1) таймер задержки, третий день голову ломаю всё никак промоделировать не получается. Начало вот: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity del_clk is Port ( set : in STD_LOGIC; out_clk : out STD_LOGIC; clk : in STD_LOGIC; prog : in STD_LOGIC_VECTOR (15 downto 0)); end del_clk; где set-вход для импульса,который должен появиться на выходе out_clk через задержку в несколько тактовых импульсов,подаваемых на вход clk, количество этих импульсов задаётся через вход prog. СПАСИТЕ МОЮ БЕДНУЮ ГОЛОВУ!!!! |
| Автор: Romikgy 16.10.2006, 13:08 | ||
так зачем создавать тему если в ней нет вопроса? терь вопрос задан и кто знает тот те ответит |
| Автор: Romikgy 16.10.2006, 16:38 |
| Воть те ссылки может будут полезны http://www.kvantn.com.ua/resourse/All/VHDL/VHDL_context.html http://electronix.ru/forum/ http://www.opencores.org/ |
| Автор: darkniisiis 17.10.2006, 10:51 |
| Помогите найти ошибку.Вот рабочий таймер, только сигнал на выходе при prog="0000000000000001" возникает не через один такт, а через два. ---------------------------------------Листинг---------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity del_clk is Port ( set : in STD_LOGIC; out_clk : out STD_LOGIC; clk : in STD_LOGIC; prog : in STD_LOGIC_VECTOR (15 downto 0)); end del_clk; architecture Behavioral of del_clk is signal st : STD_LOGIC_VECTOR (15 downto 0):="0000000000000000"; signal outsig : STD_LOGIC:='0'; signal setup : STD_LOGIC:='0'; begin process(set,outsig) variable crt : integer:=0; begin if set='1' then crt := crt + 1; end if; if outsig = '1' then crt := crt - 1; end if; if crt=0 then setup<='0'; else setup<='1'; end if; end process; process(clk) begin if setup='1' then if clk='1' then if (prog="0000000000000001" and st/="0000000000000001") then st<=st+1; elsif (prog="0000000000000001" and st=prog) then st<= conv_std_logic_vector(0,16); elsif (st=prog-1 and prog/="0000000000000001") then st<= conv_std_logic_vector(0,16); else st<=st+1; end if; end if; end if; if (prog="0000000000000001" and st=prog and clk='1') then out_clk <= '1'; outsig <= '1'; elsif (st=prog-1 and clk='1' and prog/="0000000000000001") then out_clk <= '1'; outsig <= '1'; else out_clk <= '0'; outsig <= '0'; end if; end process; end Behavioral; |
| Автор: Romikgy 17.10.2006, 11:09 | ||
Это не мой ответ , а спеца который хавает в этом
|
| Автор: darkniisiis 19.10.2006, 10:33 |
| Да вообще таймер какой-то корявый получился, при трансляции куча варнингов.Помогите кто-нибудь его до ума довести, или предложите свой вариант, а то у меня фантазия закончилась, а время уже поджимает. Буду примногоблагодарен,HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Разрабатывается под ПЛИС Xilinx Spartan2 . |
| Автор: srm 15.4.2010, 17:04 |
| Может у кого есть реализованный на VHDL алгоритм Штрассена. Очень нужен. |
| Автор: Evgenij118 27.1.2011, 22:48 |
| Кто знает, напишите пожалуйста, как занести в 15-ую ячейку памити ОЗУ значение 21. И вывести занчение 27-ой ячейки. И это всё через Test Bench. Заранее спасибо! |
| Автор: abraziv 10.12.2012, 11:12 |
| Всем привет. Почему тип std_logic в объявление интерфейса можно использовать только один раз?? Т.е. если объявить следом ещё один интерфейс (entity) то анализатор-VHDL ругается: LIBRARY ieee; USE ieee.std_logic_1164.ALL; entity DFF is Port ( D : in std_logic; CLK : in std_logic; RESET : in std_logic; Q : out std_logic ); end DFF; entity D is Port ( DATA : in std_logic); end D; Если же повторно прописать библиотеку, ошибка уходит, с чем это связано??? LIBRARY ieee; USE ieee.std_logic_1164.ALL; entity DFF is Port ( D : in std_logic; CLK : in std_logic; RESET : in std_logic; Q : out std_logic ); end DFF; LIBRARY ieee; USE ieee.std_logic_1164.ALL; entity D is Port ( DATA : in std_logic); end D; |
| Автор: abraziv 7.9.2013, 16:54 | ||
| Всем привет. Почему то во время синтеза, XST вылитает с ошибкой , если раскомментировать строчку s_clk_out <= not s_clk_out : Подскажите пожалуйста как исправить.
|
| Автор: lait33 20.10.2015, 21:44 | ||||||
все. теперь компилится=) процесс всегда должен быть тактируемым это раз и быть в списке чувствительности. всякие wait в железе не работают.. т.к это не синтезируемые типы данных. они толкьо для симуляций. хоть оп умолчанию изначально сигналу присваивается 0, но лучше это делать самому.. дабы избежать всяких глюков ну и некоторые переменные вынес в сигналы, хотя это никак не повлияло бы на ту ошибку.
|