|
Первый проект EPF10k, помогите новичку |
|
|
|
Dec 27 2011, 03:24
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Здравствуйте, есть EPF10K10LC84, никак не получается подергать ногой (. Спаял платку, подключил ч\з JTAG , Qwartus 8.1 чип видит, зашиваю проект (progress 100%).. на ноге 0. Подскажите, что необходимо сделать, чтобы активировать I\Oe . Может есть у кого рабочий проект на чипе из этой серии. Буду очень благодарен. Самостоятельно разобраться не получается, из-за трудностей с переводом документации и просто завалом новой инфы, т.к. только начинаю работать с ПЛИС. Спасибо! CODE module V1( out, in );
input wire in; output wire out;
assign out = in;
endmodule
Назначил out - PIN_16, in - PIN_17 этот же кусок в EPM7064 работает.
|
|
|
|
|
Dec 27 2011, 07:48
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата(sazh @ Dec 27 2011, 09:53)  За успешную конфигурацию кристалла отвечает пин config_done, подтянутый резистором к vcc i/o (лог 1) Может быть не контакт, если в панельку воткнули. Проверил, контакт есть, но чип просаживает пин config_done в (лог 0), и до и после конфигурации... Получается, конфигурация моя не зашивается? очень странно, квартус пишет, что все удачно..
|
|
|
|
|
Dec 27 2011, 08:00
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(SMSNG @ Dec 27 2011, 09:48)  Проверил, контакт есть, но чип просаживает пин config_done в (лог 0), и до и после конфигурации... Получается, конфигурация моя не зашивается? очень странно, квартус пишет, что все удачно.. а подтяжка имеется?
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Dec 27 2011, 08:49
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Попробовал подключить и прошить в режиме 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 Это ошибка квартуса, или я что-то не то наподключал?
Использую ByteBlasterMV Цитата(Maverick @ Dec 27 2011, 11:00)  а подтяжка имеется? Да, конечно. Выковыривал ПЛИС из панелки, дорожка подтягивается к +5.  Заработало, ч.з. JTAG, нога nCONFIG на плате замыкала на землю, но при попытке прошить в PS mode, по прежнему, qwartus вылетает с ощибкой. СПАСИБО Sazh за пинок в нужном направлении. )
Сообщение отредактировал SMSNG - Dec 27 2011, 08:36
|
|
|
|
|
Dec 30 2011, 04:23
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата Попробовал подключить и прошить в режиме 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, ошибка исчезла, прошивается.
|
|
|
|
|
Jan 10 2012, 09:33
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Возник еще вопросик. Как правильно использовать память? Создал визардом 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
|
|
|
|
|
Jan 10 2012, 10:15
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата(sazh @ Jan 10 2012, 12:44)  Сделать непрерывными .inclock (inclock), .outclock (outclock) Простите, а это как? Разве они прерываются?
|
|
|
|
|
Jan 11 2012, 06:44
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата(sazh @ Jan 10 2012, 13:39)  Я имел ввиду непрерывную сетку, а не один перепад клока. Посмотрите в 6 посте тестбенч http://electronix.ru/forum/index.php?showt...p;#entry1012009Спасибо, посмотрел, сделал по подобию, не помогло. Вот такие сигналы получаются:
Может быть в модельсиме не верно делаю что-то? В проект включены и откомпилированы только ram256.v и ram256_bb.v, но там нет описания работы памяти, я так понял, что работа описывается гдет в библиотечных файлах для кажного семейства плис своя. Если да, подскажите пожалуйста, как подключить к проекту модельсим эти библиотечные файлы. Чет так запутано все))
|
|
|
|
|
Jan 11 2012, 09:41
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата(SMSNG @ Jan 11 2012, 09:44)  Может быть в модельсиме не верно делаю что-то? В проект включены и откомпилированы только 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
|
|
|
|
|
Jan 12 2012, 04:21
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Цитата(Shivers @ Jan 11 2012, 18:01)  ram256_bb.v выкиньте из проекта, и еще раз компильните ram256.v - он и есть файл для моделирования. Правда, он потребует еще библиотеки мегафункций .. их нужно брать в папке квартуса. путь вроде этого: altera\11.0\quartus\eda\sim_lib все библиотеки там, возьмете нужные. Спасибо, обязательно попробую.. Если кто застрял на такой же проблеме как у меня (не моделируются мегафункции), почитайте Quartus + ModelSim. , автоматом генерируется скрипт для запуска ModelSim со всеми необходимыми библиотеками. Пробовал на примере со сдвиговым регистром-работает)). Пока кажется не очень удобным, но поглядев полученный скрипт, можно понять, как запустить проект в ModelSim отдельно от квартуса (наверно)), сейчас буду учиться.
|
|
|
|
|
Jan 13 2012, 05:35
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 14-04-09
Пользователь №: 47 674

|
Научился читать и писать память, но не получается инициализировать ее из файла ( Создал файл .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 - Jan 13 2012, 06:40
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|