Xilinx ভিভাডোর সাথে এসভিএন ব্যবহার করছেন?


13

আমি কেবলমাত্র একটি নতুন প্রকল্পে ভিভাডো ব্যবহার করে বলেছি এবং প্রজেক্টের ফাইলগুলি এসভিএন এর অধীনে রাখতে চাই।

ভিভাডো প্রকল্প প্রকল্পের নামে প্রকল্পের সমস্ত ফাইল তৈরি করে বলে মনে হচ্ছে (বলুন প্রজ 1):

/<path to the project>/proj1/
                            proj1.xpr
                            proj1.srcs/
                                       constrs_1/
                                                new/
                                                    const1.xdc
                            proj1.runs/
                            proj1.data/
                            proj1.cache/

আমার প্রশ্ন হ'ল এক্সডিসি এবং এক্সপিআর ফাইল ব্যতীত এসভিএন এর অধীনে আমার থাকা ফাইলগুলি কী?


1
আপনি কেন মনে করেন যে যদি আপনার সমস্ত প্রয়োজন হয় না?
গ্রেডি প্লেয়ার 12

6
এখানে আপনি কী বোঝাতে চেয়েছেন তা আমি বুঝতে পারি না। ভিভাডো একটি বিষ্ঠা লোড ফাইল তৈরি করে যেগুলি তৈরি হওয়ার পরে তাদের নিয়ন্ত্রণ করার দরকার নেই। আমার উত্স ফাইলগুলি অন্য কোথাও আছে, আমার কেবল ভিভাডোর জন্য গুরুত্বপূর্ণ ফাইলগুলি সংরক্ষণ করা দরকার।
ফরহাদ

আমি বলব যেহেতু একমাত্র ইনপুটটি সোর্স কোড, এটি কেবলমাত্র এসভিএন এর অধীনে রাখা ফাইল। তবে আমি এটি কখনই ব্যবহার করিনি, কেবল অনুমান করে
ক্লাব্যাচিও

একটি পরিষ্কার বিকল্প আছে? আপনি ক্লিন করতে পারবেন এবং তারপরে সবকিছু যাচাই করতে পারেন
গ্রেডি প্লেয়ার

2
আমি ভিভাডো প্রকল্পটি নতুনভাবে তৈরি করতে একটি টিসিএল স্ক্রিপ্ট তৈরি করছি। এবং এটিকে সংস্করণ নিয়ন্ত্রণে রাখুন। প্রকল্পটি তৈরি করার সময় (মেক সহ), এটি জিলিনেক্সের প্রয়োজনীয় ফাইলগুলি তৈরি করবে। এটি আমাকে জিলিনেক্সের সম্পূর্ণ প্রকল্প ডিরেক্টরি এবং ফাইলগুলি চেক ইন করতে বাধা দেয়।
ভার্মেতে

উত্তর:


6

জিলিনেক্স এটিকে মোকাবেলার জন্য একটি ইউটিউব ভিডিও (দীর্ঘশ্বাস) তৈরি করুন। ভিডিওটির লিঙ্কটি এখানে

http://www.xilinx.com/training/vivado/vivado-version-control-overview.htm

এখানে আমার ভিডিওর সংক্ষিপ্তসার (8 মিনিট)

শুরু করার আগে

যদি আপনি সত্যিই পুরো নিয়ন্ত্রণ পছন্দ করেন তবে শিলিনেক্স পরামর্শ দেয় যে আপনি জিইউআই পুরোপুরি ত্যাগ করুন এবং কমান্ড লাইনে সমস্ত কিছু করুন এবং তারপরে আপনি জানেন যে উত্সটি কী এবং কী নয়।

অন্যথায়, জিলিনেক্স বুঝতে পারে যে ভিভাডো প্রকল্পগুলি সংস্করণ নিয়ন্ত্রণের জন্য ডিজাইন করা হয়নি। পুরো প্রকল্পে চেক করবেন না। তবে ইঙ্গিতগুলির জন্য পড়ুন ...

বেসলাইন

অবশ্যই, আপনি ভিভাডো সরঞ্জামের বাইরে যা কিছু লিখেন তা পরীক্ষা করে নেওয়া উচিত।

নিম্নলিখিত ফাইলগুলি চেক করুন

*.v, *.vh, *.vhdl, *.edif  - HDL and Netlist
*.xdc - Constraints
*.xci - IP Core
*.bd  - IP Integrator Block Diagram
*.xmp - Embedded Subsystem
*.sgp - System Generator Subsystem
*.bmm
*.cdc - Chipscope
*.elf
*.mem

আইপি ব্লক

আপনি যদি আইপি ব্লক ব্যবহার করেন, আইপিটি একটি অনন্য ফোল্ডারে তৈরি করুন এবং সমস্ত কিছু পরীক্ষা করে দেখুন।

চেকপয়েন্ট

আপনি যদি সবকিছু না চালিয়ে প্রবাহের কিছু অংশ পুনরায় চালু করতে সক্ষম হতে চান তবে চেকপয়েন্ট ফাইলগুলিতে চেক করুন।

*.dcp - Design Checkpoints

আমার সংযোজন

যদি জিলিনক্স সরঞ্জামগুলি দক্ষ ছিল, আমি ডিসিপি ফাইলগুলিতে চেক করার পরামর্শ দেব না, তবে এগুলি চালাতে অনেক ঘন্টা সময় লাগে, এটি একটি কুশ্রী সংস্করণ নিয়ন্ত্রণ সিস্টেমের জন্য ব্যয় করা উপযুক্ত হতে পারে।

ভিভাডো প্রকল্প ফাইলগুলি (* .xpr) সম্পর্কে ভিডিওটি স্কোয়াট বলে না তাই আমার পরামর্শটি এখানে:

*.xpr
*.data/*/fileset.xml
*.data/*/runs.xml

শিলিনেক্স প্রস্তাবিত বিকল্পটি (যা সত্যই হ্যাক, সংস্করণ নিয়ন্ত্রণের জন্য উপযুক্ত নয়) হ'ল File -> Write Project Tclপ্রতিবার আপনি প্রতিশ্রুতিবদ্ধ করতে চাইলে কমান্ডটি চালানো এবং তারপরে টিসিএল ফাইলটি সংস্করণ নিয়ন্ত্রণে প্রতিশ্রুতিবদ্ধ। আপনি যখন আপনার স্থানীয় ফোল্ডারটি আপডেট করেন, আপনাকে প্রকল্পের সমস্ত ফাইল তৈরি করতে সেই টিসিএল ফাইলটি পুনরায় চালু করতে হবে। ইশ।


দুর্দান্ত, এটি সত্যিই সহায়ক ছিল। আমি আর এসভিএন নয়, তবে জিআইটি ব্যবহার করি, তবে এটি আমাকে সঠিক ফাইলগুলি সংগ্রহস্থলটিতে পেতে সহায়তা করে।
ফরহাদ 21

1
আমি টিসিএল ফাইলগুলি ব্যবহার করি এবং এটি সত্যই ভাল কাজ করে। কোনও প্রকল্পে কোনও ফাইল যুক্ত হওয়ার সময় কেবলমাত্র টিসিএল স্ক্রিপ্টগুলি আপডেট করতে হবে এবং যখন সমস্ত ফাইল উপস্থিত থাকে তখন সাধারণত আমি টিসিএল তৈরি করি you আপনি সেগুলি তৈরি করার মতো তারা প্রায় ইয়াকি বা হ্যাকি নয়।
stanri

টিসিএল সমাধানটি আদর্শ হবে যদি বিভাডো প্রতিটি প্রকল্প পরিবর্তনের পরে স্বয়ংক্রিয়ভাবে টিসিএল ফাইল তৈরি করে এবং এটি টিসিএল ফাইলটি xpr ফাইলের পরিবর্তে "প্রকল্প" ফাইল হিসাবে পড়ে। অন্য কথায়, যদি শিলিনেক্স এক্সপিআর ফাইলটি থেকে মুক্তি পেয়ে টিসিএল ফাইলের সাথে প্রতিস্থাপন করে।
লাকাটা

এক্সআরপি ফাইল প্রতিশ্রুতিবদ্ধ করার সাথে একটি সামান্য সমস্যা রয়েছে: এটি প্রতিবার পরিবর্তিত হয় এমনকি আপনি যখন
ভিভাডো

3

ভিভাডো 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 কীভাবে স্টাফ করে তা দেখার সহজ উপায় এটি জিইআইতে করা এবং তারপরে টিসিএল কনসোলে কী আছে তা দেখুন।

  • এই হিংস্র পিডিএফ সমস্ত ভিভাডো টিসিএল কমান্ড বিশদ বিবরণ করে।


2

একটি শিলিনেক্স প্রশিক্ষণ ভিডিও রয়েছে যা ভিভাডোর সাথে সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি কীভাবে ব্যবহার করতে হয় তা ব্যাখ্যা করে। মূলত, ফাইলগুলির তালিকা আপনি যে বৈশিষ্ট্যগুলি ব্যবহার করছেন তার উপর নির্ভর করে।

আপনি যদি কোনও স্ক্রিপ্টযুক্ত পদ্ধতির ব্যবহার করেন (যেমনটি ভার্মেট করেন), আপনার কাছে ভিভাডো সমস্ত মধ্যবর্তী / অস্থায়ী ফাইলগুলি একটি পৃথক ডিরেক্টরিতে ( এখানে দেখুন ) লিখতে পারেন , যাতে আপনি সহজেই সেগুলি আলাদা করতে পারেন।

অন্যথায়, আপনি ভিভাডোর দ্বারা বিল্ড ফোল্ডারটি সাফ করতে পারেন এবং যা কিছু বাকী রয়েছে তা সংস্করণ নিয়ন্ত্রণে রাখা যেতে পারে।


1
ধন্যবাদ, আমি এটি খতিয়ে দেখব, এটি কেবল অবাক করার মতোই যে জিলিনেক্স এত ব্যয়বহুল একটি সরঞ্জাম নিয়ে আসতে পারে তবে এটির সাথে পুনর্বিবেচনার নিয়ন্ত্রণের জন্য যথাযথ সমর্থন দেওয়ার এমনকি বিরক্তিও করে না।
ফরহাদ

1
জিলিনেক্স ফোরামে একটি আকর্ষণীয় মন্তব্য ছিল (২০০৯ আইআইআরসি থেকে): সরঞ্জামগুলি হার্ডওয়ার ইঞ্জিনিয়ারদের জন্য তৈরি করা হয়েছিল। এবং হার্ডওয়্যার ইঞ্জিনিয়াররা রিভিশন কন্ট্রোল সম্পর্কে জানে না এবং যত্ন করে না। তবে আমি মনে করি যে মনোভাবটি পরিবর্তিত হয়েছে, এবং আরও অনেক বেশি এসডাব্লু ইঞ্জিনিয়াররা এই সরঞ্জামগুলি ব্যবহার করছেন। অতীতে এখন পুনর্বিবেচনা নিয়ন্ত্রণের বিষয়টি অতীতের চেয়ে বেশি।
hli

2
ভাল এটি একটি খাঁটি অপমান যারা এই শব্দগুলি কখনও বলেছিল। এইচডাব্লু ইঞ্জিনিয়াররা বিভিন্ন ধরণের রিভিশন কন্ট্রোল ব্যবহার করে, অনেক সরঞ্জাম সমর্থন করে যে, অনেক ইঞ্জিনিয়ার স্ট্যান্ডার্ড আরসি ব্যবহার করে এবং অন্যরা আর সি ইন বিল্ট সহ মেন্টর এইচডিএল ডিজাইনারের মতো সরঞ্জাম ব্যবহার করেন। দুঃখের বিষয়, জিলিনেক্স এবং আল্টেরার মতো এফপিজিএ বিক্রেতারা এই বিষয়গুলি সম্পর্কে যত্ন নেবেন বলে মনে হয় না এবং এটিই প্রধান সমস্যা।
ফরহাদ

1

Xilinx ফোরামে এই থ্রেডটি একবার দেখুন:

http://forums.xilinx.com/t5/Implementation/What-files-to-put-under-revision-control-for-consistent-build/td-p/174232


2
আপনার উত্তর অনেক বেশি সহায়ক হবে যদি আপনি যে আলোচনা থেকে কিছু আকর্ষণীয় সামগ্রী অন্তর্ভুক্ত হতে পারে, এছাড়াও কারণ এটি পরিণামস্বরূপ মৃত লিঙ্ক (ক ফোরাম এটা ঘটতে পারে এটি সংরক্ষন পরার হচ্ছে) এর বেঁচে থাকতে হবে
clabacchio
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.