در مورد سوال دومتون که فرمودین چجوری سرعت کلاک رو تنظیم کردیم
فرض کنید کلاک مدار ما 10 هرتزه ؛ این یعنی چی ؟ یعنی ما یه کلاک داریم که تو هر ثانیه 10 با نوسان میکنه (10 بار دوره اش تکرار میشه)
و ما قصد داریم یه سیگنال کلاک دیگه بسازیم که فرکانسش 1 هرتز باشه یعنی یه بار بار در ثانیه تکرار بشه
تو برناممون میگیم بعد شمردن 5 لبه بالا رونده سیگنال مارو NOT کن
(روی یه کاغذ پالس ها رو بکشید متوجه میشید)
به تصویر زیر دقت کنید , اولین شکل موج پالس های کلاک ما هستن
QA : تو لبه های بالا رونده کلاک ما این سیگنال NOT میشه
QB : بعد هر دو لبه بالا رونده سیگنال NOT میشه
QC : بعد هر 4 لبه بالارونده سیگنال NOT شده
مثلا اگه قرار باشه تو همین مثال سیگنال QC رو تولید کنیم ,کدمون اینجوری میشه :
Process (clockPulses)
Variable counter :integer
Begin
If (clockPulses’event and clockPulses = ‘1’) then
Counter := counter +1 ;
If (counter >3) then
QC <= Not QC;
Counter :=0;
End if;
End if;
En process;
به این صورت با تغییر عدد 3 تو کد بالا و با توجه به کلاک بردتون میتونید سرعت دلخواه خودتونو تولید کنید.
فکر کنم متوجه این قسمت شدید . در کل بازم اگه سوالی بود بپرسید تا جایی که بلد باشم راهنمایی میکنم.