|
Lattice MachXO2 (Diamond 3.5), Начальная установка данных |
|
|
|
Oct 24 2015, 14:44
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Доброго времени суток! Недавно начал разбираться с ПЛИС, осваиваю потихоньку семейство небольших CPLD MachXO2. Возник вопрос к сообществу - как принято устанавливать дефолтные значения регистров данных внутри модулей (не массивов памяти)? Может, кто подскажет из тех, кто знаком с кристаллами от Лэттиса. К примеру, простой модуль: Код module counter_test( input CLK, input RESET_N, output reg [7:0] LEDS ); reg [20:0] counter; reg [7:0] leds = 8'd64; initial begin leds = 8'd64; end always @ (posedge CLK) begin counter <= counter + 21'd1; LEDS <= leds; end always @ (posedge counter[19] or negedge RESET_N) begin if (!RESET_N) begin leds <= 8'd64; end else begin leds <= leds + 8'd1; end end endmodule Строка с инициализацией: reg [7:0] leds = 8'd64; и блок initial не синтезируются, к сожалению  Остаётся вариант со сбросом на начальные значения по внешнему сигналу RESET_N, если вывести его на ножку чипа. Но всё же хотелось бы использовать внутренние ресурсы, мне сброс не нужен как таковой, нужна только начальная установка после подачи питания. Хотел использовать внутренние сигналы GSR и PUR, но не пойму, как их задействовать, чтобы сработала ветка модуля по входу RESET_N?
|
|
|
|
|
 |
Ответов
|
Oct 24 2015, 14:57
|

Частый гость
 
Группа: Участник
Сообщений: 80
Регистрация: 8-02-15
Из: Санкт-Петербург
Пользователь №: 85 020

|
Цитата(sonycman @ Oct 24 2015, 17:44)  Строка с инициализацией: reg [7:0] leds = 8'd64; и блок initial не синтезируются, к сожалению  Вообще,подобные конструкции нужны только для симуляции....
|
|
|
|
|
Oct 26 2015, 14:50
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 17-02-09
Пользователь №: 44 975

|
Цитата(qwa @ Oct 24 2015, 18:11)  Синтезируется. И в ISE тоже. Это или их особая фишка, или нововведение какое-то - в книжке 2004 года по VHDL сказано,что такая конструкция не синтезируется  В Даймонде для XO2 синтезируется начиная с версии 3.5 (для VHDL проверено и работает).
|
|
|
|
Сообщений в этой теме
sonycman Lattice MachXO2 (Diamond 3.5) Oct 24 2015, 14:44    qwa Цитата(m_m @ Oct 26 2015, 17:50) В Даймон... Oct 27 2015, 11:12 sonycman В общем, насколько я понял, в случае MachXO2 для у... Oct 24 2015, 17:11 Timmy Цитата(sonycman @ Oct 24 2015, 20:11) В о... Oct 25 2015, 07:59  sonycman Цитата(Timmy @ Oct 25 2015, 11:59) Можно ... Oct 25 2015, 09:44   Timmy Цитата(sonycman @ Oct 25 2015, 12:44) Ага... Oct 25 2015, 15:06 _Sam_ Попробуйте
КодPUR PUR_INST (.PUR (<pow... Oct 27 2015, 12:59 sonycman Цитата(_Sam_ @ Oct 27 2015, 16:59) Попроб... Oct 27 2015, 14:03 _Sam_ Да я ерунду написал так краем глаза увидел и не ра... Oct 27 2015, 14:25 sonycman Благодарю, потом обязательно попробую сравнить син... Oct 27 2015, 14:45 olefil А чем сброс от PLL не нравится, частоту в любом сл... Oct 29 2015, 05:02 sonycman Цитата(olefil @ Oct 29 2015, 09:02) А чем... Oct 29 2015, 08:21 Мур Цитата(olefil @ Oct 29 2015, 08:02) А чем... Dec 14 2015, 09:19 Мур Это пример для Lattice iCE40 Dec 15 2015, 09:14 sonycman Да, PLL при слёте сигнала LOCK рекомендуется прину... Dec 15 2015, 09:46 Мур Error: Module PUR is not a valid primitive....
PUR... Dec 15 2015, 17:57 sonycman PUR это Power Up Reset - начальный сброс при подач... Dec 15 2015, 21:04 Мур Цитата(sonycman @ Dec 16 2015, 00:04) Тол... Dec 16 2015, 07:24  sonycman Цитата(Мур @ Dec 16 2015, 11:24) Мне инте... Dec 16 2015, 10:03 Мур Это из iCE40FamilyHandbook
Все красиво, ...но п... Dec 16 2015, 10:05 sonycman Ну что тут недоступного-то?
Это схема внутреннего ... Dec 16 2015, 23:13 Мур Цитата(sonycman @ Dec 17 2015, 02:13) Ну ... Dec 17 2015, 10:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|