-
Постов
77 -
Зарегистрирован
-
Посещение
Весь контент mttphreak
-
Там могут быть еще хитрости, когда делается ATPG. Например, stuck-at falts can be partially covered by Delay Vectors, but those need different SDF files for annotating pathes to check SETUP and separately HOLD times in Flip Flops (in ATPG simulations, after STA). Там формально получается до 3*3 = 9 SDF файлов по 3 corners each. Всего 27 симуляций на каждый пакет of vectors. :05: Реально конечно симулируют только несколько из них :08: . Хорошая книжечка, где все это разъясняется - System-on-Chip Test Architectures ( Laung-Terng Wang, Charles Stroud, Nur Touba)
-
Молодец, быстро справился не каждый житель даже в США сможет так быстро проглотить 1300 стр технического текста )) 1. Если это учебный проект, рекомендую взять что-то попроще и общаться с преподавателем/mentor'ом 2. Also I highly recommend to use Linting tools, especially in the beginning: Nlint, Debussy, HAL, LEDA, Verix etc :) В приложении репорт одной из них по твоему дизайну. Смотри особенно часть где Synthesis Errors and Warnings :yeah:
-
Almost obvious, что вам не нужен этот tranif1, а нужен BCD дизайн (Synthesizable) или System-Level Model вашей клавиатуры и дизайна в целом. Если у вас есть проект и бюджет под него, пишите в личку пообщаемся. Бесплатные советы на этом окончились, sorrrry :laughing:
-
Еще проще - ищите/пишите в Matlab, C/C++, SystemC :rolleyes:
-
найдешь пришли ссылку на source. Articles, boox are fine
-
плохая идея :laughing: . ищите примеры типа Binary Coded Decimal (BCD). Есть примеры в Ciletti M.D., Advanced Digital Design with the Verilog HDL(2010)
-
Тогда зачем вам этот tranif1 :05: ? Используйте BUS MUX через case
-
Все очень просто, ув. Watson!!! Будьте проще! 1. Для начала откройте _IEEE Standard Verilog Hardware Description Language(2001) на стр 296 и посмотрите что такое sdf_annotate и какие там параметры ;) 2. Посмотрите на свой module ao22. You create THREE !!! (and, and, or) primitives, которые Synthesis Tool должен соеденить wires. Each interconnect wire SHOULD BE ANNOTATED. In SDF, вы указываете Thru PATH Delay (A0 -> Y) (IOPATH A0 Y (::0.22) (::0.26)), который видимо благодаря high level of optimization, хавает Questa Sim, но не хавает Leonardo Spectrum. Кроме того, судя по вашему SDF, вам следует юзать MAXIMUM Delays 3. To Shivers: SDF "Minimum", "Typical", "Maximum" это соответсвенно Interconnect Delays for BEST, Typical, WORST Conditions. Each condition depends on PVT = Process, Voltage, Temperature, которые беруться из либы и комбинируются at Synthesis and engaged in Static Timing Analysis. For instance, WORST Condition - MIN gating Voltage, Maximum Temperature :rolleyes: PS: Я не уверен, что это будет решением все ваших проблем :laughing: , но стоит попробовать задать Interconnect delays between each gate, etc
-
Оооо узнаю попытки моделирования IO Analog Buffers в Verilog Mixed-Mode Инженерами )) :beer: Мне лично не нравится такая строка: tranif1(row[row_net], col[0], ctrl); Вы можете представить, во что Synthesis должен это преобразовать? Проблема не в вашем симуляторе, этот же ваш код NC Elaborator ругает такими словами: tranif1(row[row_net], col[0], ctrl); | ncelab: *E,CUVPIO (./tranif1.v,12|10): gate () has illegal output specification. SOLUTION: wire my_row; assign my_row = row[0]; tranif1(my_row, col[0], ctrl); Который с удовольствием компилируется ( see attached) :08:
-
Очень бы хотелось дать широкому обсуждению применяемые каждым Low Power Techniques. Судя по постам, большинство тут занимаются FPGA и ПЛИС, поэтому интересны решения на уровне IP and Architectures. Для тех, кто занимается ASIC, привожу reference для Backend Low Power Techniques - Pic 1, 2 (собственность одной хорошей компании) :rolleyes: Вот пару примерчиков. 1. Instruction Set Architecture. Это пример dummy ISA with 3-address instructions and 2-address instructions. Меньше размер инструкций, меньше потребление (refer to ARM vs Thumb Instruction sets). Там наверняка много идей, хотелось бы услышать мнение людей, которые разрабатывают архитектуры ( Intel, Эльбрус, MIPS, ARM) ADD d, s1, s2 ; // d := s1+s2 // Here I suppose that PC = PC + Const (PC = PC+4 for ARM) ADD d, s1; // d := d + s1 // Here I suppose that operand and destination register are equal (Thumb-type behavior) 2. Clock gating module ckgating (input logic [1:0] data, input logic clk, en, output logic [1:0] out); always_ff @(posedge clk) if(en) out <= data; endmodule 3. Operand Isolation module opiso (input logic [1:0] a, b, c, input logic en, output logic [2:0] out ); assign out = en? a+b : a+c; endmodule Хотелось бы услышать новые идеи, которые могут неожиданно появляться в маленьких проектах, startup companies, и конечно у тех, кто работает в Intel, Samsung, ARM, Elbrus, etc :laughing:
-
Справедливости ради, можно было показать, что оба флопа синтезируются в одну и ту же конструкцию (см. рисунок). Единсвенным подозрительным моментом тут есть INV (Reset). Так что если ваш design = десяток флопов, то тут можно еще подумать, но если вы делаете SOC на 100M+ gates, эти INV фигня по сравнению с тем, что инсертит Tool во время Clock Tree Synthesis PS: If Low Power is a REAL concern for you, find my next topic on Low Power Implementation Techniques
-
Подтяжка входов
mttphreak ответил studert тема в Языки проектирования на ПЛИС (FPGA)
В современном цифровом дизайне очень рекомендуется избегать tristate logic и юзать BUS Multiplexing, т.к например Encounter Test просто хренеет от tristate contention и если (вдруг) тебе захочется продать свои IP кому-то, то лучше сразу делать их реюзабельными. :1111493779: Вот что пишут Michael_Keating, Pierre_Bricaud в своем "Reuse Methodology Manual" (Kluver Academic Publishers, 2002) 3.5.2 Tristate vs. Mux Buses When bus structures first migrated from boards onto chips, there was some contro- versy over whether to use a tristate bus or a multiplexer-based bus. Tristate buses are popular for board-level design, because they reduce the number of wires in the design. However, tristate buses are problematic for on-chip interconnect. It is essential to ensure that only one driver is active on the bus at any one time; any bus contention, with multiple drivers active at the same time, can reduce the reliability of the chip sig- nificantly. For high-performance buses, where we want to drive the bus on nearly every cycle, this requirement can produce very timing-critical, technology-dependent designs. Similarly, tristate buses must never be allowed to float; if they float to thresh- old voltage, they can cause high currents in the receiver, again reducing long-term chip reliability. Either some form of bus-keeper, or a guarantee that exactly one driver is driving the bus at all times, is required. This requirement is particularly difficult to meet during power-on. Rule – For these reasons, we consider multiplexer-based buses to be the only accept- able architecture for on-chip interconnect. Tristate buses should never be used on chip. -
Пожалуйста, никогда не тратьте время на такой отстой . Ваша инженерная карьера очень сильно зависит от литературы, которую вы читаете в начале и в понятиях которых вы будете потом мыслить и строить пирамиду своих знаний и интуиции Все читать нужно на американском языке, для начала рекомендую 2 книжечки: 1. J.Bhasker: Verilog HDL Synthesis A Practical Primer 2. Ciletti M.D., Advanced Digital Design with the Verilog HDL(2010) Чтобы разобраться, рекомендую вбивать примерчики оттуда, синтезировать их и смотреть как что выглядит. Обратная задача тоже супер - ищите подробную цифровую схему и попытайтесь описать на Verilog/VHDL/SystemVerilog, синтезировать и сравнить с оригиналом Если не найдете напишите лично письмо B)
-
Бойся метастабильности, дорогой Оби-Ван... Clock Domain Crossing является причиной просиживания долгих дней в лаборатории за Logic Analyzer'ом и срывов Time-to-Market. Мы ставим по 3 ресинхронизационных флопа на каждый бит для Analog Domain Inputs Кроме того, если у тебя есть CDC нужно обязательно делать в проекте: 1. Static Timing Analysis (e.g Encounter Timing System) to identify synchronization errors 2. Protocol assertion generation to ensure correct transfer of data 3. Reconvergence verification with metastability injection Кое-какие self-explanatory pictures можешь посмотреть тут: http://depositfiles.com/files/wedfynmy6 Если нужно будет еще инфы или примерчиков, патсаны запостят example Let the Power be with you :laughing:
-
Co-Verification
mttphreak ответил mttphreak тема в Методы и средства верификации ПЛИС/ASIC
Очень хороший пост, информация достойная! Благодарю за feedback :a14: -
Co-Verification
mttphreak ответил mttphreak тема в Методы и средства верификации ПЛИС/ASIC
День добрый, спасибо за ответ 1. Мы сейчас на стадии Research&Evaluation, поэтому рассматриваем разные варианты. Мне нужно оценить затраты по деньгам и времени Доводом в вашу пользу можно сделать такую прикидку: SPEED = MIN IPS {EVD, IPC}, где IPS = Instructions per Second , EVD = Event Driv Simulator, IPC = Inter Process Communication Если взять программу в 100k инструкций и предположить, что IPC SPEED ( ISS < = > EVD ) = 200..500 IPS, а скорость симуляции SOC в цифровом симуляторе 200...1000 IPS ( данные вполне реальны! ), то выходит, что таки да, IPС будет Bottle Neck. :cranky: 2. (ГЛАВНОЕ) Мне нужно оценить SPEED vs Simulation Details. Понятно, что если, например, сделать overall bypass for memory (См. Картинку 1), то скорость увеличится, но вот (например) тайминги по BUS Transactions (AXI4) vs DDR2 пропадут и нужно будет думать о дальнейшем пути для system-level verification Тоесть мне нужно понимать что можно выкинуть из симуляции, а что нет :laughing: 3. Насчет IPC, то в articles говорят, что Threads является самым предпочтительным по скорости, но не самым легким в реализации.... А то, что вы говорили, наверное имеется ввиду - делать через VPI and Callbacks, это и есть "традиционная" имплементация 4. Кроме того, мы планируем использовать FPGA для эмуляции synthesizable subset (понятно, для увеличения скорости симуляции самой цифры) и тут IPС видется одинаковым с точки зрения имплементации 5. Хотел бы услышать людей, которые такое делали реально, а еще лучше разрабатывали такие Environments. Есть ли какие-то примеры в Open Source на этот счет? Где можно было бы посмотреть примерчики реализаций с разными видами IPC ? -
Co-Verification
mttphreak опубликовал тема в Методы и средства верификации ПЛИС/ASIC
Сейчас подумываем об инвестициях в HW/SW Co-Verification and Co-Simulation Tool Нужно реализовать систему, в очень общих чертах представленную на рисунке. Задача - иметь возможность начинать разработку/отладку Firmware на ранних стадиях разработки и интеграции RTL для довольно больших проектов SOC 1. Есть варианты купить Seamless CVE (Mentor Graphics), пользоваться старым Eaglei (Eagle Design Automation, Который Synopsys выкупил и похоронил лет 10 назад уже) или еще тулзы, о которых мы не знаем 2. Можно попробовать самим сделать такой In-House Tool, но тут видится много проблем с InterProcess Communication (IPC) between Instruction Set Simulator and Event Driven Simulator (IUS, VCS...) 3. Если кто-то делал такие тулзы для себя, как реализовывали оный IPC: sockets, shared memory , memory mapped files, pipes, message queues... ??? Мы также готовы нанять специалистов, которые имеют опыт в таких делах и реально смогут сделать что-то подобное -
RTLVision and boox needed
mttphreak опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Здравствуйте 1. Ищу программы интерактивной визуализации RTL с поддержкой Verilog, System Verilog and SystemC типа RTLVision, желательно с лицензией :laughing: 2. Также ищу книжечки по OVM/UVM или SuperScalar Architectures типа такой (копия есть в плохом качестве 12Мb, нужна в ХОРОШЕМ) J._Shen,_M._Lipasti_[dp-Modern_Processor_Design._Funds_of_Superscalar_Processors-TAT_Mc-Graw-Hill(2004).pdf Взамен готов поделится хорошими книжечками по Computer Architectures, ARM Arch, chip design, SOC Verification, OVM, System Verilog и т.д (все на англ) B) Также готов поделится конкретными книгами, т.к имею доступ ко многим библиотекам Выложить сам не могу, т.к нужен какой-то особый аккаунт. Так что буду признателен за письма в личку у кого есть инфа по сабжу или кто может выложить книжечки ! :a14: -
Мы делаем ASIC, все хардверные блоки либо IPCores, либо свои (как в этом примере)
-
8 stage Piped Multiplier
mttphreak опубликовал тема в Языки проектирования на ПЛИС (FPGA)
День добрый! Данный вопрос касается гуру верилога, у которых есть опыт проектирования конвеерных устройств Хотел применить в своей практике алгоритм 8-стадийного конвеерного умножения 11bit signed x 8 bit signed, который я нашел у индусов на этом сайте (Lectures 41 and 42) http://nptel.iitm.ac.in/video.php?courseId...;v=jps9v4ST7VMD Однако, симуляции в Cadence NCSim показывают неверные результаты умножения, которые, однако, появляются через 8 тактов (как и должно быть) В моем алгоритме явно есть ошибка, которую пока не могу найти... Буду ОЧЕНЬ благодарен за любые релевантные комментарии и советы. Код умножителя в приложении Код и результаты симуляции : :laughing: -
Большое спасибо всем ответившим, особенно Ксении за то, что предоставила все 3 книги. Книжечки благополучно найдены. Тема закрыта
-
1 и 3 для меня расшарила Ксения. Они уже лежат на ФТП. Доступ туда есть только для группы "Свои" Хотелось бы найти вторую книжечку...
-
Нету прав, чтобы написать личное сообщение :( Да, было бы здорово, если бы вы могли отправить на email или выложить на какой-нибудь файл шаринг, т.к доступа к ФТП у меня пока тоже нет можно сюда: [email protected] Спасибо, Ксения. Приятно видеть женщину в такой community @--->>---
-
Ищу книжечки в pdf формате
mttphreak опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Hello VLSI community! :1111493779: Нужны некоторые книжечки, которые бюджет пока не позволяет заказать на Амазоне :laughing: . Был бы премного благодарен участникам форума, которые могли бы поделится знаниями с начинающими разработчиками. В идеале, Вы могли бы выкладывать их на depositfiles и местный ФТП с тем, чтобы другие участники форума могли также их оценить. Благодарю всех небезразличных 1. SystemVerilog for Design Second Edition: A Guide to Using SystemVerilog for Hardware Design and Modeling * by Stuart Sutherland 2. Digital Integrated Circuit Design: From VLSI Architectures to CMOS Fabrication Hubert Kaeslin 3. Advanced Digital Design with the Verilog HDL Michael D. Ciletti -
Cadence IUS 8.2 USR8 Linux Installation
mttphreak опубликовал тема в Среды разработки - обсуждаем САПРы
Устанавливаю закачанный с местного FTP дистрибутив Cadence IUS 8.2 USR8 для линукса. Распаковал, положил в директорию ~/work/IUSinst Установил Install Scape, запустил JAVA установщик. Сразу после выбора Products to be installed появляется окно со следующим содержанием :laughing: ___________ To complete installing this release, you must specify the following media: IUS 08.20.022 RHEL 4.0(lnx86) Update Release Disk 1 mount point: /{Unpacked Dir/CDROM1} ____________ При нажатии ОК установка понятно не продолжается. Пробовал указать другие папки, типа /{Unpacked Dir/CDROM1/kits}, /{Unpacked Dir} но установка все равно не продолжается Погуглил, нашел похожую проблему на китайском форуме - http://bbs.eetop.cn/viewthread.php?tid=241...e=39#pid4929181 но как-то гугловский переводчик не особо доходчиво переводит тот текст, и я не понял что делать-то :smile3046: Пожалуйста, подскажите что делать - в особенности те, кто устанавливал этот релиз.. (или IUS 8.1 - выдает то же самое). PS: В качестве альтернативы также принимаются патчи для i386 (32 bit) для версии Cadence IUS 9.2 (доступная версия на FTP - только для 64bit)