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

iiv

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

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


  1. Класс, спасибо! Это мне совсем по душе! Скажите, пожалуйста, не до конца понял чем keep от preserve отличается, и что правильнее в случае самопально организованного конвейера мне надо использовать? Спасибо!
  2. Спасибо, это тоже идейно, так тоже попробую! Согласен! Как-то не задумывался об этом.
  3. Спасибо!!! А ларчик просто открывался... Пошел читать как это правильно сделать.
  4. Всем привет, есть одна незадачка, которую мы с Вами вместе уже ни один раз обсуждали на форуме и мне многие из Вас мне помогли за что я всем Вам сильно благодарен. Сейчас имеется один затык, который не могу пройти. Алгоритмически мне надо выполнить такую операцию. Пусть (a_{t,0}, a_{t_1}, a{t_2}) - три 14 битных знаковых числа, которые поступают на вход в момент времени t, а я хочу считать матрицу для линейных предсказаний со всевозможными комбинациями по формуле s_{i,j,k} = \sum_{l=0,...,t} a_{l,i} a_{l-k,j}, k=0,...,42, i,j=0,1,2 и, естественно, на плиске :) Что получается, я имею на входе модуля по клоку 3 числа reg signed [31:0] In[0:2]; загоняю их в сдвиговый массив reg signed [13:0] Data[0:2][0:43]; always@(posedge Clk) for(int i=0; i<3; i++) begin Data[0]<=In; for(int k=0; k<43; k++) Data[k+1]<=Data[k]; end а потом для всех возможных пар вычисляю мегафункцией произведение Data[k]*Data[j][0] попутно конечно учитывая то, что стратикс может эффективно только пару умножений и следом идущее сложение вычислять и много остальных ньюансов как то регистровасть умножения и результата... Если я вычисляю такую корреляцию для маленького числа сдвигов, то есть умножений, мой фмакс получается близким к аппаратному 490МГц и слаков нет даже если я клок поставлю 475МГц. Мне хочется иметь клок 400МГц для большого числа сдвигов, а именно 42, то есть задействовать 378 умножителей. Но, в этом случае, у меня вылезают слаки от Data[j][0] до мегафункции. И действительно, Data[j][0] должно продублироваться аж 42*3=126 раз!!! Естественно, первым делом я засунул между Data[j][0] и мегафункией конвейер регистров, один, второй, третий... Квартус, их всех оптимизирует, видя, что они все одни и те же, но продолжает ругаться слаками между последним регистром конвейера до мегафункции... Ах да, все возможные оптимизации по времени включены на полную. Мои потуги с логик-локом пока не увенчались успехом - на кошках - все хорошо, а вот целиком все - совсем плохо, поэтому я принимаю, как данность, время сборки всего проекта в 45 минут... Можно ли заставить Квартус явно продублировать содержимое конвейера, возможно после этого слаки уйдут, или тут надо применить какую-то еще более хитрую стратегию, пожалуйста, посоветуйте! Спасибо ИИВ
  5. а кликнуть на мою ссылку на спаркфан, как я рекомендовал, а затем почитать там на форуме, вера не позволяет?
  6. Класс, спасибо, про UDP без ниоса там спросил, вдруг кто посоветует!
  7. Камень Tegra называется. Недавно аннонсировали вторую серию, кажется, стали уже продавать, этот камень как раз во встраиваемые устройства ставится. Конечно 5-ый двойной радеон эту тегру как тузик грелку рвет, но, Радеон - это печка, жрет 250Ватт, требует всякие шины быстрые, а тегра как-то (точно не знаю) но проще в ембеддед вставляется. На Тегре сейчас куча чумовых студентов, которые на сайте Нвидии туссуются, компьютер графикс лобают, и, говорят, что получается, заходите к ним на форум, там быстро научат! CUDA - удобно и просто, слегка глючно, но, ИМХО, я бы сразу стал OpenCL учить - он, все-таки, стандарт на всех ГПУшных платформах. Считаю, что имею право такое говорить, так как имею опыт программирования на CUDA с 2008 года, и уже как год на OpenCL пишу.
  8. ПолуОФФ: Скажите, пожалуйста, а UDP по 10 и 1000МБитным протоколам одинаковое? Вот то, что я для 10МБит использовал, как по ссылке http://www.fpga4fun.com/10BASE-T0.html я для Гигабитного UDP смогу использовать?
  9. Если габариты и потребленире позволяют, и данные в память проца сможете быстро класть, то с ГПУ обращайтесь, я много на них сабак съел, советом помогу. Сугубо ИМХО, у меня сейчас есть одна простая с точки зрения математики задача. На ГПУ я этот алгоритм за неделю до пол хардверного пика запрограммировал. На стратиксе уже почти год бодаюсь, уже и друзья помогают... Я конечно понимаю, 20 лет параллельного программирования и 5 лет программирования на ГПУ позволяют мне программировать на ГПУ и быстрее, и эффективнее, но не во столько же раз :)
  10. Простите, что криво выразился. Хочется посылать с максимально большой скоростью, близкой к 1ГБиту UDP пакеты фиксированной длины (например 8-64К) с плиски в сетку на фиксированный мак номер, а с той стороны будет стоять один и тот же линукс компьютер, слушающий сеть по tcpdump. Я как-то однажды смог 10МБит сам запрограммировать без ниоса. Здесь совета как-то тоже спрашивал, все одобрили. Вот медленно в этом направлении двигаюсь, мануалы читаю, но еще гигабитную сетку не смог на раз освоить. Если я бы смог это сделать, мне бы руководство эту борду (ДЕ2) купило бы, чтобы вместо криво заточенного моего SPI по Ethernet 1ГБ данные таскать.
  11. Зарегистрируйтесь у www.terasic.com, Вам дадут доступ на их ФТП, скачайте полную документацию по ДЕ2 борде, найдите там даташит и радуйтесь! А вот если кто сможет поделиться вериложным модулем по гигабитному посылу данных по этому интерфейсу, я буду Вам очень благодарен.
  12. CE+RoHS

    Из опыта в конторе, где я иногда подрабатываю. RoHS в свободной форме подписывает директор на основании того, что при производстве на все компоненты имелись такие-же сертификаты. СЕ в тех приборах, что я видел, сертифицировали у себя на фирме таким образом: в самом приборе любые напряжения конструкционно меньше 50В, поэтому можно самому СЕ налепить. Сам прибор питается от 12В. А блок питания 220В в 12В покупается у стороннего производителя с уже имеющимся сертификатом. Если напряжение выше 1500В, то СЕ вообще нельзя поставить. Если в Вашем аппарате нельзя выделить блок меньше 50В, а остальное - стандартный блок питания, тогда надо обращаться за сертификацией в проверенные конторы. Надеюсь, что кто-то из форумчан с этим Вам подсобит.
  13. Привет! А я думаю, человек не про даташиты спрашивает, а о тех заморочках как у меня - типа при близком к 100% заполнении у стратикса, на котором я работаю из заявленных 490МГц можно получить только где-то 330МГц, иначе - затыки в роутинге. ЗЫ: с Хилыми не работал. По даташитам оба кора 600МГц, самый жирный Хилый в 2 раза мощнее по умножителям самой жирной Альтеры. А вот на сколько хорошо достигается на конкретных алгоритмах заявленный пик производительности - ХЗ. ИМХО: если вдруг у Вас, топикстартер, есть возможность завести Ваш видеопоток в графическую карту типа Теслы или хорошего Радеона - забивайте на плиску, на малоранговых аппроксимациях, а топикстартеру они нужны, плиска не конкурент!
  14. Кстати, когда я именно на плиске захотел сделать это же, то получил вот такой ответ: http://electronix.ru/forum/index.php?showtopic=89174 ЗЫ: желание осталось, но вот не факт, что буду этим заниматься. ЗЗЫ: Надо правильно все в целочисленной арифметике расписать, тогда и дохлого контроллера типа атмеги328 хватит, а если в лоб, то Вам двойная точность нужна будет, а это на 8МГц в эмуляторном режиме - около 500 операций в секунду. Но самый прикол, Вам и этого хватит, если для человека, а не для авиамодельки.
  15. А оно нужно - этот фильтр на плиске делать? У меня 328 атмега на ура тянет, читайте на форумах по ключевым словам RAZOR 9DOF на http://www.sparkfun.com/products/9623 там и сорсы есть, и теория. Сугубо из личного опыта. ИИВ
  16. лучше корпус потолще, но из металлических стружек вперемешку с мятой фольгой, во-первых, легче будет, во-вторых, экранирует лучше, проверял, правда не от атомной бомбы, но тоже от хорошего электромагнитного всплеска.
  17. нет, почему-же, то в Уфе, то в Салавате, то в Магнитке, то в Белорецке, то в Озерске бываю, поэтому и деревня - одна из этих. покорнейше прошу Вас простить мою литературную неподготовленность - у меня даже в школе по чтению и литературе всегда четыре было, поэтому у Ломоносова я только закон сохранения знаю. Больше к Михаилу Васильевичу я как-то почти и не относился, разве что универ, его именем названый, в свое время окончил. Ну а если что-то о себе не написал, значит не считаю нужным об этом упоминать при этом обсуждении.
  18. Согласен, что в Мап Вьювере поинтереснее :) и очень благодарен Вам за возможность поучиться! Мысли такие, рассмотрим вначале 400->200MHz. Для этого случая я вижу только две альтернативы, одна, как я написал always @(posedge Clk400) begin TempIn400<=In400; if(Clk200) Out200<={TempIn400, In400}; end и вот такая always @(posedge Clk400) TempIn400<=In400; always @(posedge Clk200) Out200<={TempIn400, In400}; Последний вариант меня смущает тем, что при выполнении присваивания в Out200 исходные аргументы могут измениться. В то же время, этот вариант компилится без слаков. Что я здесь не так понимаю? Теперь случай, когда на входе 200, а на выходе 400МГц. Понятно, что можно написать что-то типа assign TempOut400=In200[Clk200]; always @(posedge Clk400) Out400<=TempOut400; но я не могу логически почуствовать разницы между тем, что я написал старте топика и этим ассигном. Буду очень благодарен тому, кто тыкнет меня носом в мои заблуждения. ЗЫ Денис, опять ты мне Выкаешь, мне стыдно, а ты Вы да Вы.
  19. Да, видел я что в RTL получается, и понятно, что не должно оно на больших скоростях работать :( Только вот у меня как-раз в том-то и вопрос, как такие конструкции ПРАВИЛЬНО реализуются? Вдруг кто сжалится и посоветует, буду очень благодарен! Уже весь вечер голову ломаю.
  20. Всем привет, запутался, не понимаю как правильно реализовать передачу данных с одного клока на другой. Пусть у меня есть два клока, wire Clk400, Clk200; my_pll my_pll_module(Clk50, Clk400, Clk200); которые я получаю с одного PLL и эти клоки имеют частоты 400 и 200МГц соответственно. Мне часто надо переводить два данных с клока 200 в одно данное в клоке 400 и наоборот. Можно конечно это делать и с помощью ФИФО, но вроде тут нечего конвейеризовать, поэтому хочется сделать например так: reg In400; reg Out200[0:1]; reg In200[0:1]; reg Out400; reg TempOut400, TempIn400; always @(posedge Clk400) begin // переводим из 400 в 200 TempIn400<=In400; if(Clk200) Out200<={TempIn400, In400}; // переводим из 200 в 400 if(Clk200) {Out400, TempOut400}<=In200; else Out400<=TempOut400; end но у меня всегда при компиляции проекта возникают слаки от Clk200 к Out200 и Out400. Посоветуйте, пожалуйста, кто знает, как с этим можно побороться! Спасибо ИИВ
  21. Улыбнуло! Уважаемый Метан, я уже уговорился беседовать с Вами по этому и остальным, Вас волнующим, вопросам в курилке, поэтому продолжу флудить в этом топике только после того, как модераторы переместят его в курилку!
  22. я, к сожалению, не на столько многостаночник :) думаю, что в России, да и во всех остальных странах бывшего Советского Союза, кризис в строительстве на порядки меньше, кризиса в электронике. Сугубо ИМХО. Переубедите, пожалуйста, фактами, если я не прав! Не, в 40 лет я буду директором, или замом, большой, научной, транснациональной компании, которая будет выпускать кучу всего умного и в электронике, и в софтвере, и в научных разработках. А за оставшиеся до моего сороколетия три года мне надо многому научиться :) PS: Уважаемые Модераторы, а можно Вас любезно попросить двинуть этот топик в курилку? А то как-то получается и профиль у меня не совсем по электронике, да и обсуждения ведутся тоже совсем не об этом. Спасибо!
  23. Я с Вами отчасти согласен - потому, что действительно сразу много денег будет, но частично не согласен, потому, что, например, у меня сейчас идет очень интересный проект по плиске, (des00 думаю, может подтвердить) и, в этом случае, проект надо будет закрыть. Мечта (думаю почти неосуществимая) интересные проекты и хорошие деньги. А стройку я больше для проветривания мозгов, а не для заработка рассматриваю - реально помогает.
  24. Вы правы, только с моей комплекцией - балетом как-то криво наверное будет. Пойду лучше на стройку..., может плитку класть, может кирпичи (в выходные кстати на стройке работал). Иногда помогает, особенно когда долго мозгами работаешь. где 35, там и 37 :)
  25. Благодарю Вас, Александр, а также всех на форуме за теплые слова! Кфмн диссер я защитил в 1999 году, на постдока не возьмут. Ну и какой нормальный проф возьмет постдоком человека, с несколькими джаксами, и еще кучей других, более и менее путевых статей, я бы на его месте не взял был, такой аппликант слишком умен и это не удобно в научном мире :( Вот поэтому я хотел бы, по возможности, задвинуть свой научный опыт временно в сторонку, и таки помахать лопатой - то есть разобраться с плисками, контроллерами, и тд., а чтобы работодатель мой опыт расматривал бы только с точки зрения того, что если я что-то захочу, то я этого добьюсь.
×
×
  • Создать...