SM 0 18 ноября, 2009 Опубликовано 18 ноября, 2009 · Жалоба не придирайтесь к словам :) в этом случае редьюсед подразумевает, что редуцированы операции работающие с операндами из/в памяти например РРС - общепризнано, что RISC - но инструкций там побольше чем у х86 А я как раз к словам не придираюсь. Я придираюсь к лицам, узко и ограниченно интерпретирующим это понятие. Не важно, что именно и относительно чего редуцировали, главное - что редуцировали, и все. Поэтому и риск. И от того, что отдельно взятый "LordVader" не признает MSP риском, MSP им не перестает быть. И система команд у него - Reduced Instruction Set от PDP-11. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 18 ноября, 2009 Опубликовано 18 ноября, 2009 · Жалоба Автору - а чем LatticeMico8 не устраивает? И под фпга заточен, и компилер есть, и исходники... Откуда бы достать? На сайте зарегаться не могу. Тут лежит где-нибудь. Желательно ссылку и на компилятор и на утилиты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 18 ноября, 2009 Опубликовано 18 ноября, 2009 · Жалоба Зачем и где регаться? Все так лежит. http://www.latticesemi.com/documents/Latti...3_0_Verilog.zip http://www.latticesemi.com/documents/LatticeMico8_Tools.zip http://www.latticesemi.com/lit/docs/refdesigns/isp8_demo.zip http://www.latticesemi.com/lit/docs/refdesigns/rd1026.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LordVader 0 18 ноября, 2009 Опубликовано 18 ноября, 2009 · Жалоба Я придираюсь к лицам, Переход на личности. И система команд у него - Reduced Instruction Set от PDP-11. Это вам тоже TI сказала? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 18 ноября, 2009 Опубликовано 18 ноября, 2009 (изменено) · Жалоба RISC, CISC - не все-ли равно? Например, я не знаю, к какому типу отнести свое собственное ядро. И как считать число инструкций. И меня это не волнует. Изменено 18 ноября, 2009 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Omen_13 0 18 ноября, 2009 Опубликовано 18 ноября, 2009 · Жалоба Прошу участников воздержаться от религиозных войн и перехода на личности Модератор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 19 ноября, 2009 Опубликовано 19 ноября, 2009 · Жалоба Зачем и где регаться? Все так лежит. http://www.latticesemi.com/documents/Latti...3_0_Verilog.zip http://www.latticesemi.com/documents/LatticeMico8_Tools.zip http://www.latticesemi.com/lit/docs/refdesigns/isp8_demo.zip http://www.latticesemi.com/lit/docs/refdesigns/rd1026.pdf Спасибо. Скачал. Ссылочку на с-компилятор (или иде) дадите. Какие рекомендации по применению? Ломать там что-нибудь надо? Кстати пароль требует если попытаться войти в каталог http://www.latticesemi.com/documents/ На прямые ссылки из этого каталога не ругается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 19 ноября, 2009 Опубликовано 19 ноября, 2009 · Жалоба Какие рекомендации по применению? Ломать там что-нибудь надо? Ломать там ничего не надо, оно же в исходниках все. Рекомендаций не дам, я сам ни разу не применял FPGA-ориентированные ядра, лишь анализировал их по занимаемым ресурсам и производительности. А до дела так и не дошло, все мое ПЛИСовое пока что решалось без ядер, я лишь был на грани применения ядра. Вам его присоветовал лишь из-за того, что оно мне показалось наиболее элегантным из доступных, поддерживаемым серьезным производителем и легко портируемым на разные архитектуры ПЛИС. Про С - на сколько я знаю, сам Lattice поддерживает только Mico32 компилятор (http://www.latticesemi.com/forums/forum/messageview.cfm?catid=164&threadid=10282&enterthread=y), считая такую мелкоту не достойным С. Ну а компилятор ассемблера - по ссылке должен был быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 19 ноября, 2009 Опубликовано 19 ноября, 2009 · Жалоба у самого руки не доходят (нету задачи), но вроде активный проект с С/С++ http://opensource.zylin.com/zpu.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 3 декабря, 2009 Опубликовано 3 декабря, 2009 · Жалоба у самого руки не доходят (нету задачи), но вроде активный проект с С/С++ http://opensource.zylin.com/zpu.htm Вроде в симуляторе фунциклит (zpu4_small) - программа вроде работает по шагам... правда недолго... (красное просачивается в RAM непонятно по какой причине...) Я в VHDL не силён: модель памяти программ/данных в виде: entity dualport_ram is port (clk : in std_logic; memAWriteEnable : in std_logic; memAAddr : in std_logic_vector(maxAddrBitBRAM downto minAddrBit); memAWrite : in std_logic_vector(wordSize-1 downto 0); memARead : out std_logic_vector(wordSize-1 downto 0); memBWriteEnable : in std_logic; memBAddr : in std_logic_vector(maxAddrBitBRAM downto minAddrBit); memBWrite : in std_logic_vector(wordSize-1 downto 0); memBRead : out std_logic_vector(wordSize-1 downto 0)); end dualport_ram; architecture dualport_ram_arch of dualport_ram is type ram_type is array(natural range 0 to ((2**(maxAddrBitBRAM+1))/4)-1) of std_logic_vector(wordSize-1 downto 0); shared variable ram : ram_type := ( 0 => x"0b0b0b0b", 1 => x"82700b0b", 2 => x"80d5f40c", 3 => x"3a0b0b80", 4 => x"c4fb0400", others => x"00000000" ); begin process (clk) begin if (clk'event and clk = '1') then if (memAWriteEnable = '1') and (memBWriteEnable = '1') and (memAAddr=memBAddr) and (memAWrite/=memBWrite) then report "write collision" severity failure; end if; if (memAWriteEnable = '1') then ram(to_integer(unsigned(memAAddr))) := memAWrite; memARead <= memAWrite; else memARead <= ram(to_integer(unsigned(memAAddr))); end if; end if; end process; process (clk) begin if (clk'event and clk = '1') then if (memBWriteEnable = '1') then ram(to_integer(unsigned(memBAddr))) := memBWrite; memBRead <= memBWrite; else memBRead <= ram(to_integer(unsigned(memBAddr))); end if; end if; end process; end dualport_ram_arch; синтезабельна в плане начального заполнения кодом ячеек памяти? При попытке синтеза пишет что : Device Utilization Summary: Number of BUFGMUXs 1 out of 8 12% Number of External IOBs 91 out of 141 64% Number of LOCed IOBs 0 out of 91 0% Number of RAMB16s 8 out of 16 50% - типа всё таки используется блочное ОЗУ для памяти Number of Slices 312 out of 3584 8% Number of SLICEMs 0 out of 1792 0% НО нигде в отчёте не видно чем он заполнил это блочное ОЗУ: 0 => x"0b0b0b0b", 1 => x"82700b0b", 2 => x"80d5f40c", 3 => x"3a0b0b80", 4 => x"c4fb0400", - этой информации я не вижу в логах синтезатора. Тоесть нужно - ли искать/создавать транслятор который заполняет блочное ОЗУ явно? RAMB16_S1_S1_inst : RAMB16_S1_S1 generic map ( INIT_A => "0", -- Value of output RAM registers on Port A at startup INIT_B => "0", -- Value of output RAM registers on Port B at startup SRVAL_A => "0", -- Port A ouput value upon SSR assertion SRVAL_B => "0", -- Port B ouput value upon SSR assertion WRITE_MODE_A => "WRITE_FIRST", -- WRITE_FIRST, READ_FIRST or NO_CHANGE WRITE_MODE_B => "WRITE_FIRST", -- WRITE_FIRST, READ_FIRST or NO_CHANGE SIM_COLLISION_CHECK => "ALL", -- "NONE", "WARNING", "GENERATE_X_ONLY", "ALL" -- The following INIT_xx declarations specify the initial contents of the RAM -- Address 0 to 4095 INIT_00 => X"1122330000000000000000000000000000000000000000000000000000000000", INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000", INIT_04 => X"0000000000.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 5 декабря, 2009 Опубликовано 5 декабря, 2009 · Жалоба Кстати, вот наиболее интересные фрагменты кода для ZPU: если volatile unsigned char *p = (unsigned short *)(0xF000); и volatile unsigned char k; то 00000541 <.LM7>: k = *p; 541: 91 im 17 542: d8 im -40 543: 08 load 544: 51 storesp 4 545: 70 loadsp 0 546: 33 loadb 547: 99 im 25 548: 8c im 12 549: 34 storeb 0000054a <.LM8>: p++; 54a: 81 im 1 54b: 11 addsp 4 54c: 91 im 17 54d: d8 im -40 54e: 0c store сказывается отсутствие банка регистров... зато мальнькое Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
valerony 0 9 апреля, 2018 Опубликовано 9 апреля, 2018 · Жалоба если вам без разницы ядро почему бы не взять xsoc16 http://www.fpgacpu.org/ проект давно вылизан, есть си компилятор. При этом проц затачивался под фпга Здесь на форуме https://www.embeddedrelated.com/showthread/...-cpu/1381-1.php автор пишет что данный проц затачивался под Xilinx семейство XC4000E, и не рекомендует использовать его в альтерах. Пробовал кто-нибудь запускать их в циклонах например? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться