নমুনা ফ্রিকোয়েন্সিতে আটকে থাকা এফপিজিএতে আইআইআর ফিল্টার তৈরি করা কি সম্ভব?


9

এই প্রশ্নটি খুব নির্দিষ্ট মানদণ্ডের সাথে, ডিএসপি স্লাইসগুলির সাথে একটি এফপিজিএতে আইআইআর ফিল্টার বাস্তবায়ন সম্পর্কে।

বলুন আপনি এই সমীকরণের সাথে কোনও ফরোয়ার্ড টেপ এবং কেবল 1 বিপরীত ট্যাপ দিয়ে একটি ফিল্টার তৈরি করছেন:

y[n]=y[n1]b1+x[n]

(চিত্র দেখুন)

জিলিনেক্সের উদাহরণ হিসাবে ডিএসপি 48 এ 1 স্লাইস নিন - বেশিরভাগ হার্ড আইপি ডিএসপি স্লাইসগুলি একই রকম।

আসুন আপনাকে প্রতি ঘড়িতে ১ টি নমুনায় এনালগ ডেটা আসবে বলে দেয়। আমি একটি আইআইআর ফিল্টার ডিজাইন করতে চাই যা নমুনা ঘড়িতে সিঙ্ক্রোনিকভাবে চলমান।

সমস্যাটি হ'ল সর্বাধিক হারে ডিএসপি স্লাইস চালানোর জন্য, আপনি একই চক্রটি বৃদ্ধি করতে এবং যোগ করতে পারবেন না। এই উপাদানগুলির মধ্যে আপনার কাছে পাইপলাইন রেজিস্টার থাকতে হবে।

সুতরাং, আপনার যদি প্রতি ঘড়িতে 1 টি নতুন নমুনা থাকে তবে আপনাকে প্রতি ঘড়িতে 1 আউটপুট উত্পাদন করতে হবে। তবে আপনি এই নকশায় একটি নতুন উত্পাদন করতে পারার আগে আপনার পূর্ববর্তী আউটপুট 2 টি ঘড়ি দরকার।

সুস্পষ্ট সমাধানটি হ'ল হয় ডাবল ক্লক রেটে ডেটা প্রক্রিয়াকরণ করা, বা পাইপলাইন রেজিস্টারটি অক্ষম করা যাতে আপনি একই চক্রটিতে গুণ এবং যোগ করতে পারেন।

দুর্ভাগ্যক্রমে, যদি আপনি পুরোপুরি পাইপলাইনযুক্ত ডিএসপি স্লাইসের সর্বাধিক ঘড়ির হারে নমুনা নিচ্ছেন তবে সেগুলির সমাধানগুলির কোনওটিই সম্ভব নয়। এটি নির্মাণের অন্য কোনও উপায় আছে?

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

লক্ষ্যটি হবে জিলিনেক্স আর্টিক্স এফপিজিতে একটি 1 জিএসপিএস এডিসির ক্ষতিপূরণ ফিল্টার চালানো। যখন সম্পূর্ণ পাইপলাইন করা হয় তখন তাদের ডিএসপি স্লাইসগুলি 500 মেগাহার্টজ এর বেশি চলতে পারে। যদি প্রতি ঘন্টার জন্য 1 টি নমুনার জন্য কোনও সমাধান থাকে, তবে আমি চেষ্টা করতে চাই এবং ঘড়ি প্রতি 2 টি নমুনার জন্য সমাধানটি স্কেল করতে চাই। এফআইআর ফিল্টার সহ এটি খুব সহজ।

একক প্রতিক্রিয়া আইআইআর ফিল্টার উদাহরণ


1
কেবল পরিষ্কার করার জন্য, পাইপলাইন পদ্ধতিতে আপনার প্রতি ঘড়ি চক্রের একটি আউটপুট না পাওয়ার কোনও কারণ নেই? আপনি দু'টির পরিবর্তে একটি ঘড়ির চক্রটিতে বিলম্বকে হ্রাস করার চেষ্টা করছেন, তাই না? আপনার পরিস্থিতির উপর নির্ভর করে, আপনি যদি বি 1 এর জন্য কোনও পূর্ণসংখ্যার ব্যবহার করছেন, তবে আপনি x [n] সহ গুণটিকে একটি বৃহত অ্যাডে রূপান্তর করতে পারেন।
হোর্টা

ডান - যেহেতু প্রতি ঘন্টার জন্য একটি ইনপুট রয়েছে, তাই প্রতি ঘড়িতে একটি আউটপুট থাকা দরকার। বিলম্বিতা কোনও সমস্যা নয়। ডিএসপি স্লাইসে কেবলমাত্র একটি 2 ইনপুট অ্যাডার থাকে এবং ট্যাপগুলি সাধারণত বেশ বড় সংখ্যক হয়, তাই আপনি 1 ঘড়ির চক্রে বি 1 বার যোগ করতে পারেন নি। মূল সীমাটি হ'ল আউটপুটটি 1 ঘড়িতে ফিরে খাওয়ানো প্রয়োজন তবে এটি উত্পাদন করতে 2 ঘড়ি লাগে।
মার্কাস 10110

1
আমি মনে করি আপনি এখনও একটি ভুল পাইছেন পাইপলাইন কীভাবে কাজ করে। একটি পাইপলাইন সম্ভাব্যভাবে বিলম্ব বাড়ায়, তবে প্রতিটি ঘড়ি চক্রের প্রতিটি ইনপুট জন্য আপনাকে 1 আউটপুট পেতে দেয়। এটি ঠিক যে ফলাফলটি এখন 1 ঘড়ি পরে আদর্শ 1 ঘড়ির পরে নয়। ইনপুটটি এইরকম ক্রম হবে: x [0], x [1], এক্স [2], এক্স [3], এক্স [4] যখন আউটপুট একই সময়ের ব্যবধানে হবে y [-2], y [-1], Y [0], Y [1], Y [2]। আপনি কোনও নমুনা হারাচ্ছেন না। এছাড়াও, আপনি একটি এফপিজিএতে রয়েছেন, সুতরাং ডিএসপি পাইপলাইনগুলির জন্য যে নকশাগুলি তৈরি করা হয়েছে তার চেয়ে বেশি কাজ করতে চাইলে কাজের চাপকে সমান্তরাল করতে fpga ব্যবহার করুন।
হর্টা

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

হর্টা - আপনি সাধারণভাবে পাইপলাইনের বিষয়ে ঠিক বলেছেন তবে সমস্যাটি হ'ল এই ক্ষেত্রে ট্যাব বি 1 এর প্রতিক্রিয়া রয়েছে - এর অর্থ পাইপলাইনের একটি পর্যায় পূর্ববর্তী মানের আউটপুটের উপর নির্ভর করে। পূর্ববর্তী আউটপুট থেকে পরবর্তী আউটপুট উত্পাদন করতে যদি সর্বদা 2 টি ঘড়ি লাগে তবে আপনি কতটা বিলম্ব করেছেন তা নির্বিশেষে প্রতি ঘড়ি প্রতি 1 আউটপুট উত্পাদন করার উপায় নেই। জবারলো - আপনি ঠিক বলেছেন, ডিএসপি স্লাইসে 1 টি চক্রের ফিউজড বিকল্প রয়েছে। তবে এটি এই ক্ষেত্রে পর্যাপ্ত দ্রুত চালাতে পারে না। এম রেজিস্টার যুক্ত করে (ডেটাশিট দেখুন) আপনি 500 মেগাহার্জ পৌঁছাতে পারেন then তবে আপনি একই গুণে গুন এবং যুক্ত করতে পারবেন না।
মার্কাস 10110

উত্তর:


3

আমি এখনও আইআইআর ফিল্টারগুলির সাথে কাজ করি নি তবে আপনি যদি কেবলমাত্র প্রদত্ত সমীকরণ গণনা করতে চান

y[n] = y[n-1]*b1 + x[n]

প্রতি সিপিইউ চক্রের পরে, আপনি পাইপলাইন ব্যবহার করতে পারেন।

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

ঠিক আছে, আসুন সূত্রটি দেখুন এবং একটি পাইপলাইন ডিজাইন করুন:

y[n] = y[n-1]*b1 + x[n]

আপনার পাইপলাইন কোডটি দেখতে দেখতে এটির মতো হতে পারে:

output <= last_output_times_b1 + last_input
last_output_times_b1 <= output * b1;
last_input <= input

নোট করুন যে তিনটি কমান্ড সমান্তরালভাবে কার্যকর করা দরকার এবং দ্বিতীয় লাইনে "আউটপুট" অতএব শেষ ঘড়ির চক্র থেকে আউটপুট ব্যবহার করে!

আমি ভেরিলোগের সাথে খুব বেশি কাজ করি নি, সুতরাং এই কোডটির বাক্য গঠনটি সম্ভবত ভুল (যেমন ইনপুট / আউটপুট সংকেতের বিট-প্রস্থ অনুপস্থিত; গুণনের জন্য এক্সিকিউশন সিনট্যাক্স)। তবে আপনার এই ধারণাটি পাওয়া উচিত:

module IIRFilter( clk, reset, x, b, y );
  input clk, reset, x, b;
  output y;

  reg y, t, t2;
  wire clk, reset, x, b;

  always @ (posedge clk or posedge reset)
  if (reset) begin
    y <= 0;
    t <= 0;
    t2 <= 0;
  end else begin
    y <= t + t2;
    t <= mult(y, b);
    t2 <= x
  end

endmodule

পিএস: হতে পারে কিছু অভিজ্ঞ ভেরিলোগ প্রোগ্রামার এই কোডটি সম্পাদনা করতে পারে এবং এই মন্তব্যটি এবং কোডের উপরে মন্তব্যটি পরে সরিয়ে ফেলতে পারে। ধন্যবাদ!

পিপিএস: যদি আপনার ফ্যাক্টর "বি 1" একটি স্থির ধ্রুবক হয় তবে আপনি একটি বিশেষ গুণক প্রয়োগ করে নকশাটি অনুকূল করতে সক্ষম হতে পারেন যা কেবলমাত্র একটি স্কেলার ইনপুট নেয় এবং কেবল "বার বি 1" গণনা করে।

এর প্রতিক্রিয়া: "দুর্ভাগ্যক্রমে, এটি আসলে y [n] = y [n-2] * b1 + x [n] এর সমতুল্য This অতিরিক্ত পাইপলাইন পর্যায়ের কারণে এটি।" উত্তরের পুরানো সংস্করণ হিসাবে মন্তব্য

হ্যাঁ, এটি নীচের পুরানো (প্রকৃত !!!) সংস্করণের জন্য সত্য ছিল:

  always @ (posedge clk or posedge reset)
  if (reset) begin
    t <= 0;
  end else begin
    y <= t + x;
    t <= mult(y, b);
  end

আমি আশা করি দ্বিতীয় খাতাতেও ইনপুট মানগুলি বিলম্ব করে এই বাগটি এখনই সংশোধন করেছি:

  always @ (posedge clk or posedge reset)
  if (reset) begin
    y <= 0;
    t <= 0;
    t2 <= 0;
  end else begin
    y <= t + t2;
    t <= mult(y, b);
    t2 <= x
  end

এবার এটি সঠিকভাবে কাজ করে তা নিশ্চিত করার জন্য প্রথম কয়েকটি চক্রের ক্ষেত্রে কী ঘটে তা দেখা যাক। নোট করুন যে প্রথম 2 টি চক্র কম-বেশি (সংজ্ঞায়িত) আবর্জনা উত্পাদন করে, পূর্ববর্তী কোনও আউটপুট মান (যেমন y [-1] == ??) উপলভ্য নয়। Y রেজিস্টার 0 দিয়ে আরম্ভ করা হয়েছে যা y [-1] == 0 ধরে নেওয়ার সমতুল্য।

প্রথম চক্র (n = 0):

BEFORE: INPUT (x=x[0], b); REGISTERS (t=0, t2=0, y=0)

y <= t + t2;      == 0
t <= mult(y, b);  == y[-1] * b  = 0
t2 <= x           == x[0]

AFTERWARDS: REGISTERS (t=0, t2=x[0], y=0), OUTPUT: y[0]=0

দ্বিতীয় চক্র (n = 1):

BEFORE: INPUT (x=x[1], b); REGISTERS (t=0, t2=x[0], y=y[0])

y <= t + t2;      ==     0  +  x[0]
t <= mult(y, b);  ==  y[0]  *  b
t2 <= x           ==  x[1]

AFTERWARDS: REGISTERS (t=y[0]*b, t2=x[1], y=x[0]), OUTPUT: y[1]=x[0]

তৃতীয় চক্র (n = 2):

BEFORE: INPUT (x=x[2], b); REGISTERS (t=y[0]*b, t2=x[1], y=y[1])

y <= t + t2;      ==  y[0]*b +  x[1]
t <= mult(y, b);  ==  y[1]   *  b
t2 <= x           ==  x[2]

AFTERWARDS: REGISTERS (t=y[1]*b, t2=x[2], y=y[0]*b+x[1]), OUTPUT: y[2]=y[0]*b+x[1]

চতুর্থ চক্র (n = 3):

BEFORE: INPUT (x=x[3], b); REGISTERS (t=y[1]*b, t2=x[2], y=y[2])

y <= t + t2;      ==  y[1]*b +  x[2]
t <= mult(y, b);  ==  y[2]   *  b
t2 <= x           ==  x[3]

AFTERWARDS: REGISTERS (t=y[2]*b, t2=x[3], y=y[1]*b+x[2]), OUTPUT: y[3]=y[1]*b+x[2]

আমরা দেখতে পাচ্ছি, সিলিস n = 2 দিয়ে শুরু করে আমরা নিম্নলিখিত আউটপুটটি পাই:

y[2]=y[0]*b+x[1]
y[3]=y[1]*b+x[2]

যা সমান

y[n]=y[n-2]*b + x[n-1]
y[n]=y[n-1-l]*b1 + x[n-l],  where l = 1
y[n+l]=y[n-1]*b1 + x[n],  where l = 1

উপরে উল্লিখিত হিসাবে আমরা l = 1 চক্রের অতিরিক্ত ল্যাগটি প্রবর্তন করি। এর অর্থ হ'ল আপনার আউটপুট y [n] লেগ l = 1 দ্বারা বিলম্বিত। তার মানে আউটপুট ডেটা সমান তবে এক "সূচক" দ্বারা বিলম্বিত। আরও পরিষ্কার হতে: আউটপুট ডেটা বিলম্বিত হয় 2 চক্র, কারণ এক (সাধারণ) ক্লকচক্রটি প্রয়োজন হয় এবং মধ্যবর্তী পর্যায়ে 1 টি অতিরিক্ত (ল্যাগ l = 1) ক্লক চক্র যুক্ত করা হয়।

ডেটা কীভাবে প্রবাহিত হবে তা চিত্রিত করার জন্য এখানে একটি স্কেচ দেওয়া হয়েছে:

ডেটা প্রবাহের স্কেচ

পিএস: আমার কোডটি ঘনিষ্ঠভাবে দেখার জন্য আপনাকে ধন্যবাদ। তাই আমিও কিছু শিখেছি! ;-) এই সংস্করণটি সঠিক কিনা আপনি যদি আমাকে আর কোনও সমস্যা দেখতে পান তবে আমাকে জানান।


চমৎকার কাজ! দুর্ভাগ্যক্রমে, y [n] = y [n-2] * b + x [n-1] আসলে কার্যত y এর সমতুল্য নয় [n] = y [n-1] * b + x [n] বিলম্ব সহ। আইআইআর ট্রান্সফার ফাংশনের ফর্মটি দেখতে আসলে: y [n] = x [n] * b0 + x [n-1] * বি 1 - y [n-1] * a1 - y [n-2] * a2 ইত্যাদি। আপনার ফর্মটি বি0 এবং এ 1 থেকে 0 সেট করে এবং পরিবর্তে বি 1 এবং এ 2 ব্যবহার করে। তবে, রূপান্তরটি আসলে একটি খুব আলাদা ফিল্টার উত্পাদন করে। যদি প্রথম ডিনোমিনেটর (এ 1) এর সাথে শূন্যতে সেট করা ফিল্টার গণনা করার কোনও উপায় ছিল তবে আপনার উভয় সমাধান পুরোপুরি কার্যকর হবে।
মার্কাস 10110

ঠিক আছে, আপনার "প্রবর্তিত পিছিয়ে" সমস্যাটি সঠিকভাবে বুঝতে হবে। উদাহরণস্বরূপ, একটি "ডেটা স্ট্রিম প্রসেসিং" ফিল্টারটি কেবলমাত্র তার ইনপুটটি y [n] = x [n] হিসাবে সঠিকভাবে কাজ করবে যদি এটি আউটপুট হিসাবে y [n] = x [n-1] উত্পাদন করে। আউটপুটটি কেবলমাত্র 1 চক্র দ্বারা বিলম্বিত হয়েছে (উদাহরণস্বরূপ আউটপুট সূচকগুলি সমস্ত ইনপুট সূচকের তুলনায় একটি নির্দিষ্ট মান দ্বারা অফসেট হয়)! আমাদের উদাহরণে এর মানে আপনার ফাংশন y[n+l] = y[n-1] * b + x[n]ল্যাগ জন্য একটি নির্দিষ্ট মান দিয়ে lযা পুনর্লিখিত করা যেতে পারে y[n] = y[n-1-l] * b + x[n-l]এবং এল = 1 এই জন্য y[n] = y[n-2] * b + x[n-1]
এসডওয়ারফস

আপনার আরও জটিল আইআইআর ফিল্টারের জন্য আপনাকে একই কাজটি করতে হবে: y[n+l] = x[n] * b0 + x[n-1] * b1 - y[n-1] * a1 - y[n-2] * a2=> y[n] = x[n-l]*b0 + x[n-1-l] * b1 - y[n-1-l] * a1 - y[n-2-l]*a2। ধরে নিচ্ছি যে আপনি তিনটি গুণকে সমান্তরালভাবে (1. পর্যায়ে / 1 চক্র) করতে পারবেন এবং পণ্যগুলি একসাথে যুক্ত করার জন্য আপনার প্রয়োজন 2 টি চক্র (1 চক্র: অ্যাড / সাব প্রথম দুটি পণ্য ফলাফল, 1 চক্র: যোগ / উপ এই দুটি অ্যাড / সাবস) এর ফলাফলের জন্য আপনার আরও 2 টি অতিরিক্ত চক্রের প্রয়োজন হবে। সুতরাং l = (3-1) = 2 আপনাকে দিচ্ছে y[n]=x[n-2]*b0+x[n-1-2]*b1-y[n-1-2]*a1-y[n-2-2]*a2=>y[n]=x[n-2]*b0+x[n-3]*b1-y[n-3]*a1-y[n-4]*a2
এসডিওয়ার্স

অবশ্যই এটি কাজ করার জন্য আপনার এফপিজিএ অবশ্যই সমান্তরালভাবে করতে সক্ষম হতে হবে: 4 গুণ এবং 3 সংযোজন / বিয়োগফল। অর্থ আপনার 4 গুণক এবং 3 সংযোজনকারীদের সংস্থান দরকার।
এসডিওয়ার্সস

0

হ্যাঁ আপনি নমুনা ফ্রিকোয়েন্সি ঘড়ি করতে পারেন।

এই ইস্যুটির একটি সমাধান হ'ল আসল এক্সপ্রেশনটি হেরফের করা যাতে কাঙ্ক্ষিত আউটপুট ক্রম বজায় রেখে পাইপলাইন নিবন্ধগুলি সন্নিবেশ করা যায়।

প্রদত্ত: y [n] = y [n-1] * বি 1 + এক্স [এন];

এটি হেরফের হতে পারে: y [n] = y [n-2] * বি 1 * বি 1 + এক্স [এন -1] * বি 1 + এক্স [এন]।

এটি যাচাই করতে একই ক্রমটি বিবেচনা করুন প্রথম কয়েকটি নমুনা x [0], x [1], x [2] ইত্যাদির ক্ষেত্রে কী ঘটেছিল, যেখানে x [0] এর পূর্বে সমস্ত x, y নমুনা শূন্য ছিল।

মূল প্রকাশের জন্য ক্রমটি হ'ল:

y = x[0],

x[1] +x[0]*b1,

x[2] +x[1]*b1 +x[0]*b1*b1,

x[3] +x[2]*b1 +x[1]*b1*b1 +x[0]*b1*b1*b1, ...

এটি পরিষ্কার যে এটি b1 <1 প্রয়োজন, অন্যথায় এটি আবদ্ধ না হয়ে বৃদ্ধি পাবে।

এখন হেরফের করা অভিব্যক্তি বিবেচনা করুন:

y = x[0],

x[0]*b1 +x[1],

x[0]*b1*b1 +x[1]*b1 +x[2],

x[0]*b1*b1*b1 +x[1]*b1*b1 +x[2]*b1 +x[3], ...

এটি একই ক্রম।

জিলিনেক্স লাইব্রেরির আদিমদের একটি হার্ডওয়্যার সমাধানের জন্য ক্যাসকেডে দুটি ডিএসপি 48 ই দরকার হবে। বন্দরের জন্য UG193 v3.6 এ 1-1 চিত্র দেখুন এবং নীচে নামগুলি নিবন্ধ করুন। প্রথম আদিমটি বি 1 দিয়ে গুণ এবং পরে একটি ঘড়ি যুক্ত করছে; দ্বিতীয়টি বি 1 * বি 1 দিয়ে গুণমান এবং পরে একটি ঘড়ি যুক্ত করছে। এই যুক্তির জন্য একটি 4 ঘড়ি পাইপলাইন বিলম্ব আছে cy

- ডিএসপি 48E # 1

a_port1: = বি 1; - ধ্রুবক সহগ, AREG = 1 সেট করুন

b_port1: = x; - বিটিআরজি = 1 নির্ধারণ করুন

সি_পোর্ট1: = এক্স; - সিআরইজি = 1 সেট করুন

- ডিএসপি 48E # 1 এর অভ্যন্তরীণ

reg_a1 <= a_port1;

reg_b1 <= b_port1;

reg_c1 ​​<= c_port1;

reg_m1 <= reg_a1 * reg_b1;

reg_p1 <= reg_m1 + reg_c1; - 1 ম DSP48E এর আউটপুট

- ডিএসপি 48E # 1 এর সমাপ্তি

- ডিএসপি 48E # 2

a_port2: = reg_p2; - নির্ধারিত বৈশিষ্ট্য এআরজি = 0

                -- this means the output of register reg_p2

                -- directly feeds back to the multiplier

b_port2: = বি 1 * বি 1; - ধ্রুবক, BREG = 1 সেট করুন

c_port2: = reg_p1; - সিআরইজি = 1 সেট করুন

- ডিএসপি 48E # 2 এর অভ্যন্তরীণ

reg_b2 <= বি_পোর্ট 2;

reg_c2 <= c_port2;

reg_m2 <= a_port2 * reg_b2;

reg_p2 <= reg_m2 + reg_c2;

- ডিএসপি 48E # 2 এর সমাপ্তি

রেজি_পি 1 এর ক্রম:

এক্স [0],

x [1] + x [0] * বি 1,

x [2] + x [1] * বি 1,

x [3] + x [2] * বি 1,

প্রভৃতি

Reg_p2 এ ক্রমটি পছন্দসই ফলাফল। ২ য় ডিএসপি 48 ই-র অভ্যন্তরীণ, রেজিস্টার Reg_m2 এর ক্রম রয়েছে:

এক্স [0] * B1 * B1,

x [1] * বি 1 * বি 1 + এক্স [0] * বি 1 * বি 1 * বি 1,

x [2] * বি 1 * বি 1 + এক্স [1] * বি 1 * বি 1 * বি 1 + এক্স [0] * বি 1 * বি 1 * বি 1 * বি 1

এই ফলাফল একটি দুর্দান্ত কমনীয়তা আছে। স্পষ্টতই DSP48E একই ঘড়িতে গুণিত এবং সংযোজন করে না, তবুও পার্থক্য সমীকরণের প্রয়োজন এটি। কৌশলগত পার্থক্য সমীকরণ আমাদের ডিএসপি 48 ই এবং এমপিপি রেজিস্টারগুলিকে সম্পূর্ণ গতিতে সহ্য করতে দেয়।

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