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

Здравствуйте, есть EPF10K10LC84, никак не получается подергать ногой (.

Спаял платку, подключил ч\з JTAG , Qwartus 8.1 чип видит, зашиваю проект (progress 100%).. на ноге 0.

Подскажите, что необходимо сделать, чтобы активировать I\Oe . Может есть у кого рабочий проект на чипе из этой серии. Буду очень благодарен.

Самостоятельно разобраться не получается, из-за трудностей с переводом документации и просто завалом новой инфы, т.к. только начинаю работать с ПЛИС. Спасибо!

 

module V1(
out,
in
);

input wire	in;
output wire out;

assign	out = in;

endmodule

 

Назначил out - PIN_16, in - PIN_17

 

этот же кусок в EPM7064 работает.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, есть EPF10K10LC84, никак не получается подергать ногой (.

 

Она на базе статической ячейки памяти.

За успешную конфигурацию кристалла отвечает пин config_done, подтянутый резистором к vcc i/o (лог 1)

Может быть не контакт, если в панельку воткнули.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За успешную конфигурацию кристалла отвечает пин config_done, подтянутый резистором к vcc i/o (лог 1)

Может быть не контакт, если в панельку воткнули.

 

Проверил, контакт есть, но чип просаживает пин config_done в (лог 0), и до и после конфигурации... Получается, конфигурация моя не зашивается? очень странно, квартус пишет, что все удачно..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил, контакт есть, но чип просаживает пин config_done в (лог 0), и до и после конфигурации... Получается, конфигурация моя не зашивается? очень странно, квартус пишет, что все удачно..

а подтяжка имеется?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал подключить и прошить в режиме Passive Serial, квартус выдает ошибку:

 

Internal Error: Sub-system: PGMIO, File: /quartus/pgm/pgmio/pgmio_f2p.cpp, Line: 6350

device don't support compression

Stack Trace:

0x42F58 : PGMIO_F2P::compress_bitstream + 0x158 (pgm_pgmio)

End-trace

Quartus II Version 8.1 Build 163 10/28/2008 SJ Web Edition

 

Это ошибка квартуса, или я что-то не то наподключал?

post-47674-1324974946_thumb.png

 

Использую ByteBlasterMV

 

а подтяжка имеется?

Да, конечно. Выковыривал ПЛИС из панелки, дорожка подтягивается к +5.

 

:yeah: Заработало, ч.з. JTAG, нога nCONFIG на плате замыкала на землю,

но при попытке прошить в PS mode, по прежнему, qwartus вылетает с ощибкой.

 

СПАСИБО Sazh за пинок в нужном направлении. )

 

Изменено пользователем SMSNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал подключить и прошить в режиме Passive Serial, квартус выдает ошибку:

 

Internal Error: Sub-system: PGMIO, File: /quartus/pgm/pgmio/pgmio_f2p.cpp, Line: 6350

device don't support compression

Stack Trace:

0x42F58 : PGMIO_F2P::compress_bitstream + 0x158 (pgm_pgmio)

End-trace

Quartus II Version 8.1 Build 163 10/28/2008 SJ Web Edition

 

Скачал Quartus II Version 9.0 SP2, ошибка исчезла, прошивается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возник еще вопросик. Как правильно использовать память? Создал визардом RAM: 1-PORT 8x256 с регистрами на всех входах и выходе.

 

В моделсиме проект сделал, тестбенч для памяти написал ... на data_out пусто(z). Подскажите, плиз, где искать?

 

`timescale 1ns / 1ns
//-----------------------------
module banch(
);
    reg [7:0] address;  
    reg [7:0] data_in;
    wire [7:0] data_out;
    reg inclock, outclock;
    reg we;
//-----------------------------
    ram256 ram256_my(
        .address (address),
        .data (data_in),
        .inclock (inclock),
        .outclock (outclock),
        .we(we),
        .q (data_out)
);
//-----------------------------
    initial 
    begin
        inclock = 0;
        outclock = 0;
        address = 8'b00000001;
        data_in = 8'b00000001;

        #52000 we = 1;
        #55000 inclock = 1;
        #60000 inclock = 0;
        #62000 we = 0;    
        #65000 outclock = 1;
        #70000 outclock = 0;
    end 


    initial
    begin
        $display("Running testbench");  
        #10000000 $stop;
    end
    
endmodule

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возник еще вопросик. Как правильно использовать память?

 

Сделать непрерывными

.inclock (inclock),

.outclock (outclock)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделать непрерывными

.inclock (inclock),

.outclock (outclock)

Простите, а это как?

Разве они прерываются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, а это как?

Разве они прерываются?

 

Я имел ввиду непрерывную сетку, а не один перепад клока.

Посмотрите в 6 посте тестбенч

http://electronix.ru/forum/index.php?showt...p;#entry1012009

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имел ввиду непрерывную сетку, а не один перепад клока.

Посмотрите в 6 посте тестбенч

http://electronix.ru/forum/index.php?showt...p;#entry1012009

 

Спасибо, посмотрел, сделал по подобию, не помогло.

Вот такие сигналы получаются:

post-47674-1326263670_thumb.jpg

Может быть в модельсиме не верно делаю что-то?

В проект включены и откомпилированы только ram256.v и ram256_bb.v, но там нет описания работы памяти, я так понял, что работа описывается гдет в библиотечных файлах для кажного семейства плис своя.

Если да, подскажите пожалуйста, как подключить к проекту модельсим эти библиотечные файлы.

Чет так запутано все))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть в модельсиме не верно делаю что-то?

В проект включены и откомпилированы только ram256.v и ram256_bb.v, но там нет описания работы памяти, я так понял, что работа описывается гдет в библиотечных файлах для кажного семейства плис своя.

 

Блин, тот же счетчик ведь работает, и в железе и в модельсиме , хотя так же на библиотечной ф-ии, ((((

`timescale 1 ns / 1 ns
//----------------------------------------------------------    
module Counter(
    input wire    reset, 
    input wire     clk_40, 
    output wire    [3:0] led
);
//----------------------------------------------------------

    reg [3:0] cnt = 4'd0;
    always @(posedge clk_40) cnt <= cnt + 4'd1;

    assign led = cnt;
//----------------------------------------------------------
endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ram256_bb.v выкиньте из проекта, и еще раз компильните ram256.v - он и есть файл для моделирования. Правда, он потребует еще библиотеки мегафункций .. их нужно брать в папке квартуса. путь вроде этого: altera\11.0\quartus\eda\sim_lib все библиотеки там, возьмете нужные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ram256_bb.v выкиньте из проекта, и еще раз компильните ram256.v - он и есть файл для моделирования. Правда, он потребует еще библиотеки мегафункций .. их нужно брать в папке квартуса. путь вроде этого: altera\11.0\quartus\eda\sim_lib все библиотеки там, возьмете нужные.

Спасибо, обязательно попробую..

 

Если кто застрял на такой же проблеме как у меня (не моделируются мегафункции), почитайте Quartus + ModelSim. , автоматом генерируется скрипт для запуска ModelSim со всеми необходимыми библиотеками. Пробовал на примере со сдвиговым регистром-работает)).

Пока кажется не очень удобным, но поглядев полученный скрипт, можно понять, как запустить проект в ModelSim отдельно от квартуса (наверно)), сейчас буду учиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Научился читать и писать память, но не получается инициализировать ее из файла (

Создал файл .mif под размер своего модуля, при компиляции вылазит ошибка :

Error: Node "ram256:ram256_inst|lpm_ram_dq:lpm_ram_dq_component|altram:sram|q[0]" has non-registered write enable-- attempting to initialize a RAM with non-registered write enable

(точнее 4 ошибки для q[0],q[1],q[2],q[3])

К этим выводам подключены индикаторы

******
output wire    [3:0] led
wire [7:0] d;
ram256    ram256_inst (
        .address ( cnt ),
        .data ( cnt ),
        .outclock ( ~clk_out ),
        .we ( load ),
        .q ( d )
    );
assign led[0] =  d[0]; 
    assign led[1] =  d[1];
    assign led[2] =  d[2];
    assign led[3] =  d[3];
***

 

В MOdelSim компилируется и работает. Кто-то сталкивался с подобным? Пробовал инициализировать и из файла формата .hex, тот же результат.

Изменено пользователем SMSNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...