|
Прием на работу, Нетривиальные вопросы на собеседовании |
|
|
|
Jun 10 2011, 12:18
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-06-11
Пользователь №: 65 610

|
Добрый день!
Долго думал куда поместить тему. Думаю здесь ей место.
Интересно услышать, какие нетривиальные вопросы задают на собеседованиях при приеме на работу в области разработки электроники. Для старта: есть 8-ми выводной микроконтроллер (2 ноги питание, 2 -кварц). Как организовать на оставшихся 4 выводах работу 16-ти кнопок и одного светодиода?
|
|
|
|
17 страниц
1 2 3 > »
|
 |
Ответов
(1 - 99)
|
Jun 10 2011, 18:50
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-06-11
Пользователь №: 65 610

|
Цитата(ArtemDement @ Jun 10 2011, 20:19)  Дополнительные микросхемы логики можно использовать ? Можно. Хотелось бы слышать не только ответы, но и вопросы
|
|
|
|
|
Jun 10 2011, 19:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252

|
Цитата(вредитель @ Jun 10 2011, 22:50)  Хотелось бы слышать не только ответы, но и вопросы  Аналоговый перемножитель, Чем померить индуктивность рассеяния, влияет ли немагнитный зазор на индуктивность рассеяния как помогает устройство по экономии мощности их рекламы экономить мощность Чем померить траффик по UTP кабелю.. да много чего можно каверзного вспомнить
|
|
|
|
|
Jun 11 2011, 21:06
|

Местный
  
Группа: Свой
Сообщений: 270
Регистрация: 18-08-09
Из: Москва
Пользователь №: 51 941

|
А не проще поставить сдвиговый регистр? На одну ногу микроконтроллера принимать последовательный сигнал, а с другой клок давать. Для надежности можно еще CS воткнуть, тогда получится что-то типа SPI. В таком случае как раз останется 1 нога для светодиода, о котором почему-то забыли  Кстати, если есть условие, что одновременно может быть нажата только одна кнопка, можно подключить их матричным способом, правда тогда получится не 16, а 15, но в этом случае можно обойтись без дополнительной логики.
|
|
|
|
|
Jun 12 2011, 04:01
|
Местный
  
Группа: Свой
Сообщений: 474
Регистрация: 20-01-09
Из: НН
Пользователь №: 43 639

|
Цитата(yakub_EZ @ Jun 11 2011, 22:46)  Я б вас на работу за такое не взял Если предполагается срабатывание только одной кнопки, то можно их посадить на линейку одинаковых последовательно включенных резисторов, и с помошью 4-х старших данных АЦП можно определить кнопку. Или реализовать свой АЦП по времени задержки разряда RC цепи. В общем все то, что предложил GefarDНасчет "на работу не взял" сказано круто... Можно просто пожелать удачи такому работодателю. Удачи.
--------------------
пользователь отключен
|
|
|
|
|
Jun 12 2011, 14:51
|

Местный
  
Группа: Свой
Сообщений: 446
Регистрация: 19-09-09
Из: Санкт-Петербург
Пользователь №: 52 460

|
Цитата(yakub_EZ @ Jun 11 2011, 23:46)  Я б вас на работу за такое не взял  Вы не поняли идею, за это я бы к вам и не пошел. Цитата(yakub_EZ @ Jun 11 2011, 23:46)  Если предполагается срабатывание только одной кнопки, то можно их посадить на линейку одинаковых последовательно включенных резисторов, и с помошью 4-х старших данных АЦП можно определить кнопку. Предполагается последовательный опрос состояния кнопок с довольно высокой частотой опроса, что позволяет получить информацию о одновременном нажатии. Если нажимать будет человек пальцем. Такой метод применяется в джойстиках Dendy, так что все ок.  Цитата(Марик @ Jun 12 2011, 01:06)  Кстати, если есть условие, что одновременно может быть нажата только одна кнопка, можно подключить их матричным способом, правда тогда получится не 16, а 15, но в этом случае можно обойтись без дополнительной логики. Как сделать 15 кнопок матричным методом на 3 выводах, если учесть, что еще один нужен для управления светодиодом ? Что-то не могу себе это представить.
|
|
|
|
|
Jun 15 2011, 09:27
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Марик @ Jun 14 2011, 00:39)  Ну да, простите. Совсем забыл. Логику хотел показать просто. В реальной схеме конечно нужно диоды включать, чтобы не пожечь выводы микроконтроллера. Да нет, совсем по другой причине. Иначе все линии просто закорочены вместе и нажатие на любую кнопку вызовет срабатывание всех 4-х линий. ## Сколько байт в ёбибайте? (это типа каверзный вопрос - потенциальным работодателям на заметку  )
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jun 15 2011, 10:00
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-06-11
Пользователь №: 65 610

|
Цитата(Mikle Klinkovsky @ Jun 15 2011, 13:02)  Прикинуть стоимость деталек, работу по их монтажу, стоимость ПП и заменить микроконтроллер на более подходящий...  Резисторы стоят копейки, их установка тоже, плата под них не в счет, так как под бОльший МК уйдет почти это же место. Предложите МК на 8 и на 24 ноги сравнимый по стоимости.
|
|
|
|
|
Jun 15 2011, 10:48
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(вредитель @ Jun 15 2011, 14:00)  Резисторы стоят копейки, их установка тоже, плата под них не в счет, так как под бОльший МК уйдет почти это же место. Предложите МК на 8 и на 24 ноги сравнимый по стоимости. Первое что нашлось в большом корпусе и в наличии: http://catalog.compel.ru/mcu/info/AT89S52-24AU%20%28ATMEL%29Думаю если поискать, то можно и не Атмеловское чего подобрать, Тот же MSP430, какой-нить, заодно и жрать будет поменьше... А когда проводники ходят свободно не перекрещиваясь, плату вообще можно сделать одностроронней...
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 15 2011, 11:09
|
Группа: Новичок
Сообщений: 4
Регистрация: 10-06-11
Пользователь №: 65 610

|
Цитата(MrYuran @ Jun 15 2011, 14:06)  Ой ли? Как бы не оказалась пайка десятка резисторов дороже приличного контроллера... В условиях мелкой серии и бережливого производство понятно будет не копейки) Цитата(Mikle Klinkovsky @ Jun 15 2011, 14:48)  Первое что нашлось в большом корпусе и в наличии: http://catalog.compel.ru/mcu/info/AT89S52-24AU%20%28ATMEL%29Думаю если поискать, то можно и не Атмеловское чего подобрать, Тот же MSP430, какой-нить, заодно и жрать будет поменьше... А когда проводники ходят свободно не перекрещиваясь, плату вообще можно сделать одностроронней... Спасиб
|
|
|
|
|
Jun 16 2011, 08:50
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Цитата(vitan @ Jun 16 2011, 10:03)  Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Ниасилил...  Популярный вопросик...
|
|
|
|
|
Jun 16 2011, 09:08
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Цитата(vitan @ Jun 16 2011, 11:59)  Да? Давно не занимался вплотную плисами... А ответ же какой? Ответов много, т.к. задача сформулирована не точно, поэтому правильный ответ не знает только автор вопроса...
|
|
|
|
|
Jun 16 2011, 09:15
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(nikolascha @ Jun 16 2011, 13:08)  Ответов много, т.к. задача сформулирована не точно, поэтому правильный ответ не знает только автор вопроса... Вот и у меня такое же впечатление сложилось. Я им сделал проектик, в котором был клок, но не со стороны приемной линии (где эти два сигнала), а со стороны десериализатора. Ну разве будет кто-то совсем без клока-то работать? Не понравилось... Аж зацепило, блин. Ночами не сплю теперь, перепады мерещатся...  Или там суть, что перепады могут быть только одного направления, например, из 0 в 1? Я-то делал для двух сразу...
|
|
|
|
|
Jun 16 2011, 11:42
|

Профессионал
    
Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215

|
Цитата(vitan @ Jun 16 2011, 10:03)  Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Ниасилил...  Может быть выделить переходы (ну что-то типа прерывания по фронту спадающему/нарастающему должно же быть в этих плисах), в моменты переходов формировать короткие импульсы, которые подавать на входы R и S асинхронного RS триггера. Я слышал что в плисах есть такое дело. Допустим коротким импульсом на S входе перебрасываем триггер в единичное состояние, и храним. Коротким импульсом на R входе перебрасываем в нулевое состояние и храним. Храним - это когда на обоих входах лог. 0 например. На выходе будет сигнал у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Сформированные перепады и тип логики триггера, должны быть так выбраны, чтоб не допускать неопределенного состояния триггера.
--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
|
|
|
|
|
Jun 16 2011, 12:50
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Буратино @ Jun 16 2011, 15:42)  Сформированные перепады и тип логики триггера, должны быть так выбраны, чтоб не допускать неопределенного состояния триггера. Ага, в этом есть некоторые трудности.  Точнее, трудности не в том, чтобы не подавать одновременно на входы S и R (это можно искусственно заблокировать дополнительной логикой), а в том, откуда брать эти самые "короткие" импульсы. Вот пришел перепад 0-1, вот подали его на S, а сбросить само S обратно как? Это же надо успеть сделать до прихода следующего перепада. Хотя... Если, допустим, его не сбрасывать, а держать до появления события во второй линии... И сбрасывать только после этого... И дополнительной логикой блокировать состояние, когда R и S оба равны 1... Но тогда получается, что можно пропустить первый бит в линии (если исходное состояние обеих линий равно 1, то логика будет блокировать работу триггера). В общем, ниасилить без клоков че-то...  Да и надо ли?
|
|
|
|
|
Jun 16 2011, 13:05
|

Профессионал
    
Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215

|
Цитата(vitan @ Jun 16 2011, 15:50)  Ага, в этом есть некоторые трудности.  Точнее, трудности не в том, чтобы не подавать одновременно на входы S и R (это можно искусственно заблокировать дополнительной логикой), а в том, откуда брать эти самые "короткие" импульсы. Вот пришел перепад 0-1, вот подали его на S, а сбросить само S обратно как? Это же надо успеть сделать до прихода следующего перепада. Хотя... Если, допустим, его не сбрасывать, а держать до появления события во второй линии... И сбрасывать только после этого... И дополнительной логикой блокировать состояние, когда R и S оба равны 1... Но тогда получается, что можно пропустить первый бит в линии (если исходное состояние обеих линий равно 1, то логика будет блокировать работу триггера). В общем, ниасилить без клоков че-то...  Да и надо ли?  Ну я с ПЛИС к сож. не имел дела, но просто на логике можно построить такое дело.
--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
|
|
|
|
|
Jun 16 2011, 13:23
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Буратино @ Jun 16 2011, 17:15)  Если в целом вариант принять за основу, то можно и не на 10ти инверторах. Как вариант можно задействовать одновибратор с запуском по фронту. Но это усложняет решение, мне кажется можно и нужно проще. Ха, так ведь этот одновибратор должен как-то мерять время, не так ли? Припоминаю, что, например, в 555 используются конденсаторы и компараторы. Но в ПЛИС конденсатор не вставишь, это правда. В общем, я хочу сказать, что предлагаемое Вами решение основано на измерении интервала времени, меньшего, чем интервал между двумя перепадами на одной линии. Я поступил точно так же, только вместо вибратора использовал внешний клок. По сути это то же самое, согласитесь. Получилось ровно 6 триггеров (это с учетов, что на двух реализован еще и передатчик).
|
|
|
|
|
Jun 16 2011, 14:22
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Mikle Klinkovsky @ Jun 16 2011, 18:05)  Да XOR (элемент считает чётность). Это, в смысле, три XOR-а? Четыре входа - как-то многовато... Вообще, идея понятна, и о подобном я тоже думал, но не стал пытаться реализовать, т.к. уверен, что будет глючить. Как бы телега впереди лошади. Я тоже использовал восстановление клока в линии по XOR (внизу), но мне не удалось обойтись без формирования этих пресловутых коротких импульсов. А для этого понадобился внешний сигнал, для простоты я его сделал периодическим, т.е. клок. А вариант без ошибки - это как? Зачем нам два выхода?
|
|
|
|
|
Jun 16 2011, 15:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 16 2011, 18:22)  А вариант без ошибки - это как? Биты не теряются. Цитата Зачем нам два выхода? Была цель сделать приемник\десериализатор. На эти выходы вешаются цепочки D-тригеров на нужную разрядность и тактируются от того же клока, что и два выходных на рисунке. Выходные данные снимаются через один с верхней цепочки тригеров и с нижней.
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 08:20
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 11:29)  Распишите Ваш четырехвходовой xor (я так не понимаю), тоже отмоделирую.
out <= in_1 xor in_2 xor in_3 xor in_4; PS rxd1 и rxd0 не могут изменяться одновременно (на графике с 700нс и дальше) Цитата(vitan @ Jun 17 2011, 11:29) 
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 09:14
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Буратино @ Jun 17 2011, 12:30)  Сопротивление бесполезно, сдавайтесь. Русиш партизан! Немецкий командофания пофторять услофия! ПЛИС!  Это все понятно, что на логике будет работать и можно импульсики создать. Я же эту же схему на ПЛИС привел. Там это не работает. Теперь версия от Mikle Klinkovsky  В позиции курсора должен быть код 24h, там, где F8 должно быть 88. Изменение порядка бит в группе не помогает.  Цитата PS rxd1 и rxd0 не могут изменяться одновременно (на графике с 700нс и дальше) Это почему? В условии задачи этого нет.  Это, кстати, был один из факторов, которые меня вынудили использовать клок. При этом мой проект нечувствителен к таким вещам. В реальности, согласитесь, это легко может происходить. При этом надо, чтобы ничего не рушилось.
|
|
|
|
|
Jun 17 2011, 09:54
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Mikle Klinkovsky @ Jun 17 2011, 13:44)  Что принимается в виде перепадов на обоих линиях тоже нет в условии задачи... Как это? Сказано: в виде перепадов. Да, можно воспринять, что только в виде положительных перепадов, но на это есть ответ, что отрицательные перепады - тоже перепады, против чего не поспоришь. Цитата(Mikle Klinkovsky @ Jun 17 2011, 13:44)  PS схемка: Уверены? Два последних триггера тактируются вообще одним клоком, без инверсии. Кроме того, посмотрите на результаты моделирования первой схемы. Там сигналы odd_bit и even_bit вообще начинают шевелиться только после двух перепадов на приемных концах. Вряд ли эти триггеры ускорят это шевеление... Попробуйте сами.
|
|
|
|
|
Jun 17 2011, 10:24
|

.
     
Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757

|
Цитата(vitan @ Jun 17 2011, 13:14)  Цитата PS rxd1 и rxd0 не могут изменяться одновременно (на графике с 700нс и дальше) Это почему? В условии задачи этого нет.  Это, кстати, был один из факторов, которые меня вынудили использовать клок. При этом мой проект нечувствителен к таким вещам. В реальности, согласитесь, это легко может происходить. При этом надо, чтобы ничего не рушилось. если перепады совпадают во времени - это тупик для любой схемы , даже с внешним тактированием, потому как неизвестно что пришло 0 или 1-ца. Возможно что исходное условие содержало еще смысл тот, что из входных потоков по двум шинам с помощью XOR восстанавливается чистый клок данных. Это естественно для жизненно-реального случая , когда некий последовательный поток генерируется тактируемым монохромным клоком но раздается на 2 шины в тестовой задачке.
|
|
|
|
|
Jun 17 2011, 10:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 13:54)  Как это? Цитата(Mikle Klinkovsky @ Jun 17 2011, 13:44)  Что принимается в виде перепадов на обоих линиях тоже нет в условии задачи... Цитата Уверены? Два последних триггера тактируются вообще одним клоком, без инверсии. ...Там сигналы odd_bit и even_bit вообще начинают шевелиться только после двух перепадов на приемных концах. Вряд ли эти триггеры ускорят это шевеление... Попробуйте сами. Да, это один выходной регистр... Шевелится начнут в зависимости от того по какой линии пришел перепад и какое было предыдующее состояние. Нахаляву пробовать самим лениво.
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 10:41
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(тау @ Jun 17 2011, 14:24)  если перепады совпадают во времени - это тупик для любой схемы , даже с внешним тактированием, потому как неизвестно что пришло 0 или 1-ца. Ну и нет никакого тупика. Ничего не пришло. И все.  А вот если пришло на следующем тактовом интервале, то - да, пришло что-то. Цитата(тау @ Jun 17 2011, 14:24)  Возможно что исходное условие содержало еще смысл тот, что из входных потоков по двум шинам с помощью XOR восстанавливается чистый клок данных. Это естественно для жизненно-реального случая , когда некий последовательный поток генерируется тактируемым монохромным клоком но раздается на 2 шины в тестовой задачке. Ну да, все верно, во всех приведенных примерах это есть, и в моем решении тоже. Только вот дальше-то что? Как, имея этот клок, данные выцепить? Он всегда будет получен позже, чем данные, ибо он восстановлен, а это - задержка. Данные (сами перепады) всегда будут раньше приходить. Вот это - тупик так тупик. Я мог бы использовать, например, PLL, для умножения этого восстановленного клока, но нет, частота плавает по условию задачи.
|
|
|
|
|
Jun 17 2011, 10:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 14:41)  тактовом интервале ? Цитата(vitan @ Jun 16 2011, 11:03)  ...Клоков нет, частота не известна и плавает....
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 10:45
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Mikle Klinkovsky @ Jun 17 2011, 14:40)  Что принимается в виде перепадов на обоих линиях тоже нет в условии задачи... Так ведь не сказано, что в этом случае что-то принимается. Цитата(Mikle Klinkovsky @ Jun 17 2011, 14:40)  Нахаляву пробовать самим лениво В смысле? Я-то попробовал, никакого улучшения, как и прогнозировалось. Цитата ...Клоков нет, частота не известна и плавает.... Ну, я думаю, все поняли, имелась ввиду частота поступления битов в линии, а не частота отсутствующего клока.
|
|
|
|
|
Jun 17 2011, 11:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 14:45)  Я-то попробовал, никакого улучшения, как и прогнозировалось. Всё сделано правильно?
ModelSim__test_tb_sim_.pdf ( 18.7 килобайт )
Кол-во скачиваний: 375
test.vhd ( 4.28 килобайт )
Кол-во скачиваний: 150
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 13:40
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
для программеров еще один тупой вопрос задают- как обменять в переменных два значения не вводя третьего. правда когда им говоришь что это не возможно-пытаются спорить и переубедить
|
|
|
|
|
Jun 17 2011, 13:47
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(inventor @ Jun 17 2011, 17:40)  для программеров еще один тупой вопрос задают- как обменять в переменных два значения не вводя третьего. правда когда им говоришь что это не возможно-пытаются спорить и переубедить  О, да! Это я сам проходил. Только мне давали в пользование регистры все-таки. Тест прошел, но на работу не пошел. И не жалею.
|
|
|
|
|
Jun 17 2011, 14:26
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Mikle Klinkovsky @ Jun 17 2011, 18:03)  Хороший вопрос, я как минимум два решения знаю.  Но я бы не стал спорить и переубеждать... Это опять там что-то про XOR? Это не Вы их выдумываете?  )) А как же мой вопрос про пакеты? Еще помню давно был тест из вопросов так двадцати. Давалось 30 минут. В одном из вопросов было написать на VHDL то ли мультиплексор, то ли дешифратор на 4 или 8 выводов, состоящий только из элементов И\ИЛИ. Я пока начал выписывать entity multiplexer is бла-бла-бла, потратил минут 10 (ручку давно в руках не держал). Потом начал думать. С утра (назначили пораньше, чтобы успеть на основную работу) думалось плохо. Пришла девушка, забрала тест. Технический специалист так и не соизволил выйти. Ну и т.п. Вот, скажите, зачем надо над людьми издеваться? Что, нету другого способа понять, с кем имеешь дело? Все настолько заняты, что даже поговорить с человеком не могут, пихают тесты какие-то? Сколько раз ни ходил в такие конторы, никогда это хорошим не оканчивалось.
|
|
|
|
|
Jun 17 2011, 15:07
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(Mikle Klinkovsky @ Jun 17 2011, 18:03)  Хороший вопрос, я как минимум два решения знаю.  Но я бы не стал спорить и переубеждать... не знаю какое второе-обычно с xor ом или через сложение-вычитание они мне задали вопрос, сделать замену ЛЮБЫХ переменных таким образом, я сказал, что такого решения нету-все существующие варианты неявно используют третью переменную (даже через xor)-они мне написали через xor-ну я им предложим обменять 2.5 и 3.5, потом начались разговоры, что только для целых чисел, хотя изначально ставился вопрос о любых. еще тупые вопросы-чем отличается мутекс от семафора. вобщем не люблю когда у работодателя много понтов- начинаю прикалывать их,в результате на работу не берут.
|
|
|
|
|
Jun 17 2011, 15:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 18:26)  Это не Вы их выдумываете?  )) А как же мой вопрос про пакеты? Вот, скажите, зачем надо над людьми издеваться? Что, нету другого способа понять, с кем имеешь дело? Нет. Кадровая синхронизация - отдельная решаемая задача. Когда неспешным подбором потенциальных кандидатов занимается отдел кадров - нет. Цитата(inventor @ Jun 17 2011, 19:07)  все существующие варианты неявно используют третью переменную Алгоритм и его реализация не одно и тоже.
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 17 2011, 16:59
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(inventor @ Jun 17 2011, 19:07)  еще тупые вопросы-чем отличается мутекс от семафора. вобщем не люблю когда у работодателя много понтов- начинаю прикалывать их,в результате на работу не берут. Ну точно прямо мой случай.  Только у меня почему-то обычно не получается дойти до стадии приколов, сразу резко падает настроение, что потратил время на поездку, отпрашивался и т.п. Цитата(Mikle Klinkovsky @ Jun 17 2011, 19:40)  Кадровая синхронизация - отдельная решаемая задача. Ах вон оно что? Типа это и делать не надо? Я-то думал, что надо передать и принять в готовом виде. Ну, если это типа считается нормально (такие задачки давать), то долго искать будут. Кстати, объява висит больше года, специально не звонил, т.к. написано про тест, но тут девушка из агентства позвонила, уговорила... Все, больше никаких тестов!  Цитата(Mikle Klinkovsky @ Jun 17 2011, 19:40)  Когда неспешным подбором потенциальных кандидатов занимается отдел кадров - нет. Ммм... А причем здесь отдел кадров? Это же не они тесты придумывают? Да и проверяют их тоже не они. Я сам много раз проводил собеседования с кандидатами (как принимающий). Но я почему-то никогда не задавал дурацких вопросов. По-моему достаточно дать человеку самому рассказать о себе и почти все станет ясно. Ну немного там по своей теме поспрашивать. А эта задача, ну вот что она призвана проверить?
|
|
|
|
|
Jun 17 2011, 19:34
|
Профессионал
    
Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445

|
Цитата(vitan @ Jun 17 2011, 20:59)  Ммм... А причем здесь отдел кадров? Это же не они тесты придумывают? Да и проверяют их тоже не они. Ну пусть будет кадровое агенство...  Цитата(vitan @ Jun 17 2011, 20:59)  Я сам много раз проводил собеседования с кандидатами (как принимающий). Но я почему-то никогда не задавал дурацких вопросов. По-моему достаточно дать человеку самому рассказать о себе и почти все станет ясно. Ну пришлют вам из агенства или принесут кадровики мешок сочинений на нескольких листах... Когда будете их лопатить, вместо основной работы, ответ придёт сам собой. Ну или начальнику, когда он агенству за каждого "подобранного" кандидата бабла отстегнёт...
--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
|
|
|
|
|
Jun 18 2011, 07:19
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(Mikle Klinkovsky @ Jun 17 2011, 23:34)  Ну пришлют вам из агенства или принесут кадровики мешок сочинений на нескольких листах... Когда будете их лопатить, вместо основной работы, ответ придёт сам собой. Ну или начальнику, когда он агенству за каждого "подобранного" кандидата бабла отстегнёт... Ну как так?... Что же это за политика такая? Ты же к себе берешь на работу, с этим человеком тебе предстоит кучу задач решать... Ты ему должен доверять чуть ли не как себе. Не понимаю я такого подхода. Я сейчас работаю в конторе, где формальное общение как раз процветает. Настолько, что без бумажки мало что делается, в т.ч. и подбор людей. И что? Да ничего хорошего! За последний год одни сокращения. А корень в том, что работать никто не умеет, а умеют в основном бумажки красиво писать. Вот это проблема. А если лень перелопатить мешок резюме, то какой же ты начальник??
|
|
|
|
|
Jun 18 2011, 09:11
|

Местный
  
Группа: Участник
Сообщений: 215
Регистрация: 10-04-11
Пользователь №: 64 254

|
Цитата а умеют в основном бумажки красиво писать. О это святое. Бэз бумашки ты козявка а с бумашкой... Вс тречал такие бумашки на языках где и носитель этого самого языка не разберет чего хотят. Сленг мать его, все что бы скрыть смысл происходящего а все можно свести к примитивам ( дай денег или подохни). Прям оборотни в погонах или бэз, дык кто их разберет.
|
|
|
|
|
Jun 21 2011, 13:32
|

Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 13-08-05
Из: Сталинград
Пользователь №: 7 605

|
Один раз, лет 5 назад, желая сменить место работы, подал резюме в одну контору, занимающуюся светодиодными технологиями. Там сразу со мной связались. В качестве "вступительного экзамена" предложили решить несколько задач. В основном по оптике. Ну и по электронике тоже были. Я их всех решил. отправил их директору и написал, что решить-то я их решил, но меня, как говаривал старик Рабинович, "не дождётесь". Через полчаса сам позвонил. Пригласил побеседовать. Дядька, вроде, и неплохой, но в контору с таким подходом не охота устраиваться. Хотя у нас в Волгограде с работой для электронщика напряжёнка. Да, нашли потом инженера они всё-таки.
--------------------
"Не дождётесь!" (С) Старик Рабинович.
|
|
|
|
|
Jun 22 2011, 00:52
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(vitan @ Jun 16 2011, 11:03)  Меня тут спросили, как на плисине сделать приемник\десериализатор, у которого единицы принимаются в виде перепадов на одной линии, а нули - на другой. Клоков нет, частота не известна и плавает. Может имелось ввиду что-то типа: входной сигнал подать на входы двух Т-тригерров, один из которых работает по фронту и выделяет из входного потока единицы (переход 0->1), а другой - по срезу и, соответственно, выделяет нули(переход 1->0) ? У одного моего знакомого при устройстве на работу спросили, какое главное свойство электрического тока. Он перебрал кучу вариантов - все они оказались неверными. Вобщем потом знакомый всеми правдами и непрадами расколол спеца, который его пытал. Оказалось, что главное свойство электрического тока в том, что "его не видно". Такие дела  Правда товарищ не разработчиком устраивался. Цитата(vitan @ Jun 20 2011, 10:19)  Потом спросили, что надо поставить между АЦП и входными фильтрами (после мультиплексора). Видимо имелось ввиду устройство выборки хранения  , которое чаще всего входит в состав современного АЦП. Раньше ставили отдельный внешний корпус.
|
|
|
|
|
Jun 22 2011, 05:50
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(psL @ Jun 22 2011, 04:52)  Может имелось ввиду что-то типа: входной сигнал подать на входы двух Т-тригерров, один из которых работает по фронту и выделяет из входного потока единицы (переход 0->1), а другой - по срезу и, соответственно, выделяет нули(переход 1->0) ? Это начало пути к решению задачи, в которой нули и единицы передаются разными фронтами. А у нас если есть на одной линии перепад (неважно какой), то пришла единица, если есть перепад на другой, то пришел ноль. Я специально долго вчитывался в задание, именно так оно звучит. Цитата(psL @ Jun 22 2011, 04:52)  Видимо имелось ввиду устройство выборки хранения  , которое чаще всего входит в состав современного АЦП. Раньше ставили отдельный внешний корпус. Вот не подумал бы! Контора занималась автосигнализациями, все малогобаритное, да и спрашивал меня парень не старше меня явно. Вряд ли это были древности какие-то... Цитата(psL @ Jun 22 2011, 04:52)  главное свойство электрического тока в том, что "его не видно" Супер! - Видишь суслика? - Нет. -А он есть...
|
|
|
|
|
Jul 11 2011, 22:17
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
я тож решал тест про прием-передачу данных по двум линиям. перепад на одной - приняли 1, на другой 0 задание надо было решить на verilog или ahdl решил ) написал проектик, сначала на VHDL (на нем я и пишу), потом на verilog (заодно ознакомился) отослал . ни ответа ни привета ) кому интересно
Прикрепленные файлы
RxTst.vhd ( 3.27 килобайт )
Кол-во скачиваний: 47
RxTx.vhd ( 3.05 килобайт )
Кол-во скачиваний: 40
TxTst.vhd ( 3.21 килобайт )
Кол-во скачиваний: 45
SerRx.v ( 2.92 килобайт )
Кол-во скачиваний: 52
SerTx.v ( 2.1 килобайт )
Кол-во скачиваний: 43
RxTx.v ( 1.27 килобайт )
Кол-во скачиваний: 61
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 12 2011, 06:25
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(sergtsa @ Jul 12 2011, 02:17)  я тож решал тест про прием-передачу данных по двум линиям. Ого! А что ж приемник, не обошелся без тактовой частоты (которая в три раза выше)?  Кстати, вот мой вариант. Код // Задача. Имеется 4-х проводной последовательный канал. 2 провода - туда, 2 провода обратно (и ещё общий провод пятый). // Физическая реализация: Каждый бит передаётся перепадом сигнала. // Если бит равен 1, то перепад происходит на одной линии, а если 0, то на другой. // Протокол не предполагает, что частота следования битов известна или хотя бы постоянна. // Соответственно, передатчик должен работать по одному клоку, по которому передаётся каждый очередной бит. // А приёмник работает только по самим перепадам сигналов на линиях. Написать проект-функцию сериалайзера/десериалайзера на языке Verilog. // Параметрами функции являются ширина передаваемых/принимаемых данных. Продемонстрировать симуляцией работоспособность проекта.
// Решение. Передатчик построен на сдвиговом регистре и двух Т-триггерах. // Перепады на одной линии возникают при выдаче из регистра единицы, на другой - при выдаче нуля. // Приемник восстанавливает тактовую частоту из линии путем операции исключающего ИЛИ над двумя входными сигналами. // Для нормальной работы приемнику требуется тактовый сигнал со стороны принимающей аппаратуры. // Частота его должна быть не менее битовой скорости в канале. // С его помощью формируются стробы для подачи на тактовый вход приемного сдвигового регистра. // Кроме того, он обеспечивает однозначное восприятие данных в канале при одновременном (или почти одновременном) поступлении // перепадов в обоих сигналах на линии (о чем в условии задачи не сказано). // На вход приемного сдвигового регистра данные поступают после применения операции исключающего ИЛИ между текущим значением одной из линий // и ее же значением, задержанным на половину тактового интервала в линии. // Сигналы управления чтением данных их приемника отсутствуют, но могут быть легко добавлены для получения нужного интерфейса. // Загрузка данных для передачи происходит при установке в единицу сигнала load, в течение всего времени передачи он должен равняться ннулю, // что тоже может быть легко изменено. // Длина передаваемого слова задается параметром N. // Проект выполнен для ПЛИС Altera, симуляция проведена для микросхемы серии MAXII (автовыбор).
module zzz #(parameter N=8) ( input txclk, input load, input [N-1:0] to_line, output [1:0] txd,
input [1:0] rxd, input rxclk, output [N-1:0] from_line );
//transmitter reg tx; lpm_shiftreg serialiser (.clock (txclk), .data (to_line), .load (load), .shiftout (tx)); defparam serialiser.lpm_width=N; tffe txd_one (.t(tx),.clk(txclk),.ena(!load),.q(txd[1])); tffe txd_zero (.t(!tx),.clk(txclk),.ena(!load),.q(txd[0]));
//receiver reg line_clk; dff (.d(rxd[1]^rxd[0]),.clk(rxclk),.q(line_clk)); reg rec_clk_lh; dff (.d(1'b1),.clk(line_clk),.clrn(rxclk),.q(rec_clk_lh)); reg rec_clk_hl; dff (.d(1'b1),.clk(!line_clk),.clrn(rxclk),.q(rec_clk_hl)); or clk_recover (rec_clk,rec_clk_lh,rec_clk_hl); reg next_data; dff rxd_next (.d(rxd[1]),.clk(!rec_clk),.q(next_data)); xor serial_data (rx, rxd[1], next_data); lpm_shiftreg deserialiser(.clock(rec_clk),.shiftin(rx),.q(from_line)); defparam deserialiser.lpm_width=N;
endmodule
|
|
|
|
|
Jul 12 2011, 13:08
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
Цитата(vitan @ Jul 12 2011, 10:25)  Ого! А что ж приемник, не обошелся без тактовой частоты (которая в три раза выше)?  Кстати, вот мой вариант. .... здорово. а тактовая в три раза выше , это для мажоритарного фильтра. чтоб сбоев было меньше ) а так частота перепадов любая, но меньше тактовой приемника в три раза. если не секрет откуда такое задание. у меня такое же . слово в слово. только язык AHDL был в списке желаемых. так звучала моя задача : Задача. Имеется 4-х проводной последовательный канал. 2 провода - туда, 2 провода обратно (и ещё общий провод пятый). Физическая реализация: Каждый бит передаётся перепадом сигнала. Если бит равен 1, то перепад происходит на одной линии, а если 0, то на другой. Протокол не предполагает, что частота следования битов известна или хотя бы постоянна. Соответственно, передатчик должен работать по одному клоку, по которому передаётся каждый очередной бит. А приёмник работает только по самим перепадам сигналов на линиях. Написать проект-функцию сериалайзера/десериалайзера на AHDL либо Verilog. Параметрами функции являются ширина передаваемых/принимаемых данных.
Сообщение отредактировал sergtsa - Jul 12 2011, 13:09
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 12 2011, 13:50
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Цитата(sergtsa @ Jul 12 2011, 17:08)  если не секрет откуда такое задание. у меня такое же . слово в слово. только язык AHDL был в списке желаемых. Электрон. Думаю, и так понятно.  Хотя... Может, это по наследству передается?... Странно, что мне про AHDL ничего не сказали. Я изначально именно на нем писал, т.к. всю жизнь пишу на AHDL/VHDL. Цитата а так частота перепадов любая, но меньше тактовой приемника в три раза. Я сделал две попытки объяснить, зачем нужна тактовая частота, но это не впечатлило. Видимо, я слишком сильно намекал на некорректность условия...
|
|
|
|
|
Jul 12 2011, 14:05
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
да у меня тож электрон.
про частоту я понял . теоретически можно было обойтись без тактирования приемника. но на практике я б так делать не стал. дребезг по линиям, и накрылся приемник ) по мне лучше с тактированием , да и еще мажоритарныё фильтр поставить. тогда работать будет гарантированно. а коллизию одновременного прихода clk0 и clk1 я использовал для сброса приемника в исходное состояние.
ответ мне так и не прислали. мне до них далеко ехать, но задачка зацепила. вот и написал.
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 12 2011, 14:24
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
хм , сейчас попробую написать.
)
(я изначально отбросил такой вариан из расмотрения, он годен разве что для лабораторной студентам)
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 31 2011, 03:16
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
Цитата(vitan @ Jul 12 2011, 18:32)  И временные диаграммы приложите. Что-то мне думается, без привязки к конкретной плисине и без манипулирования задержками не получится... вот сегодня вернулся к этой теме , так и есть. привязка и манипулирование ) доделал ) вспомнил AHDL! (вручную задал расположение ячеек на противоположных краях кристалла.) полная асинхронщина .
Сообщение отредактировал sergtsa - Jul 31 2011, 11:07
Эскизы прикрепленных изображений
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 31 2011, 10:26
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
Цитата(vitan @ Jul 31 2011, 12:21)  Гы. Ну а коли импульс придет в районе, где сейчас первый курсор стоит? Четыре буфера в ряд... За такое на собеседованиях, наоборот, должны пинка давать  Но в эту контору можно отсылать смело, думаю, им что-то подобное и нужно. Это там фирменный стиль такой, наверно. я про это писал выше. на практике такие схемы делать нельзя. только как студенческие лабы. (синхронный вариант, который я выложил выше, устойчив к помехам и имеет более высокое быстродействие а так я не представляю зачем в реальности городить такой способ передачи. хотя надо признаться , что решать эту задачу на AHDL было куда проще , чем на VHDL,Verilog. если уж две линии , то дифф ... 8b10 ... и все хорошо ) ) в эту контору я не хочу . далеко от меня очень. съездил к ним на собеседование . оставили приятное впечатление.
Сообщение отредактировал sergtsa - Jul 31 2011, 10:39
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 31 2011, 10:34
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
Цитата(vitan @ Jul 31 2011, 14:32)  Погодите, так Вы этот проект показывали? И им понравилось?  нет я там был месяца два три назад. а проект я написал за сегодняшнюю ночь. вряд ли я буду посылать им . это скорее для себя.
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 31 2011, 11:08
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
Цитата(vitan @ Jul 31 2011, 12:21)  Гы. Ну а коли импульс придет в районе, где сейчас первый курсор стоит? а как у Вас получилось ? поделитесь pls интересно другие варианты посмотреть
Сообщение отредактировал sergtsa - Jul 31 2011, 11:22
Эскизы прикрепленных изображений
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
|
Jul 31 2011, 15:21
|
Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 4-05-06
Из: Санкт-Петербург
Пользователь №: 16 780

|
я вижу вы не стали делать асинхронный вариант ?
--------------------
Если ты закроешь глаза на пугающее тебя зрелище, ты перестанешь бояться. А если ты взглянешь на него в упор, то увидишь, что того, чего следовало бы бояться, нет совсем. Акира Куросава.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|