S
sora5563
Guest
При использовании Кью (на) rtus инструментов для компиляции коррекции моего порта Dual RAM дизайн,
она принимает меня часов собрать и обобщить исходный код файла.
В памяти только с размером 64 байт, успешно составить через 5 минут.
В разы увеличить линейно, когда размер оперативной памяти двухместные,
Давайте говорить 128bytes около 10minutes или более, так далее.
Им будет разрабатывать 4 Кбайт ОЗУ меня с моей небольшой проект.Все
неплохо, за исключением оперативной памяти при компиляции раз потребляют часа времени.
Это очень недовольны.
************************************************
библиотека IEEE;
Использование IEEE.std_logic_1164.all;
Использование IEEE.std_logic_arith.all;
организация является RAM128
общего (
A: целое: = 7;
Слова: целое: = 128;
М: целое: = 8
);
порт (
CLK: в STD_LOGIC;
TxR: в STD_LOGIC;
TxW: в STD_LOGIC;
AddrTx1: в STD_LOGIC_VECTOR (А-1 downto 0);
AddrTx2: в STD_LOGIC_VECTOR (А-1 downto 0);
DataTxIn: в STD_LOGIC_VECTOR (M-1 downto 0);
DataTxOut: из STD_LOGIC_VECTOR (M-1 downto 0);
AddrRx1: в STD_LOGIC_VECTOR (А-1 downto 0);
AddrRx2: в STD_LOGIC_VECTOR (А-1 downto 0);
RxW: в STD_LOGIC;
RxR: в STD_LOGIC;
DataRxIn: в STD_LOGIC_VECTOR (M-1 downto 0);
DataRxOut: из STD_LOGIC_VECTOR (M-1 downto 0)
);
конец RAM128;
Архитектура RAM128_arch из RAM128 является
субтип ячейка std_logic_vector (M-1 downto 0);
Тип ramArray является массив (от 0 до СЛОВА-1) ячейки;
Сигнал барана: ramArray;
сигнал AddrMatch: std_logic;
начинать
AddrMatch <='1 ', когда (AddrTx1 = AddrRx2) еще'0';
процесс (CLK, AddrTx1, AddrRx2, TxW, RxW, AddrMatch)
начинать
если (clk'event и CLK ='1 '), то
если (TxW ='1 ') и (AddrMatch ='0'), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
еще
если (TxW ='1 ') и (AddrMatch ='1') и (RxW ='1 '), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
End If;
End If;
если (RxW ='1 ') и (AddrMatch ='0'), то
RAM (CONV_INTEGER (беззнаковое (AddrRx2))) <= DataRxIn;
еще
если (TxW ='1 ') и (AddrMatch ='1') и (RxW ='1 '), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
End If;
End If;
End If;
окончания процесса;
процесс (RxR, AddrRx1, RAM)
начинать
если (RxR ='1 '), то
DataRxOut <= барана (CONV_INTEGER (беззнаковое (AddrRx1)));
еще
DataRxout <= (другие =>'0 ');
End If;
окончания процесса;
процесс (TxR, AddrTx2, RAM)
начинать
если (TxR ='1 '), то
DataTxOut <= барана (CONV_INTEGER (беззнаковое (AddrTx2)));
еще
DataTxOut <= (другие =>'0 ');
End If;
окончания процесса;
конец RAM128_arch;
************************************************** ****************
Ли какие-либо экспертов может помочь решить эту проблему?
Ли какие-либо хороших идей, чтобы сократить время компиляции?
Это заставляет меня с ума!
Пожалуйста, помогите разместить ваши идеи appreciatable!!!
<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" />
она принимает меня часов собрать и обобщить исходный код файла.
В памяти только с размером 64 байт, успешно составить через 5 минут.
В разы увеличить линейно, когда размер оперативной памяти двухместные,
Давайте говорить 128bytes около 10minutes или более, так далее.
Им будет разрабатывать 4 Кбайт ОЗУ меня с моей небольшой проект.Все
неплохо, за исключением оперативной памяти при компиляции раз потребляют часа времени.
Это очень недовольны.
************************************************
библиотека IEEE;
Использование IEEE.std_logic_1164.all;
Использование IEEE.std_logic_arith.all;
организация является RAM128
общего (
A: целое: = 7;
Слова: целое: = 128;
М: целое: = 8
);
порт (
CLK: в STD_LOGIC;
TxR: в STD_LOGIC;
TxW: в STD_LOGIC;
AddrTx1: в STD_LOGIC_VECTOR (А-1 downto 0);
AddrTx2: в STD_LOGIC_VECTOR (А-1 downto 0);
DataTxIn: в STD_LOGIC_VECTOR (M-1 downto 0);
DataTxOut: из STD_LOGIC_VECTOR (M-1 downto 0);
AddrRx1: в STD_LOGIC_VECTOR (А-1 downto 0);
AddrRx2: в STD_LOGIC_VECTOR (А-1 downto 0);
RxW: в STD_LOGIC;
RxR: в STD_LOGIC;
DataRxIn: в STD_LOGIC_VECTOR (M-1 downto 0);
DataRxOut: из STD_LOGIC_VECTOR (M-1 downto 0)
);
конец RAM128;
Архитектура RAM128_arch из RAM128 является
субтип ячейка std_logic_vector (M-1 downto 0);
Тип ramArray является массив (от 0 до СЛОВА-1) ячейки;
Сигнал барана: ramArray;
сигнал AddrMatch: std_logic;
начинать
AddrMatch <='1 ', когда (AddrTx1 = AddrRx2) еще'0';
процесс (CLK, AddrTx1, AddrRx2, TxW, RxW, AddrMatch)
начинать
если (clk'event и CLK ='1 '), то
если (TxW ='1 ') и (AddrMatch ='0'), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
еще
если (TxW ='1 ') и (AddrMatch ='1') и (RxW ='1 '), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
End If;
End If;
если (RxW ='1 ') и (AddrMatch ='0'), то
RAM (CONV_INTEGER (беззнаковое (AddrRx2))) <= DataRxIn;
еще
если (TxW ='1 ') и (AddrMatch ='1') и (RxW ='1 '), то
RAM (CONV_INTEGER (беззнаковое (AddrTx1))) <= DataTxIn;
End If;
End If;
End If;
окончания процесса;
процесс (RxR, AddrRx1, RAM)
начинать
если (RxR ='1 '), то
DataRxOut <= барана (CONV_INTEGER (беззнаковое (AddrRx1)));
еще
DataRxout <= (другие =>'0 ');
End If;
окончания процесса;
процесс (TxR, AddrTx2, RAM)
начинать
если (TxR ='1 '), то
DataTxOut <= барана (CONV_INTEGER (беззнаковое (AddrTx2)));
еще
DataTxOut <= (другие =>'0 ');
End If;
окончания процесса;
конец RAM128_arch;
************************************************** ****************
Ли какие-либо экспертов может помочь решить эту проблему?
Ли какие-либо хороших идей, чтобы сократить время компиляции?
Это заставляет меня с ума!
Пожалуйста, помогите разместить ваши идеи appreciatable!!!
<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" />