des00 25 19 марта, 2009 Опубликовано 19 марта, 2009 · Жалоба вообще-то такое запрещено для синтеза принципиально ina, inb в этом примере это входные порты модуля, не вижу проблем с синтезированностью, надо просто расширить вставку модуля со связыванием портов по умолчанию mod mod_inst (.*), что бы создавались линии для портов, доступные по ссылке mod_inst.port. Правда тут есть тонкость, сие будет работать корректно только для портов с default значениями, в противном случае это будет не удобно, т.к. надо будет прописывать все порты модуля Но мы ушли от темы, это тема VHDL :) ЗЫ. как то не поглазам, в VHDL появился механизм fork/join ? а то вот это fork generator_start(); data_start(); scoreboard_start(); join_none описывается на VHDL мягко говоря через одно место. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 20 марта, 2009 Опубликовано 20 марта, 2009 · Жалоба ina, inb в этом примере это входные порты модуля ах, ну да, извините, ещё не доразвил телепатические возможности. я вот на досуге подумал, и получается, что по сути иерархический доступ и есть проявление тех самых переменных типа модуль (точнее констант), а блок generate for с инстанциированием внутри и есть тот самый массив модулей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 марта, 2009 Опубликовано 21 марта, 2009 · Жалоба переменных типа модуль (точнее констант) неа, я хочу именно переменную, не константу. Которая представлялись бы структурой, содержащей все порты модуля, где каждый представленный in и inout порт обладал бы такими же свойствами, как тип reg. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 8 27 марта, 2009 Опубликовано 27 марта, 2009 · Жалоба неа, я хочу именно переменную, не константу. Которая представлялись бы структурой, содержащей все порты модуля, где каждый представленный in и inout порт обладал бы такими же свойствами, как тип reg. но в SV есть интерфейс, который является чем-то подобным и он задекларирован как синтезируемая конструкция, хотя пока еще очень плохо поддерживается для синтеза то есть с помощью этих интерфейсов я мог бы синтезировать абстрактную иерархию, которая бы потом наполнялась функциональностью при замене модулей с портами типа этого интерфейса Вам не того же нужно? Я тут поднимал даже темы - была у меня задачка всякие вычислители объединять неимоверно (по моим понятиям :)) хитрым способом. то есть чистым верилогом я так и не осилил, а пользуясь SV структурами и многомерными массивами после упрощения ТЗ только осилил. но если бы интерфейсы синтезировались как записано в стандарте... вот я с огромным энтузазизмом схватился за SV и за пресижн как средство синтеза - но чуть чуть отойти от детских примеров если, то пресижен глючить начинает недетски и вобщем не вышло то есть пока интерфейс это только для связи тестбенча с RTL-ем, но может позже будет и синтезироваться канешна, сейчас вопросы кажутся несеръезными, но вопрос абстрактной иерархии имхо архиважнейший :) http://electronix.ru/forum/index.php?showtopic=58373&hl= http://electronix.ru/forum/index.php?showtopic=57268&hl= Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 27 марта, 2009 Опубликовано 27 марта, 2009 · Жалоба Не, ну прецижн сразу в баню... Я им не смог ни один проект в тайминги упихать (после PAR, его-то оценка отличная была) А вот в квартусе (8.0) дела обстоят вот так: IEEE Subsection Construct Description 20.3 Ports in interfaces Supported 20.4 Modports Supported (Generated modports not supported) 20.4.1 Connecting by named port bundle Supported 20.4.3 Generic interfaces Supported 20.4.4 Modport expressions Not supported 20.4.5 Clocking blocks and modports Not supported 20.5 Interfaces and specify blocks Supported 20.6 Tasks and functions in interfaces Supported (Importing and exporting tasks or functions not supported.) 20.7 Parameterized interfaces Supported 20.8 Virtual interfaces Not supported 20.9 Access to interface objects Supported В общем посмотреть надо подробнее, что там к чему. то есть с помощью этих интерфейсов я мог бы синтезировать абстрактную иерархию, которая бы потом наполнялась функциональностью при замене модулей с портами типа этого интерфейса Вам не того же нужно? Неа, не этого. Хотя этого тоже нужно. Я хочу возможности от AHDL - переменную типа модуля, и подключение ее портов где попало по тексту. Ну и инстанциация в виде функции, типа assign {sum, carry, ovf} = adder(ina, inb) где "adder" это имя модуля. А имя экземпляра сам пусть генерит как хочет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 28 марта, 2009 Опубликовано 28 марта, 2009 · Жалоба призываю товарищей форумчан вернутся к обозначенной в заголовке теме Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 29 марта, 2009 Опубликовано 29 марта, 2009 · Жалоба Понимаю что оффтопик, но все же скажу, и да простят меня модераторы. но в SV есть интерфейс, который является чем-то подобным и он задекларирован как синтезируемая конструкция, хотя пока еще очень плохо поддерживается для синтеза если я правильно помню AHDL, то использование интерфейсов в данном случае не корректно, в объявленном интерфейсе можно получить иерархический доступ до любого сигнала объявленного в нем. Что в случае использования модуля противоречит инкапсуляции в объектном подходе в хдл. Я хочу возможности от AHDL - переменную типа модуля, и подключение ее портов где попало по тексту. Ну и инстанциация в виде функции, типа assign {sum, carry, ovf} = adder(ina, inb) где "adder" это имя модуля. А имя экземпляра сам пусть генерит как хочет. подключение портов "где попало" реализовать в SV можно легко, будет крайне удобная, но местами опасная фича (уже писал почему), но вот сделать подобный сумматор это врядли, т.к. это уж сильно выбивается из концепции языка %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aser 0 6 апреля, 2009 Опубликовано 6 апреля, 2009 · Жалоба Касательно темы - новую версию языка приветствую. В отличие от V и SV, в VHDL изменения вводятся очень обдуманно, проверяемо годами, ничего лишнего. Кроме разве направления порта link. Тут язык - это, если не сказать парадигма, так философия. Приверженцы SV по старинке занимаются описанием структур, придуманных до того. VHDL -больше для описания алгоритма, чем структуры. Эффект языка в том, что структура получается сама собой. Высокоуровневый синтез - это описание алгоритма, а структура и расписание появляются уже потом. Правда, нет еще такого системного синтезатора, но будет. Похоже, VHDL еще не пробовали серьезно для высокоуровневого синтеза, не считая неких экспериментов в конце 80-х, начале 90-х годов. Пока что с этой целью в синтезаторах эксплуатируется только разделение ресурсов и ресинхронизация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба радуйтесь адепты VHDL, альтера подняла волну адаптации синтезаторов http://www.altera.com/corporate/news_room/...?f=hp&k=wn2 Initial Support for VHDL 2008—Quartus II software maintains its leadership in language support by providing a more flexible language structure that allows users to create reusable code structures. В отличие от V и SV, в VHDL изменения вводятся очень обдуманно, проверяемо годами, ничего лишнего. Тут язык - это, если не сказать парадигма, так философия. Приверженцы SV по старинке занимаются описанием структур, придуманных до того. VHDL -больше для описания алгоритма, чем структуры. Эффект языка в том, что структура получается сама собой. Высокоуровневый синтез - это описание алгоритма, а структура и расписание появляются уже потом. сказав А, говорите и Б. Раскройте вашу фразу какие именно изменения были в введены в SV необдумано? А что в VHDL лишнего и чего бы не помешало ему добавить я уже не однократно говорил. Похоже, VHDL еще не пробовали серьезно для высокоуровневого синтеза, не считая неких экспериментов в конце 80-х, начале 90-х годов. Пока что с этой целью в синтезаторах эксплуатируется только разделение ресурсов и ресинхронизация. Вот тут я совершенно не понял что вы хотели сказать, поясните. ЗЫ. Вообще, в таких "холиварах" у меня складывается впечатление что адепты VHDL реально на V/SV не работали (описание какого нить счетчика на серьезную работу не тянет). И их пространственные рассуждения о философии, все контроле и удобстве VHDL не более чем попытка обмануть себя, вызванная не желанием узнать что же такое SV и какого на нем работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться