Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » МУ к лабораторным работам по приборно-технологическому моделированию в системе TCAD Sentaurus

МУ к лабораторным работам по приборно-технологическому моделированию в системе TCAD Sentaurus, страница 7

PDF-файл МУ к лабораторным работам по приборно-технологическому моделированию в системе TCAD Sentaurus, страница 7 Автоматизация проектирования электронных средств (16448): Книга - 5 семестрМУ к лабораторным работам по приборно-технологическому моделированию в системе TCAD Sentaurus: Автоматизация проектирования электронных средств - PDF2017-12-28СтудИзба

Описание файла

PDF-файл из архива "МУ к лабораторным работам по приборно-технологическому моделированию в системе TCAD Sentaurus", который расположен в категории "". Всё это находится в предмете "автоматизация проектирования электронных средств" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "автоматизация проектирования электронных средств" в общих файлах.

Просмотр PDF-файла онлайн

Текст 7 страницы из PDF

В общем случае ониспользуется следующим образом:if {<условное выражение>} {<фрагмент программы>}elseif {<условное выражение>} {<фрагмент программы> }else {<фрагмент программы>}Логическое выражение должно содержать одну из операций,приведенных в таблице 5.Внимание! Выражения внутри фигурных скобок в TCL могутрасполагаться на нескольких строках, но с внешней стороны скобкиотделять друг от друга переносом строки в синтаксисе команды недопускается! Это связано с тем, что перенос строки с внешней стороныфигурных скобок будет восприниматься интерпретатором как завершениекоманды.Таблица 5 — логические операцииВыражениЧто означаете==Проверка на равенство выражений в левой и правой частях<Значение выражения в левой части меньше значения выраженияв правой части?>Значение выражения в левой части больше значения выраженияв правой части?!Операция логического «НЕ»<=Значение выражения в левой части меньше или равно значениявыражения в правой части?>=Значение выражения в левой части больше или равно значениявыражения в правой части?!=Проверка на неравенство выражений в левой и правой частях||Операция «ИЛИ»&&Операция «И»Задача.

Написать программу, реализующую считывание из файлаradius.txt значения радиуса круга, вычисление площади этого круга и записьполученного результата в файл square.txt. В программе реализовать проверкузначения радиуса: если оно неотрицательное, то в выходной файл должновыводиться значение площади; если значение радиуса отрицательное, вкомандное окно должно выводиться сообщение «Incorrect radius value».Решение. Текст программы представлен ниже:set inp_file [open “radius.txt” r]; ##присваивание переменной imp_file##указателя файл “radius.txt”, открываемого для чтенияset radius [gets $inp_file]; ##чтение первой строки файла и перемещение##указателя на следующую строку (считаем, что в ней записан радиус);if {$radius>=0} {set square [expr 3.14*$radius*$radius]; ##вычисление площади кругаset out_file [open “square.txt” w]; ##присваивание переменной out_file##указателя файл “square.txt”, открываемого для записиputs $out_file $square; ##запись в выходной файл значения переменной##squareclose $out_file; ##закрытие выходного файла} else {puts “Incorrect radius value”;}close $inp_file; ##закрытие входного файлаОрганизация циклов.

Практически все методы решения задач (методконечных разностей, метод конечных элементов) позволяют свести системудифференциальных уравнений к системе алгебраических уравнений, котораярешается итерационными методами. Реализация итерационных методоввсегда связана с выполнением повторяющихся команд, входящих в телоцикла.В TCL реализуется главным образом цикл с предусловием while,который реализуется следующим образом:while {<логическое выражение>} {<тело цикла (повторяющиеся команды)>}Цикл выполняется до тех пор, пока логическое выражение принимаетзначение ИСТИНА.

Если при входе в цикл логическое выражение ЛОЖНО,то цикл не выполняется ни одного раза. Если логическое выражение всегдаИСТИННО вне зависимости от результата выполнения цикла, то такой циклбудет повторяться до бесконечности. Этого следует избегать.Возможно также реализовать цикл с параметром:for {<инициализация параметра>}{<условие>}{<правило измененияпараметра>} {<тело цикла>}Причем в качестве правила изменения параметра могут использоватьсяоперации инкремента incr или декремента decr. Например:for {set i 1} {$i<=$count} {incr i} {puts $i}Например, если в приведенном выше примере фигурную скобку передputs $i (выделена жирным) переместить на следующую строку, тоинтерпретатор TCL выдаст ошибку: знак конца строки означает завершениекоманды (если он не находится в фигурных скобках или в кавычках), т.

е.Цикл будет заканчиваться инструкцией {incr i}, и не будет правильноинтерпретирован.12. Задания для лабораторной работы №4 «Разработкапрограммных модулей на языке TCL»Написать программу в соответствии с номером варианта (1-9):1. Написать программу, считывающую из файла и записывающую его4 строки в переменные a, b, c и d. После считывания программа должнаb+cdвыполнить операцию: a .2. Написать программу, последовательно считывающую 4 элементаопределителя матрицы, и вычисляющую значения этого определителя.3. Написать программу, последовательно считывающую абсциссы иординаты двух двумерных векторов, и вычисляющую их скалярноепроизведение.4. Написать программу, последовательно считывающую абсциссы иординаты двух двумерных векторов, и вычисляющую координатысуммарного вектора.5.

Написать программу вычисления площади треугольника, стороныкоторого построены на векторах с координатами (a,b) и (c,d). Значениякоординат векторов считывать из файла.6. Написатьпрограммувычислениязначениявыраженияsin(a+b)×cos(c+d). Меры углов a, b, c и d считывать из файла. Первые двазначения считать заданными в радианной мере, вторые два — в градусноймере.7.

Написать программу вычисления обратной матрицы размером 2×2.Программа должна считать 4 элемента a, b, c и d. Первые два составляютпервую строку исходной матрицы, вторые два — вторую строку. Реализоватьпроверку существования обратной матрицы.8. Написать программу возведения матрицы размером 2×2 в квадрат.Программа должна считать 4 элемента a, b, c и d. Первые два составляютпервую строку исходной матрицы, вторые два — вторую строку.9.

Написать программу вычисления значения выражения a×b+c-d.Программа должна считывать 4 элемента a, b, c и d из файла.13.Разработкапрограммныхуправляющихс использованием средств TCL (Tool Command Language).модулейРабота с массивами. В TCL нет массивов как таковых, но естьсписковые структуры данных. При этом список можно получить из строки спомощью команды split:split <значение переменной-строки> <символ-разделитель>Создать список можно также командой list:list <перечень элементов>Доступ к элементу на заданной позиции осуществляется при помощикоманды lindex:lindex <имя списка> <индекс>Длина списка возвращается командой llength:llength <имя списка>Замена элементов списка выполняется командой lreplace:lreplace $<имя списка> <индекс первого заменяемого> <индекспоследнего заменяемого> <список заменяемых элементов>Нумерация элементов в массиве начинается с нуля.Задача.

Написать программу, реализующую сортировку массива повозрастанию методом «пузырька».Решение. Метод пузырька представляет собой два цикла, одинвложенный в другой. Внутренний цикл проверяет все пары соседнихэлементов на условие сортировки и, если оно не выполняется, реализуетперестановку этих элементов. Внешний цикл повторяет эту процедуруопределенное количество раз (привязанное к размеру массива)Текст программы представлен ниже:set str “5 4 3 2 1”;set mass [split $str “ “];set lmass [llength $mass];for {set i 0} {$i<$lmass} {incr i} {for {set j 0} {$j<$lmass} {incr j} {set c [lindex $mass $j]set jj [expr $j+1]set d [lindex $mass $jj]if {$c > $d} {set mass [lreplace $mass $j $jj $d $c]}}}puts $massСсылки в Sentaurus Workbench.

Для того, чтобы запустить большоеколичество узлов, подчиняющихся некоторому условию, на выполнение,следует определить, какие ссылки допускает Sentaurus Workbench. Каждаяссылка представляет собой внутренний параметр Sentaurus Workbench. Наэтапе препроцессорной обработки (перед запуском узлов проекта навыполнение) программы Sentaurus Workbench в каждом командном файледля каждого конкретного узла заменяет ссылки на параметр на его значение.Часто приходится ссылаться и на внутренние параметры SentaurusWorkbench. Приведем некоторые из них в таблице 6.Таблица 6 – внутренние параметры Sentaurus Workbench.Параметр@node@@node:all@@node:-<a>@@node:+<a>@@node:<a>@@node:index@@node|+<a>@@node|-<a>@@node:min@@node:max@@node|<comp>@Что означаетНомер текущего узлаTCL-Список всех узлов текущего компонентаНомер узла текущего компонента, расположенный на<a> уровней выше текущего узлаНомер узла текущего компонента, расположенный на<a> уровней ниже текущего узлаНомер <a>-го узла текущего компонентаПорядковый номер текущего узлаНомер узла, расположенного на <a> узлов правеетекущегоНомер узла, расположенного на <a> узлов левеетекущегоМинимальный индекс узла текущего компонентаМаксимальный индекс узла текущего компонентаНомер узла компонента <comp>, находящегося наодном уровне (на одной высоте) с текущимПолный список возможных ссылок на внутренние параметрыпредставлен в [4].В управляющей программе TCL можно ссылаться на номера узлов спомощью этих команд, их обрабатывать, фильтровать и т.п.

К примеру, еслиследует определить все узлы предшествующего компонента sdevice1, тосписок будет записываться следующим образом:set node_list [list @node|sdevice1@];set len [llength $node_list];Вывод полученных в программе значений переменных возможно в средуSentaurus Workbench командой puts "DOE: <имя переменной> <значениепеременной>".Например, puts “DOE: d $d”.Язык Inspect. Когда требуется выполнить обработку большогоколичества электрических характеристик, вывести их на график,сгенерировать файлы в формате txt для обработки их другими программами,выполнять это в интерактивном режиме неэффективно по времени исопряжено с возможными субъективными ошибками.

На этот случайпрограмма Inspect предоставляет пользователю возможность написатьпрограмму чтения и обработки результатов моделирования. Язык программыInspect представляет собой расширение языка TCL дополнительнымифункциями, приведенными в [5]. Некоторые из них приведены в таблице 7.Таблица 7 – встроенные функции InspectФункцияproj_load<dataset>ОписаниеПример<filename> Загрузка plt-файла proj_loadn@node|<filename> в набор sdevice@_combinat.pltданных <dataset>n@node|sdevice@_combinatcv_createDS<curveName><xDataPath><yDataPath> <{axis y}>Созданиекривойсименем<curveName>,спискомабсцисс<xDataPath>,спискомординат<yDataPath>*cv_createDSTotalCurrent_c_drain {n@node|sdevice@_combinat NO_NODEtime}{n@node|sdevice@_combinatc_drainTotalCurrent} ycv_createWithFormula<curveName><formula><xmin><xmax><ymin><ymax>Создание кривой сименем<curveName>,вычисляемойпоформуле <formula>вдиапазонезначений <xmin> …<xmax> по осиабсцисс и диапазонезначений <ymin> …<ymax> по осиординат.cv_createWithFormulamy_drain"<TotalCurrent_c_drain>$myy" A A A A ##Вычитаетиз всех ординат кривойзначение параметра $myy## Если следует выполнитьрасчет для всех значений, товместо границ диапазонапишутся буквы Аcv_getValsX<curveName>ПолучениеTCL- set answerYсписок абсцисс из "my_drain"]кривой с именем<curveName>[cv_getValsYcv_getValsY<curveName>ПолучениеTCL- set answerXсписок ординат из "my_drain"]кривой с именем<curveName>[cv_getValsXcv_createFromScriptСоздание кривой с<curveName> <x_list> именем<y_list> <{axis y}><curveName>подвум TCL-спискам:списку абсцисс исписку ординат.cv_createFromScript my_drain1$answerX $answerY y## Размеры списков должныбыть идентичнымиПродолжение таблицы 7ФункцияОписаниеПримерcv_write<type> Получение файла cv_writetxt<filename> <curvelist> типа<type>с n@PHI@_@TETA@_drain.txtименем <filename> my_drain1с характеристикой(спискомхарактеристик)<curvelist>proj_unload <dataset>Отключение набора proj_unloadданных <dataset>sdevice@_combinatn@node|*Для задания списка абсцисс или ординат следует в фигурных скобках записать следующуюпоследовательность: <имя набора данных> <имя контакта/NO_NODE> <Имя параметра Inspect/time>.Выражение NO_NODE указывается, если выводимый на ось параметр не связан с конкретнымконтактом, например, время (time).В правом столбце таблицы 7 выполняется последовательность действий:вначале считывается plt-файл n@node|sdevice@_combinat.plt, затем строитсявременная зависимость тока стока, из всех ординат зависимости вычитаетсязначение параметра $myy, разбивает полученную кривую на списки абсцисси ординат, собирает из полученных списков новую кривую и ее записывает вфайл n@PHI@_@TETA@_drain.txt, содержащий два столбца: столбецабсцисс и столбец ординат.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее