Jump to content

    

boldive

Участник
  • Content Count

    181
  • Joined

  • Last visited

Everything posted by boldive


  1. еще вопрос. Есть такая строка: assign G31 = ~QA[2] & ~QA[1] & QA[0] & QB[4] & QB[3] & QB[2] & QB[0]; где wire [3:0] QA; wire [7:0] QB; Т.е. в зависимости от "цифер" на двух шинах выдается 1 на выход. Ну а если разрядность шин будет например 16бит. Замучаешься в таком виде код писать. Можно это как-то покрасивее и покороче записать? например: assign G34 = QA['b0001] & QB['b111111]; Правда такая строчка не проходит по синтаксису. Ругается компилятор. Но суть примерно такая.
  2. Скорее всего что так и есть. Папка одна. Загляните еще раз в эту папку и изучите содержимое. Возможно что там есть еще одна папка с таким же именем. А в ней еще одна, и еще.. Это спасибо разработчикам AD. У меня уже такое было. Выгружаю из проекта свою библиотеку и потом подсоединяю ее обратно. Тут-же AD создает в родной папке еще одну папку с таким-же именем и теперь все изменения пишутся туда. Я после этого от интегрированных библиотек отказался. Вот моя библиотека .schlib а вот футпринты .pcblib. Понимаю что это не совсем правильно, зато путаницы нет.
  3. initial begin : wait_a1_logic forever begin wait (A0 == 1); #1.39ms AIN = 0; #0.6us AIN =1; end end Этот код не мониторит сигнал. Если в течении первых 1.39ms A0 изменится то вся последующая цепочка все равно сработает. Т.е. wait (A0 == 1); срабатывает как тригер запускающий последующие команды. А тут надо именно мониторить A0 когда он в "1" и если он продолжает там быть то тогда его и менять в пульс.
  4. Что-то не получается написать условие в testbench. Нужно мониторить сигнал A0. Как только A0 переходит в 1 ждать 1.39ms, если за это время A0 продолжает быть в единице то перевести сигнал AIN в 0 на 0.6us (сформировать такой пульс). Затем вернуть AIN обратно в 1. Вот такой код просто подвешивает Modelsim. always begin if (A0 == 1) begin #1390000 AIN = 0; #600 AIN =1; end end
  5. Ну так картинки сообщений в студию на обозрение. Самих интегрированных библиотек к компекте с АД идет достаточно много. Откройте любую из них и посмотрите. C:\Program Files\Altium Designer Summer 09\Library\Miscellaneous Devices.IntLib
  6. А вы поставьте нормальную винду от Microsoft а не ту "красивую"/левую/кривую сборку которую сейчас используете.
  7. За что вы его так? Человек еще толком и спрашивать не научился а его уже пешком на Марс отсылают. Смотрите тут: http://www.rose-hulman.edu/~doering/PLD_Oa...lSim_How-To.pdfПочти пошагово что и куда жать. Еще тут: http://www.asic-world.com/vhdl/index.html Саму программу за вас действительно никто не напишет, а вот разобраться с интерфейсом можно пройдясь вот по этому tutorial 5_microstep_tutorial.zip Вы это имели ввиду? Владимир Зотов - В гостях у сказки
  8. Спасибо за ссылку. Уже листаю эту книжку. Больше похоже на академический курс в университете. Согласно ей (стр.14) 41% проектируемых плат работает на частотах до 50Mhz. Наверняка для таких случаев дело можно упростить. Можно рассмотреть работу драйвера шагового двигателя или сервомотора. Порядка 100 эелементов на плате, аналоговая, цифровая и силовая части. Все есть. Можно импульсного блока питания. Тот-же уровень элементов. Наверняка еще что-то есть не столь навороченное но сочетающее в себе все эти части. А можно взглянуть на новорожденных?
  9. Возможно что пропустил. Так кто родился? Если еще никто, то есть-ли еще шанс получить
  10. После перерыва вернулся к связке ISE 11.4 и Modelsim XE III/Starter 6.4b. Right-click on My_project.v in the Sources in Project window and choose New Source. Select Verilog Test Fixture and give your file a name such as "test_My_project". Click Next, and you'll be prompted to associate the file with a module; choose My_project, click Next, then click Finish. The file will be added to your project. Что я и сделал. В итоге получил готовую шапку файла для testbench в формате файла verilog. Все остальные вспомогательные файлы создались автоматически. Добавил в этот файл генератор сигнала CLK и STP always begin #100 CLK = ~CLK; end always begin STP = ~STP; // 10us pulse #10000 STP = ~STP; // Delay between STEP Pulses. Speed. #590000; end В ISE выбрал Simulation -> Simulate Behavioral Model -> Rerun (по правому клику) Загрузился у меня Modelsim со всеми wave описанными по умолчанию как inputa and outputs. Все внутренние переменные файла проекта пока остались за бортом. По умолчанию run time идет 1000ns. Если в файле .fdo я поменяю время на скажем 1ms то оно при нажатии Rerun все равно переписывается в 1000ns Как с этим бороться? Как только я в testbench прописываю что-то вроде такого: always begin if (A0 != A1) begin #1390000 AIN = 0; #400 AIN =1; end end то Modelsim ни на что не ругается, но в процессе начальной загрузки просто подвисает со 100% загрузкой CPU. Это как понимать? В Modelsim открываю файл testbench и начинаю менять временные задержки. При вводе команды run 12ms мои изменения не проходят. Надо закрывать Modelsim и опять закружать его через Rerun в ISE. Это как-то исправляется? Извиняюсь за возможно глупые вопросы, но ответа пока не нашел. Подскажите кто знает. Спасибо.
  11. "Наносится на очищенные и обезжиренные поверхности (например, при помощи препарата DEGREASER 65). Температура применения препарата от -70 до +100 °С." По нему нельзя потом паять. Это для финального покрытия лаком если требуется. Пообщался с техподдержкой Taiyo America. Для североамериканского рынка у них для "гаражных" технологий есть PSR-4000 BN Series Solder Mask. Минимальная партия - 1 банка на 1кг. Цена в районе 50$. Перед применением надо разбавить растворителем PMA или PM. Что это за химия еще не знаю но узнаем. Наносится пульверизатором. Сушится в обычной конвенкционной печи 45-60мин при 175°F. Потом Пленку с отпечатком на верх и под ультрафиолет для получения дозы 250-500 mj. Дальше проявление (состав уточню) и опять в печку на 45-60мин на 150°C. Продукт готов. Пока ничего сложного не видно. На коленке в гараже должно сработать. 1 mill толщины этой маски держит 1200V. Хранится в холоде около года. В России их никто не представляет, но в Европе представителей хватает. Наверняка у них можно будет купить.
  12. Даже с моим флюсом нет проблемм с низковольтными цепями. Проблемма с силовыми частями. Например управление MOSFET. Токи там импульсные, скачки напряжения с высокой амплитудой. Вот эта зараза мне картину портит. На зазорах 0.25-0.38мм под SMD как ни мой после пайки что-то остается. И если там дорожка то начинается "импульсный"шум в цепи управления. Уже сколько раз плата дымила от этого. С заводскими платами нет проблемм, там лак от этого предохраняет. Вот и хочу это дело подправить. А то не сколько отладкой занимаюсь сколько отмыванием и оттиранием платы. Простой пример. 2 площадки под 1206 конденсатор и дорожка между площадками. Меряю сопротивление между площадкой и дорожкой (зазор между ними 0.38мм). Получаю что-то около 10M. Насухую быстренько подпаиваю сверху керамический конденсатор размера 1206 и меряю опять. Сопротивление уже 3M. Флюса нет вообще, все сухо (но наверняка с жала паяльника что-то да и оседает). А потом начинаю разбираться, какого хрена при всплесках напряжения до 100В у меня полная хрень творится с управлением. Откопал по гуглу компанию: Taiyo America. Они что-то похожее выпускают. PSR-4000 QD наверно то что надо. Из-за разницы во времени еще рановато им звонить, позже позвоню и узнаю что с их продуктом можно делать и как.
  13. Вот потому что завод не устраивает по экономическим соображениям и спрашиваю о возможности покрытия лаком в домашних условиях. Так как покрыть лаком плату оставив место под контактные площадки для пайки? Какой лак лучше использовать чтобы он выдерживал паяльник и фен (300°С)? Спасибо! Эта штука покрывает плату целиком оставляя контактные площадки и защищая плату от влаги и в дальнейшем применяемого флюса? Если это так то тогда это наверно то что надо. На Ebay ничего связанного с LPISM не нашел.
  14. Я после пайки все мою спиртом. Боюсь такой номер не пройдет. Да и хочется получить эстетически "красивое" изделие. Можно с баллончика нанести фоторезист, проявить все оставив фоторезист на контактных площадках. А вот что и как дальше? Тут ниже есть темя про "зеленку", но там больше советов про отправку платы на производство. Мне изготовление одного прототипа в таком случае выльется не в одну парочку уже готовых устройств. Экономически нецелесообразно. Да и по времени неэффективно. А вот покрыть каким-нибудь полиуретановым лаком то что надо. Вопрос как?
  15. У меня текстолит уже идет с нанесенным фоторезистом. Я в хозтоварах купил обычную "энергосберегающую" лампочку дневного света (Daylight). Именно дневного, она больше всего УФ выдает. 8-12мин с расстояния 15-20см выдают прекрасный результат. Как-то перепутал лампочки и воткнул обычную люминисцентную вроде coolwhite. Тоже сработало.
  16. Уже не раз сталкивался с паразитными сопротивлениями и емкостями при прохождении дорожки под SMD элементами. Плата делается в домашних условиях. Иногда даже приходится компонент слегка проподнимать над проходящей под ним дорожкой. Возможно ли дома покрыть плату лаком (если можно то каким?) и оставить при этом место под контактные площадки для последующей пайки феном (паяльником)? Если кто-то уже пробовал и получилось, поделитесь пожалуйста технологией.
  17. В приоритетах мое правило стоит под номером 1, основное правило для остальных под приоритетом 2. Других правил на толщину дорожки пока нет. В правиле width я уже поменял значения. Там стояло везде по 15mil. Т.е. значения никак не пересекались. Показывает правильное правило, но берет min значение из мной написанного правила и max значение из правила для остальных. Может после написания/изменения правила помимо нажатия кнопок Apply, OK надо еще куда-то сунутся и например откомпилировать либо еще что-то сделать?
  18. Что-то не пойму. Делаю правило на толщину дорожки: min - 20mil, preferred -150mil, max -200mil. Начинаю вести дорожку, тут-же вылазит толщина 20mil. Жму на TAB и вижу что в строке Width with user preferred value стоит 20mil. Для остальных дорожек в правилах на все проставлено 15mil. Т.е. пишет preferred а значение берет/рисует из min. Это глюк такой или где-то еще надо что-то прописать? AD Summer 09.
  19. Журнал Домашний ПК 11 2009, там сравнительная характеристика 44 процессоров Intel и AMD. ISE там в тестах конечно-же нет, но производительность в целом посмотреть можно.
  20. Как создавать классы в PCB редакторе понятно. Как создать net-class или component-class в SCH редакторе тоже вроде понятно. А где нужно/правильно создавать class pads? В PCB или SCH редакторе? Кстати, как это сделать в SCH редакторе я так и не нашел.
  21. А разве код внутри сильно отличается? Вот схемы и платы для программатора Parallel Cable 3. Там три файла оригинала и два файла со схемой и платой которые я переделал под себя. Программатор без всякий кабелей втыкается в LPT порт. Только в настройках iMPACT надо будет указать что работаете с кабелем Parallel Cable 3. Ставить 11.1 а потом проапдейтить до 11.4 PRG_Adapter_Xilinx.rar
  22. На сайте Xilinx возьмите Modelsim XE 6.4 (mxe_3_6.4b). В нем уже откомпилированные библиотеки для Xilinx. После установки она ломанется в интернет за лицензией. Заполните форму и получите лицензию. Все бесплатно. После этого у вас в проекте появится возможность Behavioral Simulation. Возможно сам проект придется создать по новому и при создании выбрать симуляцию Modelsim XE. У меня смена симулятора в проекте приводила к полному отсутствию симулятора. Доже родной потом обратно на место не вставал, приходилось по новому проект создавать. Testbench потом прямо в Modelsim и создадите. File -> New -> Source -> Do Запускается он из командной строки внизу командой "do mytestbench.do" О том что и как писать в файле testbench хорошо расписано тут. Я кристаллы прошиваю самодельным программатором с LPT порта (2шт 74HC125 и с десяток резисторов и конденсаторов). Если нужно, могу сбросить схему и рисунок печатной платы сразу под ЛУТ. Для того чтобы прошить нужно вначале откомпилировать проект без ошибок в Implement Design (правый клик и выбрать Run). Потом уже в Manage Configuration Project (iMPACT) у вас запустится iMPACT. Создадите в нем новый проект и дальше по шагам, как программа просит, доберетесь до истины. Там же и подсунете свой USB шнурок.
  23. Я бы настоятельно рекомендовал Solidworks. Для среднего уровня задач это практически стандарт дефакто. Выше по уровню стоят только Pro/ENGINEER и Catya. Практически вся автомобильная прмышленность северной америки сидит на Кате (это наверно топ-уровень), производители оборудования для производства автомобилей сидят на Solidworks. Pro/ENGINEER очень популярен у производителей потребительских товаров. AutoCAD сегодня больше для архитектуры и строительства. У меня есть DVD с большой толпой видео-уроков по Solidworks (включая версию 2008, правда на английском, но убъете двух зайцев: и язык подтянете и с ангийский интерфейском будете на ТЫ). Могу на Rapidshare выложить для желающих.
  24. Спасибо! Владимир, а Вы куда предпочитаете reference ставить? У меня микросхема вставляется в панельку. Нарисовать footprint для панельки не проблемма, а как сказать редактору что там еще и микросхема торчать будет, соответственно при проверке высоты будет учитываться и высота микросхемы. В самой схеме я для микросхемы задаю footprint панельки. Это можно как-то развести, микросхему отдельно а панельку отдельно? Можно конечно указать для панельки высоту вместе с микросхемой, но тогда сама панелька как элемент перестает быть уникальной. И еще, а примерно с какой точностью автоматы расставляют компоненты на плате для последующей пайки? нужно-ли для этого на footprint предусматривать какие-то допуски? Например есть SOIC8. У него расстояние меджу рядами контактов 115mil. У самой микросхемы по минимальному допуску 196mil. То есть контактные площадки уходят вглубь на 27mil. При этом ничего кроме припоя на этом участке нет. Вот и хочется его удалить/сократить. Но тогда нужно-ли предусматримать еще и допуск на автомат установки?