ভিভাডো 2014.1 প্রকল্পগুলি পুনরায় তৈরি করতে .tcl স্ক্রিপ্টগুলি ব্যবহারের অনুমতি দেয়।
এটি করতে, আপনার প্রকল্পটি খোলার সাথে, ফাইল -> প্রজেক্ট টিসিএল লিখুন।
বেসিক প্রকল্প
আমি সাধারণত আমার ডিরেক্টরি উত্স এবং .tcl স্ক্রিপ্টটি প্রকল্প ডিরেক্টরিটির বাইরের কোনও স্থানে সঞ্চয় করি। প্রকল্পের মধ্যে উত্পন্ন xilinx আইপি কোরগুলি অন্য কোথাও অনুলিপি করা যেতে পারে কোরটিতে ডান ক্লিক করে এবং "কপি আইপি" নির্বাচন করে। এবং মূল মুছে ফেলা হচ্ছে। টিসিএল স্ক্রিপ্টটি তৈরি করা হলে, এই ফাইলগুলির সাথে সম্পর্কিত লিঙ্ক তৈরি করে। এটি সাধারণত আমার ডিরেক্টরি কাঠামোর মতো দেখায়:
base_project/
srcs/
project.v
ip/
ip1/
ip1.xml
ip1.xci
genproject.tcl
কেবল আইপি .xML এবং .xci ফাইলগুলি প্রতিশ্রুতিবদ্ধ হওয়া দরকার। (এবং এটি এমনকি প্রয়োজনীয় নয়, প্রযুক্তিগতভাবে, শেষে নোটগুলি দেখুন)।
এটিই গিটে প্রতিশ্রুতিবদ্ধ হয়, প্রজেক্ট.এক্সআরপি বা প্রকল্প ডিরেক্টরিগুলির অভাব নোট করুন।
আমি যখন রান করি তখন genproject.tcl
এটি প্রকল্পের জন্য অন্য ডিরেক্টরি তৈরি করে।
base_project/
srcs/
ip/
genproject.tcl
projectdir/
project.runs/
project.cache/
project.xpr
এই নতুন ফোল্ডারটি সম্পূর্ণ নিষ্পত্তিযোগ্য। এই কাঠামোটি তৈরি করার জন্য, আমি নিম্নলিখিত পদ্ধতিতে টিসিএল স্ক্রিপ্টটি সংশোধন করি।
আমি প্রথম 3 লাইন নীচে পরিবর্তন করেছি:
# Set the reference directory for source file relative paths (by default the value is script directory path)
set origin_dir [file dirname [info script]]
# Set the directory path for the original project from where this script was exported
set orig_proj_dir "[file normalize "$origin_dir/projectdir"]"
# Create project
create_project project $projectdir/project
এটি একটি নতুন প্রকল্প ডিরেক্টরি এবং সেই ডিয়ারে নতুন প্রকল্প তৈরি করে।
তারপরে আমি সঠিক স্থানগুলিতে নির্দেশ করার জন্য পথগুলি পরিবর্তন করেছি। স্ক্রিপ্টের অন্য জায়গাগুলিতে আপনাকে এই পাথগুলি পরিবর্তন করার প্রয়োজন হতে পারে।
# Set 'sources_1' fileset object
set obj [get_filesets sources_1]
set files [list \
"[file normalize "$origin_dir/srcs/project.v"]"\
"[file normalize "$origin_dir/ip/ip1/ip1.xci"]"\
]
add_files -norecurse -fileset $obj $files
আমি এই উত্তর হিসাবে দেখা আইপি কোর জন্য রান নকশা সংশোধন ।
.Wcfg ফাইলগুলি আইপি এবং এসআরসিএস-তে একইভাবে অন্তর্ভুক্ত করা যেতে পারে।
এখান থেকে আরও সাধারণ প্রকল্পগুলির জন্য প্রক্রিয়াটি শেষ হয় (কেবলমাত্র উত্স এবং আইপি রয়েছে, কোনও ব্লক ডায়াগ্রাম নেই)। ব্লক ডায়াগ্রামের ডেটা সংরক্ষণ করার জন্য নিম্নলিখিতগুলিও করা দরকার।
ব্লক ডায়াগ্রাম প্রকল্পগুলি
ব্লক ডায়াগ্রামটি ব্লক ডায়াগ্রামটি খোলার সাথে সঞ্চয় করতে, ফাইল -> রফতানি -> ব্লক ডায়াগ্রামটি টিসিএল এ যান এবং অন্যান্য টিসিএল ফাইলের মতো একই দিরে সংরক্ষণ করুন।
তারপরে আমি একটি Generate_Wrapper.tcl
স্ক্রিপ্ট তৈরি করেছি যা ব্লক ডায়াগ্রামের র্যাপার ফাইল তৈরি করে যাতে আপনার নিজে নিজে এটি করার দরকার নেই। প্রজেক্ট / প্রজেক্ট.এসআরসিএস ফোল্ডারটি বিডি ডেটা সংরক্ষণ করার জন্য ব্যবহৃত হয়, তবে এটি এখনও সম্পূর্ণ নিষ্পত্তিযোগ্য, যেহেতু বিডি টিসিএল স্ক্রিপ্টে সংরক্ষিত থাকে। অন্য দুটির সাথে এটি সংরক্ষণ করুন।
set origin_dir [file dirname [info script]]
make_wrapper -files [get_files $origin_dir/project/project.srcs/sources_1/bd/design_1/design_1.bd] -top
add_files -norecurse -force $origin_dir/project/project.srcs/sources_1/bd/design_1/hdl/design_1_wrapper.v
update_compile_order -fileset sources_1
update_compile_order -fileset sim_1
আমার শেষে genproject.tcl
আমি ব্লক ডায়াগ্রাম এবং মোড়ক তৈরি করতে নিম্নলিখিত লাইনগুলি যুক্ত করছি:
source $origin_dir/Create_bd.tcl
source $origin_dir/Generate_Wrapper.tcl
regenerate_bd_layout
কোনও উত্সবিহীন প্রকল্পগুলির জন্য (কেবল ব্লক ডায়াগ্রাম), আমার গিট কমিটটি কেবলমাত্র নিম্নলিখিত:
base_project/
Generate_Wrapper.tcl
Create_Bd.tcl
genproject.tcl
সবকিছু উত্পন্ন করার জন্য, চালান genproject.tcl
।
এমনকি আপনি যদি বিশেষভাবে দক্ষ হন তবে আপনি সেগুলির মধ্যে একটিও সংযুক্ত করতে পারেন, আমি এখনও এটিকে পাইনি।
কাস্টম উপাদান: উপাদান প্রকল্প
একটি কাস্টম উপাদান তৈরি করার জন্য আরেকটি দ্রুত নোট। আপনার যদি একটি উপাদান.এক্সএমএল থাকে তবে এটি আপনার টিসিএল উত্স তালিকায় যুক্ত করুন:
"[file normalize "$origin_dir/component.xml"]"\
এবং তারপরে নিম্নলিখিত বিভাগটি যুক্ত করুন:
set file "$origin_dir/component.xml"
set file [file normalize $file]
set file_obj [get_files -of_objects [get_filesets sources_1] [list "*$file"]]
set_property "file_type" "IP-XACT" $file_obj
এটি সহজে কাস্টমাইজেশনের জন্য প্রকল্পের উপাদান উপাদান নকশা অন্তর্ভুক্ত।
কাস্টম উপাদান: আপনার উপাদান উল্লেখ
আপনি আপনার কাস্টম উপাদান রিপো পাথটিকে এভাবে প্রশস্ত করতে পারেন:
# Set IP repository paths
set obj [get_filesets sources_1]
set_property "ip_repo_paths" "[file normalize "$origin_dir/path/to/repository"]" $obj
আমার রেপো ফোল্ডারে, .xML ফাইলযুক্ত পৃথক ফোল্ডার রয়েছে। সুতরাং আপনি .xML সহ ফোল্ডারটি উল্লেখ করছেন না, তবে সেইটির পিতামাতা। উদাহরণ:
repository/
component1/component1.xml
component2/component2.xml
আমরা এই টিসিএল স্ক্রিপ্টগুলি কীভাবে চালাব?
ভিভাডো খুলুন এবং কোনও প্রকল্প না খুলে সরঞ্জাম -> টিসিএল স্ক্রিপ্টটি চালান এবং আপনার স্ক্রিপ্টে নেভিগেট করুন।
অতিরিক্ত টিসিএল নোট
আপনি ভিভাডোতে চালিত প্রতিটি কমান্ড টিসিএল কনসোলে টিসিএল কমান্ড হিসাবে দেখানো হয়। উদাহরণস্বরূপ, আমি যখন জিইউআই ব্যবহার করে একটি নতুন শিলিনেক্স আইপি তৈরি করেছি তখন এটি টিসিএল কনসোলে উঠে এসেছে:
create_ip -name floating_point -vendor xilinx.com -library ip -module_name floating_point_0
set_property -dict [list CONFIG.Operation_Type {Fixed_to_float} CONFIG.A_Precision_Type {Custom} CONFIG.C_A_Exponent_Width {38} CONFIG.C_A_Fraction_Width {0} CONFIG.Result_Precision_Type {Custom} CONFIG.C_Result_Exponent_Width {8} CONFIG.C_Result_Fraction_Width {16} CONFIG.Flow_Control {NonBlocking} CONFIG.Has_ARESETn {true}] [get_ips floating_point_0]
এর অর্থ কয়েকটি জিনিস:
আপনার অবশ্যই জিলিনেক্স আইপি কোরগুলি সংরক্ষণ করার দরকার নেই - একবার আপনার পছন্দ মতো হয়ে গেলে, কমান্ডগুলি টিসিএল স্ক্রিপ্টে অনুলিপি করুন এবং আপনাকে আইপি / আর কমিট করার দরকার নেই।
-ডিউর আর্গুমেন্টের সাথে আইডি ডিরেক্টরিটি নির্দিষ্ট করুন -মডিউল_নামের পরে আপনার পছন্দ যেখানেই রাখতে চান (ডিফল্টরূপে এটি প্রজেক্টে। এসআরসিএসে রয়েছে)।
বেশিরভাগই আপনি জিইউআইতে যা কিছু করেন তা টিসিএল করেই করা যেতে পারে, xilinx কীভাবে স্টাফ করে তা দেখার সহজ উপায় এটি জিইআইতে করা এবং তারপরে টিসিএল কনসোলে কী আছে তা দেখুন।
এই হিংস্র পিডিএফ সমস্ত ভিভাডো টিসিএল কমান্ড বিশদ বিবরণ করে।