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

 
 
> Проблема синтеза под Altera, Не моделируется синтезированная схема
White
сообщение Sep 9 2005, 11:48
Сообщение #1


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

Группа: Свой
Сообщений: 81
Регистрация: 31-01-05
Из: Москва
Пользователь №: 2 324



Дроброго времени суток.

Если кто может-помогите wacko.gif
Проблема вот в чем:
Есть код на VHDL. Вот он:
Цитата
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.std_logic_arith.all;



entity imit is
  port(
  clk : in STD_LOGIC;
  enable : in STD_LOGIC;
  synh_out : out STD_LOGIC;
  data_strob : out STD_LOGIC;
  data_out : out STD_LOGIC_VECTOR(31 downto 0)
      );
end imit;

--}} End of automatically maintained section

architecture rl of imit is
constant t_min:integer:=100; --100 ns

begin

p1: process (clk, enable) 

constant temp1:STD_LOGIC_VECTOR(31 downto 0):=B"00000001100000000110010000110011";
constant temp2:STD_LOGIC_VECTOR(31 downto 24):=X"02";
constant temp3:STD_LOGIC_VECTOR(31 downto 0):=B"00000011000000010000001010111100";
constant temp4:STD_LOGIC_VECTOR(31 downto 0):=B"11100100000000000000000000001000";

variable count_temp:integer range 0 to 256 :=0;
variable t1:integer:=750;
variable temp:integer range 0 to 16777215 :=0;
variable num:integer range 0 to 32;


begin
  if enable='0' then
  count_temp:=0;
  t1:=750;
  data_out<=(others=>'0');
  data_strob<='1';
  synh_out<='1';
  temp:=0;
  num:=0;

  else
    if clk'event and clk='1' then  --CLK rising edge
    count_temp:=count_temp+1;
    end if;
    if clk'event and clk='0' then
    case count_temp is
      when 1 =>data_strob<='0';
      when 2 =>synh_out<='0';
        data_out<=temp1;
      when 3 => synh_out<='1';
      when 4 =>synh_out<='0'; 
      ------------------------
        temp:=temp+t1;
        data_out<=temp2 & CONV_STD_LOGIC_VECTOR(temp,24);
        num:=num+1;
        if t1 = 750 and num = 20 then
        t1:=1000;
        num:=0;
        elsif t1=1000 and num=20 then
          t1:=750;
          num:=0;
        end if;
     
      ------------------------
      when 5 => synh_out<='1';
      when 6 =>synh_out<='0';
        data_out<=temp3;
      when 7 => synh_out<='1';
      when 8 =>synh_out<='0';
        data_out<=temp4;
      when 9 => synh_out<='1';
      when 11 =>data_strob<='1';
      when 150 => if t1=750 then
          count_temp:=0;
        end if;
      when 200 => if t1=1000 then
          count_temp:=0;
        end if;
      when others => null;
    end case;
    end if;
  end if;
  end process p1; 
end rl;

он замечательно моделируется в A-HDL но при попытке моделировать синтезированое устройство в Quartus не чего не происходит т е результате состояния выходов не меняются. ПЛИС-MAX 7000S
Вообщем вопрос что я делаю не так, и если объяснять долго то где посмотреть.

PS До этого с ПЛИС не работал. Так что сильно не бейте
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Sep 9 2005, 11:58
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



else
if clk'event and clk='1' then --CLK rising edge
count_temp:=count_temp+1;
end if;
if clk'event and clk='0' then
case count_temp is

в одном процесе никогда не заработает, разнесите по разным процессам
и если это стетй машина воспользуйтесь перечисляемыми типами


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- White   Проблема синтеза под Altera   Sep 9 2005, 11:48
|- - andrew_b   Цитата(des00 @ Sep 9 2005, 15:58)else   ...   Sep 9 2005, 12:13
- - Iouri   count_temp желательно вынести в отдельный процесс ...   Sep 9 2005, 12:31
|- - des00   Цитата(Iouri @ Sep 9 2005, 07:31)count_temp ж...   Sep 9 2005, 12:37
- - vetal   Код    ---------------------------------...   Sep 9 2005, 12:58
|- - des00   Цитата(vetal @ Sep 9 2005, 07:58)Код   ...   Sep 9 2005, 13:08
|- - vetal   Цитата(des00 @ Sep 9 2005, 16:08)Цитата(vetal...   Sep 9 2005, 13:25
|- - des00   уважаемый Vetal вы не могли бы ответить мне в неок...   Sep 9 2005, 13:33
- - White   Спасибо всем за советы. Разобрался - все вроде раб...   Sep 10 2005, 11:53
- - White   К сожалению приходится возобновлять тему Продолж...   Sep 12 2005, 13:17
|- - des00   Цитата(White @ Sep 12 2005, 08:17)К сожалению...   Sep 12 2005, 13:39
- - White   Цитатане вижу ничего странного, кроме может быть т...   Sep 12 2005, 13:48
|- - des00   Цитата(White @ Sep 12 2005, 08:48)так и что ж...   Sep 12 2005, 14:05
- - White   Ок посмотрим в железе, а там видно будет. При од...   Sep 12 2005, 14:27
- - vetal   Ни одна программа не запакует триггеры в эвв max7s...   Sep 12 2005, 16:57
|- - des00   Цитата(vetal @ Sep 12 2005, 11:57)Ни одна про...   Sep 13 2005, 04:53
- - sazh   (C VHDL не знаком. Посмотрел в Квартусе в RTL п...   Sep 12 2005, 17:49
|- - des00   Раз пошла такая пьянка, то ИМХО по моим иследовани...   Sep 13 2005, 05:31
- - vetal   sazh : Вы не туда смотрите. На RTL действительно в...   Sep 12 2005, 19:31
- - sazh   to Vetal: Я посмотрел на плюсик в Proekt Navigator...   Sep 13 2005, 06:31
- - White   2 Vetal ЦитатаWhite: добавьте следующие строчки м...   Sep 13 2005, 13:02
|- - des00   Цитатаа что это изменит ? в бинарном виде мне в да...   Sep 13 2005, 13:18
- - White   ЦитатаЦитата Но в принципе идея понятна, единствен...   Sep 13 2005, 13:36
- - vetal   Аттрибуты которые я вам сказал написать предназнач...   Sep 13 2005, 13:37
- - White   ЦитатаАттрибуты которые я вам сказал написать пред...   Sep 14 2005, 09:21
- - vetal   Выключите так же: Remove duplicate registers -off....   Sep 14 2005, 09:37
|- - des00   Насчет счетчика и всех асинхронно/синхронных дел ...   Sep 14 2005, 09:52
- - White   2 vetal Спасибо за советы все заработало 2 d...   Sep 14 2005, 10:07
- - des00   Цитата(White @ Sep 14 2005, 05:07)За ссылки н...   Sep 14 2005, 11:02


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

 


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


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