[an error occurred while processing this directive]
Ответ: Вот такую штуку я набросал на перле. Из нетлиста PCB делает UCF. Было бы интересно услышать отзывы-рекомендации-дополнения
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено kas 26 апреля 2006 г. 14:52
В ответ на: Как сделать (Xilinx) ucf-файл из ПиКАДа. отправлено zlyh 24 апреля 2006 г. 11:17

#!/usr/bin/perl
#вызов: script_name netlist_file_name RefDes_name >ucf_file_name
#работает и под виндами если перл устанивить
$t = $ARGV[0];
open fl, $t or die "Can'not open file";
use sort "stable";
$i = 0;
while () {
chomp;
if ($_ =~ /\(net\b/ )
{
if($_ !~ /gnd|vcco|vccint/i) #убираю цепи питания
{
($a1,$net,$a3) = split(/\"/);
}
else
{
$net = "___";
}
}
if ($_ =~ /node.*\"$ARGV[1]\"/i)
{
($a1,$a2,$a3,$pin) = split(/\"/);
if(($net =~ /\w+\d{1,2}\b/)) #выделяем шины, должны оканчиваться одной-двумя цифрами.
{
$LengNet = length($net);
$subnet = $net;
$subnet =~ s/\d{1,2}\z//;
$LengSub = length($subnet);
$index = substr($net,$LengSub);
$index =~ s/\D+//;
$d[$i] = "NET $subnet"."_buf<$index>\tLOC=P$pin;\n";
$i++;
}
else
{
if($net !~ /___/)
{
$d[$i] = "NET $net"."_buf\tLOC=P$pin;\n";
$i++;
}
}
}
};
close fl;
@c = sort @d;
for($i =0; $i {
print("$c[$i]");
}
print("\# всего $i сигналов");

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru