|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Желтое на черном, потому что белый фон слепит глаза со страшной силой. ГОСТ идет лесом, элементы примерно похожи на себя - и ладно. Микросхемы вообще - когда ЕСКД этот делали (84 года что ли...), FPGA и вообще настолько многоногих чипов еще в проекте не было. Готовые библиотеки тоже обычно не использую. зы Инверсные выходы у Вас не по ГОСТу
|
23 Sep 2016 03:48 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 857 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Правда ваша по инверсии. ГОСТ предусматривал рисование микросхем (любых, в том числе и аналоговых) в виде прямоугольника - тут всё верно.
|
23 Sep 2016 05:08 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если бы ты их ещё в масштабе рисовал хотя б в половину меньшем - цены бы твоим схемам не было... А так - больно огромные они у тебя выходят...
_________________ iLavr
|
23 Sep 2016 09:08 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Я про то, что кружочки, обозначающие инверсию выхода должны быть на пересечении прямоугольника корпуса и ноги, а не снаружи.
|
23 Sep 2016 11:59 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 857 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Да точки инверсии должны быть внутри, я не знаю возможно ли их так сделать. Сейчас специально зашёл в библиотеку и посмотрел расстояния между вертикальными выводами название пина/тело микросхемы/название пина должно быть 5/10...12/5 мм. У меня опять ниже - 2,5 мм. Я тоже делал когда-то элементы по видеоучителю по точным координатам крайних точек прямоугольников. Длина пинов не регламентируется, у меня - 5 мм. http://portal.tpu.ru:7777/SHARED/g/GREBENNIKOVVV/umm_disciplines_electronics_1_2/Tab/page2_1.jpgКак-то мы ушли от темы. Давайте перейдём к девайсу. Вопрос к автору. Размеры платы - 39.37 на 39.37 мм.? Или я напутал?
|
23 Sep 2016 12:13 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
100x100 мм, максимум, что предлагают те китайцы, у которых я заказывал.
|
23 Sep 2016 12:36 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если я не ошибаюсь, по новому ГОСТу можно и снаружи, как вариант. Раньше ведь и диод не прочеркивали насквозь - а сейчас это по ГОСТу... Всё - для удобства творцов схем!
_________________ iLavr
|
23 Sep 2016 14:32 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 707 Location: WWW
|
Можно, еще с глупыми вопросами попристаю ? А как это реализуется - параллельная память в последовательной ?
|
02 Oct 2016 11:07 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Так он же там просто лежит, а не работает оттуда. При старте машины биос копируется в RAM, при работе запись туда, понятное дело, отключена. Все это ради того, чтобы не лепить отдельную ROM и не морочить голову с ее прошивкой.
|
02 Oct 2016 13:31 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 707 Location: WWW
|
А, я то думал, что есть какая-нибудь мегафункция или что-то подобное, чтобы прямо из EPCS делать параллельную память...
Копируется, очевидно, во внешнюю RAM ?
|
02 Oct 2016 14:29 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Да написать-то можно, только скорость будет не тогойт... И, главное, нафик оно надо-то? Именно. Сначала переливал в циклон, потом уже (в последующих версиях) прямо в SRAM.
|
02 Oct 2016 14:34 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 707 Location: WWW
|
Не просветите неуча, как именно копируется BIOS из флэша в Cyclone ?
|
19 May 2017 22:06 |
|
|
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
Я перепробовал много вариантов, мне показался самым простым такой: А в текстовом файле - листинг пзу, побайтно через пробел, без адресов. Источник : Quartus Prime Handbook, страница 16-8 (970 в pdf). Т.е. стандартными средствами Quartus+Altera при инициализации FPGA само всё скопируется.
|
19 May 2017 23:40 |
|
|
Vic3Dexe
Doomed
Joined: 16 Dec 2014 11:58 Posts: 370 Location: Киев
|
Если ROM изначально в циклоне и там и останется - то это само собой. Задача стояла совершенно иная - использовать флешку именно как внешнюю память, т.е. скопировать оттуда свои произвольные данные во внешнюю параллельную RAM. Например, если биос тупо не влазит в набортную память циклона. Есть готовая мегафункция - asmi_parallel, которую и используем. Примерно так: | | | | Code: module bios_asmi( input wire ASMI_CLK, output wire BIOS_DONE, //интерфейс к RAM output reg [19:0] RAM_A, output reg [15:0] RAM_D, output reg nWR);
wire [7:0] ASMI_DATA; wire ASMI_BUSY, ASMI_DVALID;
//подождем, иначе флешка молчит, сука reg [5:0] DELAY; always @(posedge ASMI_CLK) DELAY <= &DELAY ? DELAY : DELAY + 6'h1;
//счетчик reg [16:0] CNTR = 17'h0; always @(posedge ASMI_CLK) CNTR <= ASMI_DVALID & ~BIOS_OK ? CNTR+17'h1 : CNTR; wire PRELAST_BYTE = ~CNTR[16] & (&CNTR[15:0]); //FFFF wire LAST_BYTE = CNTR[16];
//выдаем RDEN по отсутствию BUSY и счетчику меньше положенного //RDEN висит все время чтения reg RDEN = 1'b0; always @(negedge ASMI_CLK) RDEN <= (PRELAST_BYTE | LAST_BYTE) ? 1'b0 : (~ASMI_BUSY & (&DELAY)) | RDEN;
//выдаем READ_CMD по фронту RDEN reg RDEN_FRONT; always @(negedge ASMI_CLK) RDEN_FRONT <= RDEN; wire READ_CMD = RDEN & ~RDEN_FRONT;
//выдаем наружу признак окончания reg BIOS_OK = 1'b0; always @(posedge ASMI_CLK) BIOS_OK <= LAST_BYTE; assign BIOS_DONE = BIOS_OK; //чтобы можно было ему 0 присвоить на старте
//снимаем данные always @(posedge ASMI_CLK) begin RAM_D[15:8] <= ASMI_DVALID & CNTR[0] ? ASMI_DATA : RAM_D[15:8]; RAM_D[7:0] <= ASMI_DVALID & ~CNTR[0] ? ASMI_DATA : RAM_D[7:0]; end
//адрес фиксируем при чтении 2 байта always @(posedge ASMI_CLK) RAM_A <= ASMI_DVALID & CNTR[0] ? {1'b0,4'hF,CNTR[15:1]} : RAM_A;
//сигнал записи always @(posedge ASMI_CLK) nWR <= ~(ASMI_DVALID & CNTR[0]);
//инстанс parameter bios_read_addr = 24'h70000; asmi_bios asmi(.clkin(ASMI_CLK), .read(READ_CMD), .rden(RDEN), .addr(bios_read_addr), .reset(1'b0), .dataout(ASMI_DATA), .busy(ASMI_BUSY), .data_valid(ASMI_DVALID));
endmodule
| | | | |
|
19 May 2017 23:52 |
|
|
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
А изначально код биоса находится в той же флешке, откуда инициализируется fpga? "Приаттачивается" вручную или есть способ через Квартус?
PS. Почитал описание мегафункции asmi. Надо отдельный модуль для записи в EPCS. Вроде понятно.
Но newold86 спрашивал про "копирование в циклон". Тогда подходит и мой способ.
Last edited by IgorR76 on 20 May 2017 00:30, edited 1 time in total.
|
20 May 2017 00:14 |
|
|
Who is online |
Users browsing this forum: No registered users and 8 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|