=AK= 18 2 июля, 2005 Опубликовано 2 июля, 2005 · Жалоба Несколько раз напарывался на такой глюк в Quartus: ни с того ни с сего в какой-то момент он перестает генерировать выходной ttf файл. После этого никакие танцы с бубном вокруг текущего проекта картину не меняют. Пробовал удалять из директории проекта всякие "мусорные" (т.е. нагенерированные самим Quartus-ом) файлы, пробовал включать-выключать опции проекта, пробовал заставлять его генерировать вых. файлы в других форматах - все без толку. :smile3046: Единственно что спасает - забросить текущий проект и начать новый. Скопировать в новый проект одни только исходники из старого, и затем ручками заново настроить проект. Что занимает много времени и может приводить к ошибкам. Особенно достает ручное назначение пинов, прямо каменный век какой-то. :glare: Дважды обращался в отдел техпомощи Алтеры, они только плечами пожимают, отделываются отговорками: "а вы опцию генерации вых. файла включили?" :maniac: Вопросы: -- Кто-нибудь еще такие глюки встречал? Если встречал - как боролся? -- Как бы перетащить назначение пинов из одного проекта в другой? -- На кой Quartus генерерует столько "левых" файлов в директории проекта? Особенно удивляют тучи хлама в поддиректории db. Кто нибудь знает зачем они нужны, и что будет если их удалять? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 2 июля, 2005 Опубликовано 2 июля, 2005 · Жалоба Что касается пинов - я делаю все назначения через tlc скрипт, даже удобнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 18 2 июля, 2005 Опубликовано 2 июля, 2005 · Жалоба Что касается пинов - я делаю все назначения через tlc скрипт, даже удобнее. <{POST_SNAPBACK}> А как, если не секрет? Примерчик можно посмотреть? :blink: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 3 июля, 2005 Опубликовано 3 июля, 2005 · Жалоба -- Как бы перетащить назначение пинов из одного проекта в другой? Можно задавать расположение выводов с помощью атрибутов компилятора прямо в исходном тексте. Пример для Quartus и VHDL: PORT ( CLKGEN : in STD_LOGIC; ADR_OUT : OUT STD_LOGIC_VECTOR (13 DOWNTO 0); ); attribute chip_pin : string; attribute chip_pin of CLKGEN : signal is "N4"; attribute chip_pin of ADR_OUT : signal is "B12, B14, B10, C13, C15, C11, D14, E15, E10, F10, E8, E13, D9, C9"; Особенно удивляют тучи хлама в поддиректории db. Кто нибудь знает зачем они нужны, и что будет если их удалять? Это базы данных проекта (db = database), используемые на этапе синтеза. В случае их удаления они создадутся вновь при следующей компиляции ;) . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimay 0 5 июля, 2005 Опубликовано 5 июля, 2005 · Жалоба Чтобы сохранить ножки можно попробовать отредактировать файл ***.qsf Просто скопировать нужную часть из старого файла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 6 июля, 2005 Опубликовано 6 июля, 2005 · Жалоба Вот пример скрипта для одного из проектов: А вообще - хелп, там всё есть... ######################################## # source D:\\Project\\Hard\\md6550\\FPGA\\md6550_v1.tcl # Pin-out (CSF) set project_name "Topmd6550"; set cmp_settings_name "Topmd6550"; set device_name "EPM240T100C5"; set family_name "MAX II"; #set family_class "FLEX10K"; #set pci_io "OFF"; #set pci_th "0ns"; #set pci_decr1 "OFF"; #set pci_fastin1 "ON"; #set pci_fastin2 "OFF"; #set pci_fastout "OFF"; #set pci_lowcap "OFF"; #set pci_fastrow "OFF"; #set pci_tsuio "7ns"; #set pci_tsupp "10ns"; #set pci_iostd ""; set pci_fmax "20 MHz"; #set pci_tsu_pcix ""; #set pci_tco "11ns"; #set pci_thz "28ns"; # Параметры оптимизации и упаковки set_global_assignment -name maxii_optimization_technique speed; # set_instance_assignment -name auto_packed_registers_maxii "minimize area" -to clock; set_instance_assignment -name auto_packed_registers "minimize area" -to clock set_global_assignment -name reserve_all_unused_pins "as input tri-stated"; set_instance_assignment -name weak_pull_up_resistor on -to Step_I; set_instance_assignment -name weak_pull_up_resistor on -to Dir_I; set_instance_assignment -name weak_pull_up_resistor on -to Ena_I; set_instance_assignment -name weak_pull_up_resistor on -to nRS_I; set_instance_assignment -name weak_pull_up_resistor on -to SW\[1\]; set_instance_assignment -name weak_pull_up_resistor on -to SW\[2\]; set_instance_assignment -name weak_pull_up_resistor on -to SW\[3\]; set_instance_assignment -name weak_pull_up_resistor on -to SW\[4\]; set_instance_assignment -name weak_pull_up_resistor on -to nFREF; set_instance_assignment -name weak_pull_up_resistor on -to CB\[1\]; set_instance_assignment -name weak_pull_up_resistor on -to CB\[2\]; set_instance_assignment -name weak_pull_up_resistor on -to nFIB; set_instance_assignment -name weak_pull_up_resistor on -to CA\[1\]; set_instance_assignment -name weak_pull_up_resistor on -to CA\[2\]; set_instance_assignment -name weak_pull_up_resistor on -to nFIA; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "CLK_I"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "SW\[1\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "SW\[2\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "SW\[3\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "SW\[4\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "Step_I"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "Dir_I"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "Ena_I"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "nRS_I"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "nFREF"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "CB\[1\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "CB\[2\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "nFIB"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "CA\[1\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "CA\[2\]"; set_instance_assignment -name io_standard "3.3V Schmitt Trigger Input" -to "nFIA"; puts "Applying pin-out.." #cmp start_batch; cmp add_assignment "$cmp_settings_name" "" "" "DEVICE" "$device_name"; cmp add_assignment "" "" "" "FAMILY" "$family_name"; cmp add_assignment "$cmp_settings_name" "" "CLK_I" "LOCATION" "Pin_99"; cmp add_assignment "$cmp_settings_name" "" "Step_I" "LOCATION" "Pin_52"; cmp add_assignment "$cmp_settings_name" "" "Dir_I" "LOCATION" "Pin_51"; cmp add_assignment "$cmp_settings_name" "" "Ena_I" "LOCATION" "Pin_66"; cmp add_assignment "$cmp_settings_name" "" "nRS_I" "LOCATION" "Pin_73"; cmp add_assignment "$cmp_settings_name" "" "Fault" "LOCATION" "Pin_75"; cmp add_assignment "$cmp_settings_name" "" "FST" "LOCATION" "Pin_76"; cmp add_assignment "$cmp_settings_name" "" "SW\[1\]" "LOCATION" "Pin_83"; cmp add_assignment "$cmp_settings_name" "" "SW\[2\]" "LOCATION" "Pin_84"; cmp add_assignment "$cmp_settings_name" "" "SW\[3\]" "LOCATION" "Pin_85"; cmp add_assignment "$cmp_settings_name" "" "SW\[4\]" "LOCATION" "Pin_86"; cmp add_assignment "$cmp_settings_name" "" "nLDAC" "LOCATION" "Pin_26"; cmp add_assignment "$cmp_settings_name" "" "nSYNC" "LOCATION" "Pin_29"; cmp add_assignment "$cmp_settings_name" "" "SCLK" "LOCATION" "Pin_28"; cmp add_assignment "$cmp_settings_name" "" "DATA" "LOCATION" "Pin_27"; cmp add_assignment "$cmp_settings_name" "" "nFREF" "LOCATION" "Pin_48"; cmp add_assignment "$cmp_settings_name" "" "Igreen" "LOCATION" "Pin_21"; cmp add_assignment "$cmp_settings_name" "" "nFault" "LOCATION" "Pin_5"; cmp add_assignment "$cmp_settings_name" "" "INB\[1\]" "LOCATION" "Pin_100"; cmp add_assignment "$cmp_settings_name" "" "INB\[2\]" "LOCATION" "Pin_89"; cmp add_assignment "$cmp_settings_name" "" "nSDB\[1\]" "LOCATION" "Pin_1"; cmp add_assignment "$cmp_settings_name" "" "nSDB\[2\]" "LOCATION" "Pin_87"; cmp add_assignment "$cmp_settings_name" "" "CB\[1\]" "LOCATION" "Pin_74"; cmp add_assignment "$cmp_settings_name" "" "CB\[2\]" "LOCATION" "Pin_78"; cmp add_assignment "$cmp_settings_name" "" "nFIB" "LOCATION" "Pin_90"; cmp add_assignment "$cmp_settings_name" "" "INA\[1\]" "LOCATION" "Pin_67"; cmp add_assignment "$cmp_settings_name" "" "INA\[2\]" "LOCATION" "Pin_33"; cmp add_assignment "$cmp_settings_name" "" "nSDA\[1\]" "LOCATION" "Pin_20"; cmp add_assignment "$cmp_settings_name" "" "nSDA\[2\]" "LOCATION" "Pin_34"; cmp add_assignment "$cmp_settings_name" "" "CA\[1\]" "LOCATION" "Pin_54"; cmp add_assignment "$cmp_settings_name" "" "CA\[2\]" "LOCATION" "Pin_57"; cmp add_assignment "$cmp_settings_name" "" "nFIA" "LOCATION" "Pin_91"; #cmp end_batch; puts "..Finished !!"; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 1 сентября, 2005 Опубликовано 1 сентября, 2005 · Жалоба Несколько раз напарывался на такой глюк в Quartus: ни с того ни с сего в какой-то момент он перестает генерировать выходной ttf файл. Нечто похожее было у меня, только с файлом POF. Уж не знаю как, но я переключил некий revision. И не помню, откуда у меня вообще взялись эти revision. Но имя выходного файла совпадает с именем этого revision, а не с именем проекта даже. Вычистил FARом из файла QPF все эти revision, кроме одноимённой с проектом, и больше их не заводил. Хотя культурнее было бы через Project / Revisions. Интересно, а кто-нибудь извлекал какую-то пользу из наличия в проекте разных revision? Если да, то какую? По help-у мне показалось, что этому делу трудно найти реальное применение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 1 сентября, 2005 Опубликовано 1 сентября, 2005 · Жалоба Например, когда пользуете Design Space Explorer - он создаёт новую ревизию, со своими установками разводки. Если она стала не нужна - удаляем её, не трогая оригинальной ревизии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 1 сентября, 2005 Опубликовано 1 сентября, 2005 · Жалоба Перетаскивал назначения пинов с помощью меню assignments/export assignemtns При этом почему-то экспортировались не все "device & pin options" - долго искал к.з. (unused pins as tri-state inputs vs outputs driving 0) Так что доверяй но проверяй Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться