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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Кто -нибудь знаком с openmsp430, Это синтезабельное подобие MSP430
SM
сообщение Nov 18 2009, 12:28
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(yes @ Nov 18 2009, 15:12) *
не придирайтесь к словам smile.gif
в этом случае редьюсед подразумевает, что редуцированы операции работающие с операндами из/в памяти
например РРС - общепризнано, что RISC - но инструкций там побольше чем у х86

А я как раз к словам не придираюсь. Я придираюсь к лицам, узко и ограниченно интерпретирующим это понятие. Не важно, что именно и относительно чего редуцировали, главное - что редуцировали, и все. Поэтому и риск. И от того, что отдельно взятый "LordVader" не признает MSP риском, MSP им не перестает быть. И система команд у него - Reduced Instruction Set от PDP-11.
Go to the top of the page
 
+Quote Post
Yra
сообщение Nov 18 2009, 17:39
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Цитата
Автору - а чем LatticeMico8 не устраивает? И под фпга заточен, и компилер есть, и исходники...

Откуда бы достать? На сайте зарегаться не могу. Тут лежит где-нибудь. Желательно ссылку и на компилятор и на утилиты.


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 18 2009, 17:54
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Зачем и где регаться? Все так лежит.

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
Go to the top of the page
 
+Quote Post
LordVader
сообщение Nov 18 2009, 18:56
Сообщение #34


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

Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418



Цитата(SM @ Nov 18 2009, 15:28) *
Я придираюсь к лицам,

Переход на личности.
Цитата
И система команд у него - Reduced Instruction Set от PDP-11.

Это вам тоже TI сказала?
Go to the top of the page
 
+Quote Post
Leka
сообщение Nov 18 2009, 19:19
Сообщение #35


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



RISC, CISC - не все-ли равно? Например, я не знаю, к какому типу отнести свое собственное ядро. И как считать число инструкций. И меня это не волнует.

Сообщение отредактировал Leka - Nov 18 2009, 19:19
Go to the top of the page
 
+Quote Post
Omen_13
сообщение Nov 18 2009, 21:08
Сообщение #36


Силовик-затейник
****

Группа: Модераторы
Сообщений: 766
Регистрация: 18-02-07
Из: Столица солнечного Башкортостана
Пользователь №: 25 467



Прошу участников воздержаться от религиозных войн и перехода на личности
Модератор


--------------------
"Вперёд на мины, ордена потом!"
"инжинер/разработчик создает нечто, в отличии от многих других профессий. В этом есть сходность с художниками или музыкантами"(с)CodeWarrior1241
Go to the top of the page
 
+Quote Post
Yra
сообщение Nov 19 2009, 16:38
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Цитата

Спасибо. Скачал. Ссылочку на с-компилятор (или иде) дадите. Какие рекомендации по применению? Ломать там что-нибудь надо?
Кстати пароль требует если попытаться войти в каталог http://www.latticesemi.com/documents/
На прямые ссылки из этого каталога не ругается


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 19 2009, 17:00
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Yra @ Nov 19 2009, 19:38) *
Какие рекомендации по применению? Ломать там что-нибудь надо?

Ломать там ничего не надо, оно же в исходниках все. Рекомендаций не дам, я сам ни разу не применял FPGA-ориентированные ядра, лишь анализировал их по занимаемым ресурсам и производительности. А до дела так и не дошло, все мое ПЛИСовое пока что решалось без ядер, я лишь был на грани применения ядра. Вам его присоветовал лишь из-за того, что оно мне показалось наиболее элегантным из доступных, поддерживаемым серьезным производителем и легко портируемым на разные архитектуры ПЛИС.

Про С - на сколько я знаю, сам Lattice поддерживает только Mico32 компилятор (http://www.latticesemi.com/forums/forum/messageview.cfm?catid=164&threadid=10282&enterthread=y), считая такую мелкоту не достойным С. Ну а компилятор ассемблера - по ссылке должен был быть.
Go to the top of the page
 
+Quote Post
yes
сообщение Nov 19 2009, 17:58
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



у самого руки не доходят (нету задачи), но вроде активный проект с С/С++

http://opensource.zylin.com/zpu.htm
Go to the top of the page
 
+Quote Post
Yra
сообщение Dec 3 2009, 19:06
Сообщение #40


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Цитата
у самого руки не доходят (нету задачи), но вроде активный проект с С/С++
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....


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Yra
сообщение Dec 5 2009, 15:11
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 396
Регистрация: 22-10-04
Из: Воронеж
Пользователь №: 962



Кстати, вот наиболее интересные фрагменты кода для 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


сказывается отсутствие банка регистров... зато мальнькое


--------------------
всё можно наладить, если достаточно долго вертеть в руках /Законы Мерфи/
Go to the top of the page
 
+Quote Post
valerony
сообщение Apr 9 2018, 07:32
Сообщение #42





Группа: Новичок
Сообщений: 4
Регистрация: 6-04-18
Пользователь №: 103 001



Цитата(des00 @ Nov 16 2009, 08:24) *
если вам без разницы ядро почему бы не взять xsoc16 http://www.fpgacpu.org/ проект давно вылизан, есть си компилятор. При этом проц затачивался под фпга


Здесь на форуме https://www.embeddedrelated.com/showthread/...-cpu/1381-1.php автор пишет что данный проц затачивался под Xilinx семейство XC4000E, и не рекомендует использовать его в альтерах. Пробовал кто-нибудь запускать их в циклонах например?
Go to the top of the page
 
+Quote Post

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

 


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


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