NeoN 0 19 ноября, 2009 Опубликовано 19 ноября, 2009 · Жалоба Задача сделать так, чтобы некий фрагмент кода обрабатывал только синтезатор, а другой - моделсим. Если с синтезом вроде понятно: // synthesis translate_on // synthesis translate_off то как сделать подобное для моделирования моделсимом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 19 ноября, 2009 Опубликовано 19 ноября, 2009 · Жалоба `ifndef SYNTHESIS `endif а в синтезаторе в свойствах проекта указать предопределение макроса SYNTHESIS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 20 ноября, 2009 Опубликовано 20 ноября, 2009 · Жалоба `ifndef SYNTHESIS `endif а в синтезаторе в свойствах проекта указать предопределение макроса SYNTHESIS проще использовать уже определенный в менторе макрос __MODEL_TECH__ :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NeoN 0 20 ноября, 2009 Опубликовано 20 ноября, 2009 · Жалоба Всем спасибо, чего-то подобного и ожидал ;) Только не __MODEL_TECH__, а MODEL_TECH ... Фраза из описания моделсима: ModelSim Verilog implicitly defines the following macro: `define MODEL_TECH Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 23 ноября, 2009 Опубликовано 23 ноября, 2009 · Жалоба Только не __MODEL_TECH__, а MODEL_TECH ... да мой косяк, на автомате написал, у меня все макросы с таким оформлением %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 28 апреля, 2010 Опубликовано 28 апреля, 2010 · Жалоба Простите за тупой вопрос, но если с // synthesis translate_on // synthesis translate_off и `ifndef SYNTHESIS `endif все ясно то как юзать `MODEL_TECH? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NeoN 0 28 апреля, 2010 Опубликовано 28 апреля, 2010 · Жалоба Как-то так: // f2048 is 2048kHz freq // tc32 is 32ms TC // f2 is 1.95Hz freq module syscnt(clk, f2048, tc32, f2); input clk; output f2048, tc32, f2; `ifdef MODEL_TECH reg [9:0] cnt1; // SIMULATION CASE - 1024 times faster `else reg [19:0] cnt1; `endif reg [3:0] cnt2; reg tc32; initial begin cnt1 <= 0; cnt2 <= 0; end always @ (posedge clk) begin { tc32, cnt1 } <= cnt1 + 1; if(tc32) cnt2 <= cnt2 + 1; end assign f2048 = cnt1[3]; assign f2 = cnt2[3]; endmodule Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 28 апреля, 2010 Опубликовано 28 апреля, 2010 · Жалоба то как юзать `MODEL_TECH? `ifndef MODEL_TECH // мои код для моделсима `endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Putnik 0 28 апреля, 2010 Опубликовано 28 апреля, 2010 · Жалоба Да, все очень просто оказалось:) только `ifdef MODEL_TECH // мои код для моделсима `endif //и `ifndef MODEL_TECH // мои код не для моделсима `endif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndrewS6 0 28 апреля, 2010 Опубликовано 28 апреля, 2010 (изменено) · Жалоба еще есть такое: //synthesis read_comments_as_HDL on //<тут закомментированный синтезируемый код, который не хотите скармливать симулятору> //synthesis read_comments_as_HDL off Изменено 28 апреля, 2010 пользователем AndrewS6 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться