реклама на сайте
подробности

 
 
> Power-Up Level, Altera, verilog
TailWind
сообщение Oct 28 2006, 09:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 15-11-04
Пользователь №: 1 135



Как им управлять?

У меня много триггеров в дизайне.
После конфигурации нужно чтобы они были в заданных состояниях.

Для каждого триггера прописывать атрибут Power-Up Level - не удобно.

Когда у меня был QuartusII 2.2 я делал так:
Код
always @(posedge Clk or negedge Reset_)
if (!Reset_)  trigger <= 1;
else          trigger <= ....;

Обычный вериложный ресет.
Только вход Reset_ не был выведен на pin.
И всё работало.

Теперь я работаю с Cyclone, а он в Quartus 2.2 не поддерживается.
Поставил Quartus 4 - он не понимает такую конструкцию.
Quartus 6 - понимает для половины триггеров!!!

Как быть?
Чувствую придётся на ACEX и Quartus2.2 возвращаться ;(((
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vetal
сообщение Nov 1 2006, 08:02
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
"задать значение после конфигурирования - '0' и запретить их оптимизацию".

Код
library ieee;
use ieee.std_logic_1164.all;

entity reset_module is
    port (
    clock        : in std_logic; -- system clock
    reset_n    : out std_logic
    );
end reset_module;

architecture altera_rtl of reset_module is

signal dff1    : std_logic:='0';
signal dff2    : std_logic:='0';

attribute syn_preserve: boolean;
attribute altera_attribute : string;
attribute syn_preserve of dff1: signal is true;
attribute syn_preserve of dff2: signal is true;
attribute altera_attribute of dff1 : signal is "-name POWER_UP_LEVEL LOW";
attribute altera_attribute of dff2 : signal is "-name POWER_UP_LEVEL LOW";

begin
    bechavior:process(clock)
    begin
    if (rising_edge(clock)) then
        dff2<=dff1;    
        dff1<='1';
    end if;
    reset_n<=dff2;
    end process;
end rtl;
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TailWind   Power-Up Level   Oct 28 2006, 09:31
- - sazh   always @(posedge Clk or negedge Reset_) if (!R...   Oct 28 2006, 17:36
- - TailWind   Объясни пожалуйста подробнее Как поставить: -P...   Oct 28 2006, 19:29
- - TailWind   Чёрт возьми! А ведь это не от Quartusa зависит...   Oct 31 2006, 12:56
- - sazh   Дело в том, что в Cyclone есть асинхронный Load, а...   Oct 31 2006, 14:55
|- - TailWind   Цитата(sazh @ Oct 31 2006, 17:55) Дело в ...   Oct 31 2006, 16:04
|- - klop   Цитата(TailWind @ Oct 31 2006, 19:04) Я у...   Oct 31 2006, 16:12
- - klop   Ребяты а почему бы не сделать вход ресет у FPGA. И...   Oct 31 2006, 15:17
- - vetal   reset можно сформировать внутри fpga(sram) 1-dff-d...   Oct 31 2006, 17:26
|- - TailWind   Цитата(vetal @ Oct 31 2006, 20:26) reset ...   Oct 31 2006, 17:51
- - TailWind   Чёрт, vetal, работает!!! ;))) Спасибо...   Oct 31 2006, 18:15
- - vetal   ЦитатаЧёрт, vetal, работает!!! )) Я не...   Oct 31 2006, 18:20
|- - Postoroniy_V   Цитата(vetal @ Oct 31 2006, 21:20) Цитата...   Nov 1 2006, 10:35
- - Krys   Господа, нельзя ли разжувать это: Цитатаreset можн...   Nov 1 2006, 06:24
|- - TailWind   Цитата(Krys @ Nov 1 2006, 09:24) Господа,...   Nov 1 2006, 12:16
- - Krys   простите, но я не знаю HDL, поэтому нельзя ли расс...   Nov 7 2006, 12:56
|- - klop   Цитата(Krys @ Nov 7 2006, 15:56) простите...   Nov 7 2006, 13:19
- - sazh   Читайте внимательно. Здесь рассматривается случай,...   Nov 7 2006, 13:57
- - Krys   Спасибо! Теперь всё стало понятно!   Nov 8 2006, 04:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016