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

sv_brothers

Участник
  • Постов

    26
  • Зарегистрирован

  • Посещение

Весь контент sv_brothers


  1. В целом к этому все и идет... За неимением кучи свободного времени, чтобы генерировать вопросы и ответы, был предложен тест по VHDL в "чистом виде" (как начальный этап), чтобы определить знания студентов в области применения (и особенностях использования) операторов языка (sequential/concurrent statements), понимания разницы между переменными и сигналами, строгой типизации данных и т.д. В текущие вопросы также планируется включить особенности кода VHDL для синтеза (например, исключение "защелок" при описании комбинационной части и т.д.). Параллельно с курсом Автоматизированное проектирование КС (где рассматривается VHDL и особенности построения систем на ПЛИС в первом приближении) читается курс компьютерной схемотехники, так что студенты владеют предметной областью.
  2. Цель - оценка знаний студентов 1, 2-го курса. Отсюда и привязка к простым вопросам...
  3. Ну дайте плиз любую ссылку на любой тест в области языков описания аппаратуры или языков программирования (может где на brainbench.com), который построен правильно, согласно Вашему представлению (философии). Честно мне интересно на него посмотреть. Или он такой ценный, что не может быть в открытой печати?
  4. Спасибо за очень развернутый ответ и за время потраченное на ответ. С некоторыми позициями я с Вами согласен, возможно, тест перегружен слишком уж конкретной привязкой к синтаксису. С другой стороны, если честно, хотелось бы от Вас несколько примеров того, какие должны быть тестовые вопросы (можно и ссылку, на любой другой тест, даже по любому другому языку описания аппаратуры/программированию, где удачно поставлены вопросы и ответы). Этот тест тут и появился, чтоб на него взглянул сторонний человек и дал свою оценку, но никак не для того чтобы: Очередной опус "на тему я самый умный" (и кстати, почему очередной??)
  5. Да, спс за дельные рекомендации. К этому все и идет, начинал от простого (что в голову сходу приходило ), ну, а потом уже и частично на код перешел. В дальнейшем планируется расширить, в том числе "тематику", что и Вы предложили. Кстати, если "подкините" пару тестовых вопросов я не обижусь
  6. Добрый всем день. Вобщем была в свое время необходимость найти тесты для оценки знаний (пусть будет студентов) в области языка VHDL (сразу скажу, что стандарт 1993 г.). Погуглив немного понял, что те что существуют сводятся к двум вариантам ответов (Да, Нет) + зарубежные варианты с чисто английской идеологией (т.е. при переводе на русский теряется всякий смысл теста). Ничего не найдя, решил своими силами сгенерировать нечто похожее на тесты. Так вот, захотелось мне заделиться своим "детищем" (см. прикрепленный файл) в данной ветке форума и послушать отзывы и Вашу конструктивную критику (по тому какие, вопросы составлены некорректно, где необходима дополнительная детализация). В идеале хотелось бы расширить перечень тестовых вопросов. P.S. Количество верных ответов может быть больше одного P.P.S. Похоже слово "детище" сыграло в роли раздражителя... P.P.S. Цель - оценка знаний студентов 1,2-курсов. quiz_vhdl_for_print.pdf
  7. Однако насколько я помню данный подход допустим толькоя для простых проектов в схематике (и естественно без мегафункций). Для более сложных проектов из схематика получить VHDL невозможно. Если неправ, то поправьте.
  8. В Xilinx ISE тоже можно "что-нибудь" нарисовать. Но там графически было всегда не очень приятно рисовать. Хотя от графического ввода сейчас активно отходят, так что переходите на HDL ввод.
  9. Подскажите пожалуйста, раз тут пошла такая тема. А есть ли какие-нибудь общепринятые методы, которые позволяют проводить оценку надежностных свойств конкретного проектного решения на ПЛИС типа SRAM, помимо периодических отчетов (reliability reports) фирмы Xilinx и Altera, которые, насколько я понял, касаются сугубо элементной базы соответствующего семейства без учета характеристик самого проекта (используемых ресурсов - их тип и количество).
  10. Насколько я понял из Вашего топика... Вам надо копать в области "Структурного описания проектов на VHDL". На самом деле первая часть задания где-то с этим граничит, только в качестве готовых компонентов выступают компоненты, описанные в пакете maxplus2 библиотеки Altera. Ключевые слова: COMPONENT, PORT MAP. По ним есть кучу инфы в инете. p.s. Можно узнать что за учебное заведение, в котором вы обучаетесь и курс обучения, если это не секрет :-)?
  11. По поводу программ сказать точно не могу. Как вариант можешь глянуть на ряд библиотек - хттп://www.questatechnologies.com/, может что найдешь подходящее.
  12. Да, спасибо, тут я немножко сам "протупил", запутался в разрядности шины адреса и забыл про разрядность хранимых данных. Вроде как со спецификации и начал. Столкнулся еще с одной проблемой - при задании разрядности шины данных и шины адреса (writedata, readdata, address) через параметры (в секции GENERIC) для пользовательского компонента. Например так: entity ram is generic ( DATA_WIDTH : natural := 32; ADDR_WIDTH : natural := 8 ); port ( ................................................................ address : in std_logic_vector(ADDR_WIDTH-1 downto 0); wrdata : in std_logic_vector(DATA_WIDTH-1 downto 0); rddata : out std_logic_vector(DATA_WIDTH-1 downto 0); ................................................................. ); end entity; Получаю в QSys ошибку: Error: avalon_slave_0: Signal rddata[-1] must be a multiple of the symbol width 8 Error: avalon_slave_0: Signal wrdata[-1] must be a multiple of the symbol width 8 Хотя на вкладке HDL-parametres параметры отображаются корректно...
  13. Добрый день всем. Вот решил немного "поковырять" Qsys, чтобы посмотреть что за зверь такой. Решил идти от простого - создание своих простеньких пользовательских компонентов (Master и Slave), дабы разобраться в спецификации интерфейса Avalon. Так вот создал я два компонента: 1. Slave - представляет собой память с интерфейсом: entity ram is port ( clk : in std_logic; reset : in std_logic; rd : in std_logic; wr : in std_logic; address : in std_logic_vector(7 downto 0); wrdata : in std_logic_vector(31 downto 0); rddata : out std_logic_vector(31 downto 0); waitrequest : out std_logic ); end entity; 2. Master - представляет собой FSM, который будет записывать/вычитывать данные из подчиненного устройства по некоторому (неважно какому алгоритму). Интерфес Master`а: entity master is port ( clk : in std_logic; reset : in std_logic; waitrequest : in std_logic; rddata : in std_logic_vector(31 downto 0); rd : out std_logic; wr : out std_logic; address : out std_logic_vector(7 downto 0); wrdata : out std_logic_vector(31 downto 0); q_out : out std_logic_vector(31 downto 0) -- будет Conduit ); end entity master; Так вот вопрос самый первый. Почему при добавлении RAM (slave) Qsys определяет для него адресное пространство в пределах от 0x00000000 - 0x000003FF? Вроде как разрядность адреса (8 бит) не позволяет адресоваться в пределах заданного адресного пространства. Понимаю, что, возможно, ответ на вопрос лежит где-то в этом куске спецификации для сигнала address, но пока не могу понять: Необходимо ли в моем проекте сигнал byteenable (вернее так: является ли он обязательным?). Пока это первые вопросы. Хотелось бы получить на них ответ, а потом идти уже дальше.
  14. Насчет тулзы не подскажу... В свое время копал в схожем направлении, использовал Java + EDIF_Parser (http://sourceforge.net/projects/byuediftools/) для манипуляции с EDIF-форматом. Единственное, что необходимо самому писать Java-код.
  15. Вот появилась необходимость при сборке иерархического проекта (в среде Quartus II), представленного на уровне нескольких компонент сохранять его иерархию. Т.е. запретить оптимизацию проекта на уровне межкомпонентного взаимодействия. В ISE Xilinx такая опция есть и ее можно выставить либо через настройки синтезатора (KEEP_HIERARCHY - YES/NO/Soft), либо используя аттрибуты, через язык описания аппаратуры. А вот как это дело провернуть в Quartus II? Перекопал кучу инфы и особо ничего толкового не нашел. Как вариант есть возможность разбивать проекты на разделы (Partitions) и уже "плясать" от туда. Может кто подскажет еще варианты (настройки синтезатора и т.д.), т.к. этот вариант не совсем подходит в силу некоторых обстоятельств. Кто подскажет как можно реализовать иерархический проект в QII без оптимизации межкомопнентных связей, чтоб в Post-Mapping и Post-Fitting иерархия проекта сохранялась, т.е. так как, это выглядит на уровне RTL Viewer.
  16. Спасибо большое за линку... Частично с некоторыми наработками уже сталкивался...
  17. Чем более новее версия и соответственно ServicePack, тем меньше багов...
  18. Исходные данные: Quartus II Web Edition 11.0 SP 1 Проблема в следующем: Есть 2 проекта на VDHL. Для каждого из них создаю BSF-файлы. Создаю третий BDF-проект, в котором хочу все объединить в TOP-модуль. Подключаю два проекта VHDL, указывая в свойствах проекта (меню Libraries) пути к соответствующим готовым проектам. Вижу два проекта в BDF-редакторе. Далее, добавляю в BDF первый проект - тут все гуд. А вот при попытке добавить второй проект - пишет, что не найден BSF-файл или путь к библиотеке, т.е. добавление проекта не происходить. Захожу в настройки проекта (в меню Libraries), меняю местами добавленные проектные решения (подымаю второй проект выше первого, в списке Добавленных). Теперь этот проект добавляется, а другой нет. Кто-нибудь сталкивался с таким глюком. Если не сложно накидайте простенький проект и попробуйте провести те же манипуляции, что и я...
  19. Для простых проектов под Nios среды ModelSim Altera Starter Edition будет вполне достаточно (по крайней мере у меня проблем не было)... Просто автору темы надо не городить огород и поставить для Quartus соответствующий ModelSim ASE (скачать можно с официального сайта).
  20. Ну задача, прямо скажу, больше носит ИССЛЕДОВАТЕЛЬСКИЙ характер, но с некоторым заделом на практический выход (в том случае если получится вытянуть хоть какие-то расчетные данные, которые могли бы подтвердить результаты проделанной работы). В общем виде задачу можно представить как расчет надежностных характеристик САМОГО проекта на ПЛИС (пусть пока не самого сложного, а достаточно простого). 1. Принимая во внимание тот факт, что некоторая задача может быть решена несколькими способами, а выходной результат проектирования (при одинаковом "функционале") может быть разным (структура проекта, используемые ресурсы и т.д.), необходимо выбрать наиболее надежное проектное решение - устойчивое к SEU (во внимание берем только SRAM-based ПЛИСЫ). 2. Плюс ко всему сам проект можно сделать избыточным (в рамках кристалла) - добавить резервные каналы (тройное резервирование, дублирование или любая друга схема), а можно не весь проект, а только некоторую его часть. Так вот задача - просчитать различные структурные схемы и получить некоторые приблизительные оценки. Вот почему меня интересовала более детальная информация по занимаемым ресурсам со стороны определенных блоков проекта, выраженная в битах, точнее будет сказано "essential bits" (значащих битах). В общем хотелось бы "трезвого взгляда" со стороны. P.S. В личную почту отписать не получилось, поэтому написал сюда... не думаю что это критично.
  21. Спасибо большое, тут разобрался... Собственно изначально вот эта тема меня и интересует... Может у Вас будут какие рекомендации в этом направлении или полезные ссылки. Допусти есть проект и в процессе его эксплуатации возникают некоторые сбои (SEU) на уровне изменения значений LUTs, FFs, "служебных бит" и т.д. (в виду внешних воздействий). Проект состоит из некоторого количества блоков (пусть это будет Entities). Эти блоки между собой взаимосвязаны некоторым образом. На основании этих структурных связей строим структурную схему надежности. На сколько будет адекватным получить пусть приблизительные характеристики надежности для заданной структуры (вот тут моя попытка привязки к количеству занимаемых бит под соответствующий блок проекта). Т.е. здесь идет оценка самого проекта (его архитектуры), а не надежность всего проекта в составе микросхемы ПЛИС как таковой. P.S. Я понимаю, что на практике самый простой способ восстановления работоспособности системы - реконфигурация микросхемы ПЛИС (можно либо периодически реконфигурировать, либо вычитывать конфигурацию, проверять ее и после этого принимать решения).
  22. Это да. Тогда может немного по другому сформулирую, чтобы для себя понять (прошу сильно не ругать если я не прав :-) ). Возможна ли такая ситуация: Пусть в процессе генерации файла конфигурации произошло изменение (неважно каким способом) части конфигурационных бит, но только тех, которые инициализируют неиспользуемую область кристалла ПЛИС. Будет ли конечный проект работоспособен? Спасибо за ответ. Я думаю Ваш ответ на второй вопрос... в какой-то степени снимает первый вопрос.
  23. Народ, подскажите есть ли возможность получить более детальную информацию (или подскажите как правильно рассчитать, если это конечно возможно): 1. Сколько занимает непосредственно проект (важных бит, essential bits) от общего количества конфигурационных бит устройства. 2. Какую часть от всего проекта занимает определенный модуль (пусть будет Entity) только в БИТАХ (что-то типа Resource Utilization by Entity, но в битах). Можно ли вообще эти данные просчитать, имея на руках информацию о количестве LUTs, Registers и т.д. (т.е. та информация, которая доступна в отчетах существующих САПР).
×
×
  • Создать...