Перейти к содержанию
    

Maverick_

Модератор
  • Постов

    3 864
  • Зарегистрирован

Весь контент Maverick_


  1. Насколько я понимаю не полный список чуствительности влияет только на моделирование, а на синтез не влияет, т.е. моделирование на разных уровнях при не полном списке чуствительности могут отличаться З.Ы. Где-то на форуме этот вопрос поднимался
  2. Поясните пожайлуста как Вы производите "сравнение функционала и времянок дает ответ о качестве проекта" и как судите о "качестве" проекта
  3. Вам кажется сюда http://electronix.ru/forum/index.php?showforum=3 либо сюда http://electronix.ru/forum/index.php?showforum=29
  4. Может быть просто описать счетчик и все. Пример 8 разрядного приведен ниже --Счетчик N разрядный --Описание портов: --clk − вход тактовой частоты; --en − одноразрядный вход разрешения; --rst − одноразрядный вход сброса счетчика; --count – 8 разрядный выход. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity counter is Port ( clk : in std_logic; en : in std_logic; rst : in std_logic; count : out std_logic_vector(7 downto 0)); end counter; architecture behavioral of counter is signal cnt: std_logic_vector (7 downto 0):= "00000000"; begin process (clk, en, cnt, rst) begin if (rst = '0') then cnt <= (others => '0'); elsif (clk'event and clk = '1') then if (en = '1') then cnt <= cnt + "00000001"; end if; end if; count <= cnt; end process; end behavioral; Почему "это хреновая не стандартная функция, не рекомендованная к употреблению...", поясните пожалуйста?
  5. Попробуй так: --The following library will need to be declared for this function: --library IEEE; --use IEEE.std_logic_arith.all; <slv_sig> = CONV_STD_LOGIC_VECTOR(<int_sig>, <integer_size>);
  6. Я так понимаю, что двухпортовая ROM и является основным элементом, на основе(вокруг) которого все строится :)
  7. Может быть, я погорячился. Но смущает это: http://electronix.ru/forum/index.php?showt...8&hl=Memory http://electronix.ru/forum/index.php?showt...675&hl=FIFO Кстати когда-то я пытался, сделать FIFO ручками с помощью рекомендаций Xilinx, но так и не получилось и где-то я читал (не помню) на форуме и мне старшие товарищи порекомендовали использовать все таки готовое! Может поделитесь опытом http://electronix.ru/forum/index.php?showtopic=5242&hl=# как это "переработали с использованием generate и констант в разрядности шин" на языке VHDL?
  8. FIFO, двупортовую память и др. Вы коректно, можете не описать, эта тема обсуждалась уже на форуме. Лучше воспользуйтесь для его создания программой CoreGenerator для Xilinx или каким-то визардом если пишете в другом САПРе
  9. Спасибо большое, за файлы! Поискал по форуму нашел про handshake http://electronix.ru/forum/index.php?showt...935&hl=FIFO , но все равно как то до конца не уяснил. А имеет ли значение, например, если эти частоты формируются внутри ПЛИС, например с помощью PLL, и не являются внешними, другими словами например "multiclock" проект в ПЛИС и для стыков тактовых доменов тоже нужен handshake? Т.е. handshake использовать всегда при работе на нескольких частотах или нет, чтобы избежать метастабильности?
  10. Извините, что вмешиваюсь, а можно выслать этот код и буду очень рад если он еще и на VHDL :) И не могли бы Вы порекомендовать литературу или рассказать более подробно про handshake P. S. Просто знаю, что Вы работаете на Verilog (SystemVerilog)
  11. Такую книгу только про VHDL (так как Verilog я не знаю, к сожалению) я скачал и был доволен, нашел многое для себя интересное! Мое мнение книги этого автора - очень не плохие, и стоит их просматривать. Ссылка на книгу по работе с FPGA на VHDL данного автора :) http://electronix.ru/forum/index.php?showtopic=49414
  12. Нашел в Internet книгу, может кому понадобиться :) Описание A hands-on introduction to Verilog synthesis and FPGA prototyping Hardware Descriptive Language (HDL) and Field-Programmable Gate Array (FPGA) devices allow designers to quickly develop and simulate a sophisticated digital circuit, realize it on a prototyping device, and verify the operation of its physical implementation. As these technologies have matured and become mainstream practice, it is now possible to use a PC and an inexpensive FPGA prototyping board to construct a complex digital system. This book utilizes a "learn by doing" approach to introduce the concepts and techniques of Verilog and FPGA to designers through a series of hands-on experiments. FPGA Prototyping by Verilog Examples provides: * A collection of clear, easy-to-follow templates for quick code development * A large number of practical examples to illustrate and reinforce the concepts * and design techniques * Realistic projects that can be implemented and tested on a Xilinx prototyping board * A thorough exploration of the Xilinx PicoBlaze soft-core microcontroller Although the book is an introductory text, the examples are developed in a rigorous manner and the derivations follow strict design guidelines and coding practices used for large, complex systems. It lays a solid foundation for students and new engineers and prepares them for future development tasks. FPGA Prototyping by Verilog Examples is an indispensable companion text for digital design courses and also serves as a valuable self-teaching guide for practicing engineers who wish to learn more about this emerging area of interest. About the Author Pong P. Chu, PhD, is Associate Professor in the Department of Electrical and Computer Engineering at Cleveland State University in Ohio. He has taught undergraduate- and graduate-level digital systems and computer architecture courses for more than a decade and has received instructional grants from the National Science Foundation and Cleveland State University. Product Details * Hardcover: 486 pages * Publisher: Wiley-Interscience (June 30, 2008) * Language: English * ISBN-10: 0470185325 * ISBN-13: 978-0470185322 забирать http://rapidshare.com/files/133798070/Zap1.rar Password www.freebookspot.com
  13. Информацию можно найти тут http://altera.com/products/prd-index.html :)
  14. Если схемы, разработанны в FPGA и думую не только, тогда должны быть присвоины начальные состояния или состояния по умолчанию :) может поможет http://electronix.ru/forum/index.php?act=A...st&id=22727
  15. http://en.wikipedia.org/wiki/Floating_point http://grouper.ieee.org/groups/754/ http://babbage.cs.qc.edu/courses/cs341/IEE...references.html
  16. Действительно работает :) Спасибо ВСЕМ, за объяснение и готовую реализацию! :beer:
  17. попробовал в Xilinx ISE 8.02.03 и синтезатор выдал следующее см вложения (файл sys - c iSRL_DATA := x"FFFF"; файл sys_0000 - c iSRL_DATA := x"0000"). Теперь вопрос :) Почему появляются защелки, а их количество меняется при изменении строки signal iSRL_DATA : std_logic_vector(15 downto 0) := x"FFFF"; на signal iSRL_DATA : std_logic_vector(15 downto 0) := x"0000"; (и сдвигающего региста не получаем) поясните пожайлуста?
  18. не знаю, может быть пригодиться, Xilinx рекомендует бороться с дребезгом (и называет это debounce circuite) так: -- Provides a one-shot pulse from a non-clock input, with reset --**Insert the following between the 'architecture' and ---'begin' keywords** signal Q1, Q2, Q3 : std_logic; --**Insert the following after the 'begin' keyword** process(<clock>) begin if (<clock>'event and <clock> = '1') then if (<reset> = '1') then Q1 <= '0'; Q2 <= '0'; Q3 <= '0'; else Q1 <= D_IN; Q2 <= Q1; Q3 <= Q2; end if; end if; end process; Q_OUT <= Q1 and Q2 and (not Q3); взял из Templates Language Таким образом, вначале ставишь схему подавления от дребезга (которая кстати и делала б синхронизацию со входным сигналом), потом схему компаратора. На постоянную задержку на несколько тактов я бы просто не обращал бы внимания :)
  19. попробуйте так: Пример VHDL описания процесса, порождающего в синтезируемой схеме два сумматора на входе мультиплексора Signal sum : std_logic_vector(7 downto 0) If (select = ‘1’) then sum <= a + b; Else sum <= c + d; End if; Оптимизированное описание, порождающего два мультиплексора и один сумматор variable tmp1, tmp2 : std_logic_vector(7 downto 0) If (select = ‘1’) then tmp1:= a; tmp2:= b; Else tmp1:= c; tmp2:= d; End if; sum <= tmp1 + tmp2;
  20. кажется Вы меня не правильно поняли, частоту увеличить нужно в ПЛИС - я это имел ввиду и получаешь 1 такт данных = 3 или 4 тактам твоего блока в ПЛИС Частота работы для АЦП остается преженей
×
×
  • Создать...