কোডের মাধ্যমে সার্কিট আঁকানো সম্ভব?


17

নেটলিস্ট ফাইল না লিখে আরও ভাল উপায় কি? কিছুটা এইরকম:

Define Battery1 As a Battery
Define Resistor1 As a Resistor

Connect Battery1 First Terminal to Resistor1 Second Terminal
Connect Resistor1 First Terminal to Battery1 Second Terminal

সম্পাদনা করুন:

আমি উত্তরগুলি বেশ সহায়ক বলে মনে করি। কোড দ্বারা উত্পাদিত সার্কিট অনুকরণ করার কোনও উপায় থাকলে এটি দুর্দান্ত হবে।


5
FWIW, আপনার উদাহরণ কোডটি আমার কাছে নেটলিস্টের মতো দেখাচ্ছে net এটি কেবলমাত্র কয়েকটি অংশ সংজ্ঞায়িত করেছে (সম্ভবত একটি গ্রন্থাগারটি সরঞ্জামটিতে বলা আছে যে প্রত্যেকে কত টার্মিনাল রয়েছে) এবং তারপরে কোন টার্মিনালগুলি একে অপরের সাথে সংযুক্ত রয়েছে তা বলে। আপনি যদি এটি কিছুটা ব্যবহার করেন তবে আপনি নোডের নামকরণে সক্ষম হয়ে টার্মিনালগুলিকে অন্য টার্মিনালের পরিবর্তে নোডের সাথে সংযুক্ত করতে আরও সহজ পেতে পারেন।
ফোটন

3
"এটি কি সম্ভব" এবং "এটি কি দরকারী" এর মধ্যে একটি বিস্তৃত উপসাগর রয়েছে, অনেকগুলি বিষয়ের জন্য।
54-

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

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

1
যদি আপনি ভাবছেন আপনি এই বিবরণটিকে কেবল পিসিবি লেআউট সরঞ্জামে ইনপুট হিসাবে ব্যবহার করবেন, সুতরাং এটি কোনও মানব পাঠক দ্বারা ব্যবহার করতে হবে না, তবে আপনি কারও জন্য ডকুমেন্টেশন হিসাবে কী ব্যবহার করবেন (আপনি) সার্কিটের সমস্যা সমাধানের পরে কী করবেন? এটি নির্মিত, বা পরে নকশা পরিবর্তন করে। আপনি যদি স্কিমেটিক এন্ট্রি ব্যবহার করেন তবে আপনি মূলত ডকুমেন্টেশন লিখছেন এবং সেটি লেআউট টুলটিতে ইনপুট হিসাবে ব্যবহার করছেন। এখন আপনি জানেন যে আপনার লেআউটটি ডকুমেন্টেশনের সাথে মিলবে।
ফোটন

উত্তর:


28

আপনি যদি এল এর সাথে পরিচিত হন , আপনিকোড লিখে সুন্দর সার্কিট আঁকতেসার্কিটিক্সব্যবহার করতে পারেন।এলএকজনটিএক্স

এখানে চিত্র বর্ণনা লিখুন

উদাহরণ
আরও উদাহরণ


4
এটি যুক্ত করার জন্য - অন্যরা যেমন বলেছে যে ভাল স্কিম্যাটিক আঁকার জন্য কিছু মানুষের অন্তর্দৃষ্টি প্রয়োজন। তবে আপনি যদি অনুরূপ সার্কিট প্রচুর আঁকেন তবে ল্যাটেক্স এবং সার্কিটিক্স ব্যবহারের ফলে আপনি একটি টেমপ্লেট বিন্যাস তৈরি করতে পারবেন এবং নির্দিষ্টকরণের সাথে এটি কাস্টমাইজ করতে পারবেন course এটি আমি অবশ্যই পাঠ্য সামগ্রী তৈরিতে ব্যবহার করি approach
জন

2
সংখ্যা এবং ইউনিটের মধ্যে অনুপস্থিত স্থানটি ভয়ঙ্কর দেখাচ্ছে।
লুং

@ লং আপনি চাইলে সর্বদা সংখ্যা এবং ইউনিটের মধ্যে স্থান রাখতে পারেন। \ বা \,ক্ষীর গণিতের পরিবেশে স্থান যুক্ত করতে পারেন
nidhin

1
@ লং এটি আপাতদৃষ্টিতে স্থানীয়করণের বিষয়। আমেরিকান হিসাবে, সংখ্যা এবং ইউনিটের মধ্যে এলোমেলো অতিরিক্ত স্থান থাকা সবসময় উদ্ভট বলে মনে হয়।
ক্রাইলিস

1
@ ক্রাইলিস এটি কোনও স্থানীয়করণের সমস্যা নয়, এটি আইএসও 80000 নির্দিষ্ট রয়েছে এবং এটি একচেটিয়াভাবে ব্যবহার করা উচিত।
awjlogan

15

এসকেআইডিএল দেখুন ( https://github.com/xesscorp/skidl ), আপনি যে লাইনে ভাবছেন তা এটিই বরাবর রয়েছে।

সম্পাদনা করুন (যেমনটি জিজ্ঞাসা করা হয়েছে): এসকেআইডিএল গ্রাফিকভাবে আপনার স্কিমেটিক প্রবেশের পরিবর্তে সমস্ত সার্কিটের (কেবল ডিজিটাল না করে) পদ্ধতিগত বিবরণ দেয় allows নেটলিস্ট আউটপুট এর পরে লেআউট সফ্টওয়্যারটিতে আমদানি করা যায়। এটি ERC চেকগুলিও সম্পাদন করবে, এবং এটি এক্সটেনসিবল। এর অর্থ হ'ল, উদাহরণস্বরূপ, আপনি একবারে একটি ফিল্টার লিখতে পারেন এবং তারপরে প্রতিবার অঙ্কনের পরিবর্তে এটি বিভিন্ন প্রকল্পে পুনরায় ব্যবহার করতে পারেন। পাইথনে লেখা, সেই সাথে সমস্ত সমর্থন যা আসে।


আরও কিছু তথ্য যুক্ত করা হয়েছে।
awjlogan

অন্যান্য পাইথন স্কিম্যাটিক অঙ্কন বিকল্পগুলি হ'ল স্কেমড্রলিসিপি
ফিনিক্স

13

অনেক প্রোগ্রাম স্কিম্যাটিক আঁকতে পারে। আমি যে সম্পর্কে জানি সেগুলিও কোনও ভাল পরিকল্পনা তৈরি করতে পারে না: একটি যা সর্বাধিক গুরুত্বপূর্ণ তথ্যের উপর জোর দেয় এবং একটি স্পষ্ট এবং সহজে বোঝার উপায়ে সার্কিটটি সাজায়।

আপনি যদি কেবল একটি হার্ডওয়্যার বর্ণনার ভাষা খুঁজছেন (কোনও গ্রাফিকাল স্কিম্যাটিক আউটপুট নেই), ভিএইচডিএল এবং ভেরিলোগ আইসিগুলিতে প্রয়োগ করার জন্য ডিজিটাল (সার্বজনীন) সার্কিটগুলি সংজ্ঞায়িত করতে ব্যাপকভাবে ব্যবহৃত হয় এবং বোর্ড-স্তরের ডিজাইনের জন্যও এটি ব্যবহার করা যেতে পারে।


ভেরিলোগ-এ এনালগ সার্কিটগুলির বর্ণনা ও মডেল / সিমুলেট করতে ব্যবহার করা যেতে পারে, যদিও আমি কোনও অ-বাণিজ্যিক সিমুলেটর সম্পর্কে অবগত নই।
শমতম

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

@ শামতম, আমি ভেরিওলজ এ ব্যবহার করেছি, তবে কেবল একটি সিমুলেশন ভাষা হিসাবে। এমন কোনও সিস্টেম রয়েছে যা ভেরিলোগ এ বর্ণনা থেকে একটি সার্কিট সংশ্লেষ করতে পারে?
ফোটন

পছন্দ করুন আমি মনে করি আমার "বিবরণ" শব্দটি ব্যবহারটি সেই অর্থে বিভ্রান্তিকর হতে পারে।
শমতম

@ সামটাম, আমি শব্দটি নিয়ে চিন্তা করব না। এটি সর্বোপরি একটি হার্ডওয়্যার বর্ণনার ভাষা। এটি কেবল প্রয়োগের পরিবর্তে ফাংশনটি বর্ণনা করে।
ফোটন

9

আপনার উদাহরণটি অনেকটা মডেলিকার মতো দেখায় , ব্লকগুলি তৈরি করতে এবং ব্লকগুলির মধ্যে বন্দরগুলি সংযোগের উপর ভিত্তি করে সিমুলেশনের জন্য একটি অবজেক্ট ওরিয়েন্টেড ভাষা।

বৈদ্যুতিক উপাদান লাইব্রেরি ব্যবহার করে ( ম্যাপেলসফট.কম ) থেকে একটি উদাহরণ ,

encapsulated model ChuaCircuit "Chua's circuit, ns, V, A"
  import Modelica.Electrical.Analog.Basic;
  import Modelica.Electrical.Analog.Examples.Utilities;
  import Modelica.Icons;
  extends Icons.Example;

  Basic.Inductor L(L=18);
  Basic.Resistor Ro(R=12.5e-3);
  Basic.Conductor G(G=0.565);
  Basic.Capacitor C1(C=10, v(start=4));
  Basic.Capacitor C2(C=100);
  Utilities.NonlinearResistor Nr(
    Ga(min=-1) = -0.757576,
    Gb(min=-1) = -0.409091,
    Ve=1);
  Basic.Ground Gnd;
equation 
  connect(L.p, G.p);
  connect(G.n, Nr.p);
  connect(Nr.n, Gnd.p);
  connect(C1.p, G.n);
  connect(L.n, Ro.p);
  connect(G.p, C2.p);
  connect(C1.n, Gnd.p);
  connect(C2.n, Gnd.p);
  connect(Ro.n, Gnd.p);
end ChuaCircuit;

যদিও আপনি মডেল থেকে একটি স্কিম্যাটিক উত্পন্ন করতে পারবেন, সাধারণত এটি একটি জিইউআইতে করা হয় যা অবস্থান এবং ওরিয়েন্টেশন সম্পর্কিত তথ্যগুলির সাথে উপাদানগুলি বর্নিত করে।


4

সিরকুট হ'ল একটি সম্পাদক যা সাধারণ পাঠ্যের বিবরণকে একটি সার্কিট ডায়াগ্রামে রূপান্তরিত করে । এটি বৈদ্যুতিক প্রতীকগুলির জন্য এম 4 ম্যাক্রোগুলির একটি সেট সরবরাহ করে ।

এটি সার্কিটিকজের সাথে একসাথে ব্যবহার করা যেতে পারে যা নিধিনের পরামর্শ দিয়েছিল । সার্কিটিক্জে আরও আধুনিক পিজিএফ / টিকজেড গ্রাফিক সিস্টেম ব্যবহার করা হয়েছে। Stackexchange সম্প্রদায়ও রয়েছে cirkuitikz খুব সক্রিয় ব্যবহারকারী কিন্তু আছে TeX আরও সমাধান

Source: https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/quick.png

Https://ece.uwaterloo.ca/~aplevich/Circuit_macros/html/exferences.html থেকে ছবি ।


3

টেক্স ব্যবহারকারীদের জন্য পিএসটিট্রিক্স হল অন্য একটি গ্রন্থাগার। এটি এমনকি জটিল গাণিতিক গণনা যেমন ডিফারেনশিয়াল সমীকরণও করতে পারে।

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-eucl,pst-circ}
\psset
{
    dipolestyle=zigzag,
    labelangle=0,
    labeloffset=-.9,
    intensitylabeloffset=-.4,
    tensionstyle=pm,
    tensionoffset=.9,
    tensionlabeloffset=.9,
    %tensioncolor=red,
    %tensionlabelcolor=blue,
}
\begin{document}
\begin{pspicture}[showgrid=none](12,-12)
	\pstGeonode[PosAngle={135,90,45,0,-45,-90,-135,180,45}]
		(2,-2){A}
		(6,-2){B}
		(10,-2){C}
		(10,-6){D}
		(10,-10){E}
		(6,-10){F}
		(2,-10){G}
		(2,-6){H}
		(6,-6){I}
	%
	\resistor[intensitylabel=$i_1$,tensionlabel=$V_{HA}$](H)(A){$R_1$}
	\resistor[tensionlabel=$V_{AB}$](A)(B){$R_2$}
	\vdc[tensionlabel=$V_{BC}$](B)(C){$E_1$}
	\resistor[tensionlabel=$V_{CB}$](C)(D){$R_3$}
	%
	\resistor[intensitylabel=$i_2$,tensionlabel=$V_{HI}$](H)(I){$R_4$}
	\vdc[tensionlabel=$V_{ID}$](I)(D){$E_2$}
	%
	\resistor[intensitylabel=$i_3$,tensionlabel=$V_{HG}$](H)(G){$R_5$}
	\newSwitch[ison=true,tensionlabel=$V_{GF}$](G)(F){$S_2$}
	\wire(F)(E)
	\resistor[tensionlabel=$V_{DE}$,dipoleconvention=generator](E)(D){$R_6$}
	%
	\vdc[tensionlabel=$V_{FI}$,dipoleconvention=generator](I)(F){$E_3$}
	\newSwitch[intensitylabel=$i_4$,tensionlabel=$V_{BI}$,ison=false](B)(I){$S_1$}	
\end{pspicture}
\end{document}

enter image description here


2

Yes.You বর্ণনা করতে code.You মাধ্যমে আপনার বর্তনী verilator, Xilinx বা অন্য কোন সফটওয়্যার ব্যবহার করতে পারেন HDLs ব্যবহার করতে পারেন বা আপনি ব্যবহার করতে পারেন https://www.edaplayground.com/ (যা আপনার পিসিতে কিছু ইনস্টল না করেও অনলাইন কাজ করে )।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.