Перейти к содержанию
    

вообще-то такое запрещено для синтеза принципиально

 

ina, inb в этом примере это входные порты модуля, не вижу проблем с синтезированностью, надо просто расширить вставку модуля со связыванием портов по умолчанию mod mod_inst (.*), что бы создавались линии для портов, доступные по ссылке mod_inst.port. Правда тут есть тонкость, сие будет работать корректно только для портов с default значениями, в противном случае это будет не удобно, т.к. надо будет прописывать все порты модуля

 

Но мы ушли от темы, это тема VHDL :)

 

ЗЫ. как то не поглазам, в VHDL появился механизм fork/join ?

 

а то вот это

 

fork 
  generator_start();
  data_start();
  scoreboard_start();
join_none

 

описывается на VHDL мягко говоря через одно место.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ina, inb в этом примере это входные порты модуля

ах, ну да, извините, ещё не доразвил телепатические возможности. я вот на досуге подумал, и получается, что по сути иерархический доступ и есть проявление тех самых переменных типа модуль (точнее констант), а блок generate for с инстанциированием внутри и есть тот самый массив модулей

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

переменных типа модуль (точнее констант)

неа, я хочу именно переменную, не константу. Которая представлялись бы структурой, содержащей все порты модуля, где каждый представленный in и inout порт обладал бы такими же свойствами, как тип reg.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неа, я хочу именно переменную, не константу. Которая представлялись бы структурой, содержащей все порты модуля, где каждый представленный 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=

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, ну прецижн сразу в баню... Я им не смог ни один проект в тайминги упихать (после 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" это имя модуля. А имя экземпляра сам пусть генерит как хочет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

призываю товарищей форумчан вернутся к обозначенной в заголовке теме

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понимаю что оффтопик, но все же скажу, и да простят меня модераторы.

 

но в SV есть интерфейс, который является чем-то подобным и он задекларирован как синтезируемая конструкция, хотя пока еще очень плохо поддерживается для синтеза

 

если я правильно помню AHDL, то использование интерфейсов в данном случае не корректно, в объявленном интерфейсе можно получить иерархический доступ до любого сигнала объявленного в нем. Что в случае использования модуля противоречит инкапсуляции в объектном подходе в хдл.

 

 

 

Я хочу возможности от AHDL - переменную типа модуля, и подключение ее портов где попало по тексту. Ну и инстанциация в виде функции, типа assign {sum, carry, ovf} = adder(ina, inb) где "adder" это имя модуля. А имя экземпляра сам пусть генерит как хочет.

 

подключение портов "где попало" реализовать в SV можно легко, будет крайне удобная, но местами опасная фича (уже писал почему), но вот сделать подобный сумматор это врядли, т.к. это уж сильно выбивается из концепции языка %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Касательно темы - новую версию языка приветствую.

В отличие от V и SV, в VHDL изменения вводятся очень обдуманно, проверяемо годами, ничего лишнего.

Кроме разве направления порта link.

Тут язык - это, если не сказать парадигма, так философия.

Приверженцы SV по старинке занимаются описанием структур, придуманных до того.

VHDL -больше для описания алгоритма, чем структуры.

Эффект языка в том, что структура получается сама собой.

Высокоуровневый синтез - это описание алгоритма, а структура и расписание появляются уже потом.

Правда, нет еще такого системного синтезатора, но будет.

Похоже, VHDL еще не пробовали серьезно для высокоуровневого синтеза, не считая неких экспериментов в конце 80-х, начале 90-х годов.

Пока что с этой целью в синтезаторах эксплуатируется только разделение ресурсов и ресинхронизация.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

радуйтесь адепты 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 и какого на нем работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...