کتاب طراحی مدارهاي دیجیتال با System Verilog
آزمون تاپ
نویسنده: علی کارگرنژاد
محمدتقی فاتحی خواجه
ندا پرقیمت
سال چاپ: 1402
نوبت چاپ: 1
299,000 تومان
طراحی مدارهاي دیجیتال با System Verilog
بعد از اين که “کتاب طراحي سيستم ديجيتال با VHDL” منتشر شد، ايده نوشتن يک کتاب طراحی مدارهای دیجیتال با system verilog بوسيله يک زبان توصيف سخت افزار به نظر جديد ميآمد.
اکنون کتاب طراحي سيستم ديجيتال با VHDL توسط چندين دانشگاه به عنوان مرجع اصلي پذيرفته شده و به زبانهاي لهستاني، چيني، ژاپني و ايتاليايي ترجمه شده است. طولي نکشيد که بعد از انتشار ويرايش دوم طراحي سيستم ديجيتال با VHDL، System Verilog به عنوان يک زبان جديد توصيف سخت افزار پديدار شد.
کتاب طراحی مدارهای دیجیتال با system verilog به عنوان کتاب درسي مختص دانشجويان دوره ليسانس و هم فوق ليسانس ميباشد. اکثر کتابهاي وريلاگ و سيستم وريلاگ، بر اساس طرحهاي عملي براي مهندسين بنا نهاده شدهاند. بنابراين بعضي از ويژگيهاي سيستموريلاگ به هيچ عنوان در اين کتب بيان نشدهاند. در مقابل، جنبههایی از طراحي ديجيتال در اين کتاب پوشش داده شده که در کتابهاي نمونه سيستموريلاگ ديگر نخواهد بود.
سرفصلها براي مهندسي برق، الکترونيک و کامپيوتر در ميان کشورها، دانشگاهها يا کالجها متفاوت ميباشد. مطالب مطرح در کتاب طراحی مدارهای دیجیتال با system verilog براي دانشجويان سال دوم و سوم کارشناسي و همچنين دانشجويان کارشناسي ارشد در نظر گرفته شده است. اين طور فرض ميشود که دانشجويان با قواعد جبر بولي و طراحي منطق ترکيبي آشنا هستند.
در دانشگاه ساوتمپتون انگلستان سر فصلهاي دانشجوي سال اول دوره ليسانس، شامل طراحي ترتيبي آسنکرون و منطق قابل برنامهريزي نيز ميباشد. بنابراين، اين کتاب بر اين اساس به وجود آمده است. اغلب اين گونه تصور ميشده که مباحثي مانند سيستموريلاگ براي تدريس در سال دوم بسيار اختصاصي بوده و بهتر است به سال آخر يا دوره فوق ليسانس موکول شود.
دلايل محکم و خوبي وجود دارد براي اينکه چرا بايد سيستموريلاگ هرچه زودتر در برنامه درسي گنجانده شود. با افزايش پيچيدگي مدارهاي مجتمع، کسب دانش علم سيستم وريلاگ و ابزارهاي طراحي مربوطه يک نياز براي دانش آموختگان به شمار ميآيد. اگر اين مباحث را به سال آخر موکول کنيم، زمان کمي و شايد هيچ زماني براي اينکه دانشجويان اين علم را در کار پروژهاي به کار ببندند وجود نداشته باشد.
ثانياً گفت و گو با همکاران در بسياري از کشورها نشان داد که دانشجويان امروزي برگزيدن علوم کامپيوتر يا مهندسي کامپيوتر را به مهندسي برق يا الکترونيک ترجيح ميدهند. سيستموريلاگ مفاهيم جذابي را براي دانشجويان کامپيوتر در طراحي سخت افزار عرضه کرده است. سرانجام ابزارهاي شبيهسازي و سنتز و بسته طراحي FPGA ساخته شده و به طور نسبتاَ ارزان در موسسههاي آموزشي و روي سيستم عامل کامپيوترهاي شخصي در دسترس ميباشند.
ساختار اين کتاب
فصل ۱ کتاب طراحی مدارهای دیجیتال با system verilog ايدههاي را که در بطن اين کتاب است، معرفي ميکند، به طور مثال استفاده از ابزارهاي خودکارسازي طراحي الکترونيک و CMOS و تکنولوژي منطق قابل برنامه ريزي. ما همچنين بعضي از مشکلات مهندسين مثل محدوده نويز و گنجايش خروجي را در نظر گرفتيم.
در فصل ۲ کتاب طراحی مدارهای دیجیتال با system verilog قواعد جبر بولي و طراحي منطق ترکيبي مرور ميشوند. مسئله مهم زمانبندي و مشکلات مربوط به هزارد مورد بررسي قرار ميگيرند. برخي تکنيکهاي مقدماتي براي نشان دادن دادهها مطرح ميشود.
در فصل ۳ کتاب طراحی مدارهای دیجیتال با system verilog سيستموريلاگ به واسطه مدلهاي اوليه گيت منطقي معرفي ميشود. در اين فصل بر اهميت کد مستند شده تاکيد ميشود. ما نشان ميدهيم که چطور نت ليستهاي گيتهاي اوليه ساخته ميشوند و چگونه تاخيرها به واسطه گيتها مدلسازي ميشوند. ما همچنين مدلهاي پارامتري را مطرح خواهيم کرد. ايده استفاده از سيستموريلاگ براي تصدیق مدلها، با استفاده از testbench تعريف ميگردد.
در فصل ۴ کتاب طراحی مدارهای دیجیتال با system verilog تکنيکهاي متنوع مدلسازي شرح داده ميشود. بلوکهاي ساختاري ترکيبي، ديکدرها، انکدرها، مالتي پلکسرها، جمع کنندهها و چک کنندههاي پريتي مدلسازي شده، با استفاده از يک رشته ساختار کد همزمان و ترتيبي سيستموريلاگ، مدل سازی میشوند. مدلهاي سخت افزاري سيستموريلاگ دراين فصل معرفي ميشوند و در فصول ۵، ۶ و ۷ عملا مدلهاي سخت افزاري سنتزپذير بيان ميشوند. گرچه بحث اينکه چه چيزهايي دقيقا پشتيباني ميشوند تا فصل ۱۰ به عقب افتاده است. روش طراحي testbench دوباره در فصل ۴ مطرح ميشود. به علاوه نماد وابستگی IEEE معرفي ميشود.
فصل ۵ کتاب طراحی مدارهای دیجیتال با system verilog بلوکهاي ساختاري ترتيبي گوناگوني را نشان ميدهد: لچها، فليپ فلاپها، ثباتها، شمارندهها، حافظه و يک مالتي پلکسر ترتيبي. به همان سبکي که در فصل ۴ استفاده شد با نماد وابستگی IEEE، طراحي testbench و معرفي ساختار کدبندي سيستموريلاگ.
فصل ۶ کتاب طراحی مدارهای دیجیتال با system verilog شايد مهمترين فصل اين کتاب باشد و در مورد اين بحث ميکند که در اصول طراحي ديجيتال چه چيزهايي ممکن است مطرح شود:طراحي ماشينهاي حالت متناهي. علائم چارت ASM بيان ميشود. فرايند طراحي از چارت ASM به فليپ فلاپهاي نوع D و منطق حالت بعدي و خروجي شرح داده ميشود. مدلهاي سيستموريلاگ ماشينهاي حالت معرفي ميشوند.
در فصل ۷ کتاب طراحی مدارهای دیجیتال با system verilog مفاهيم سه فصل قبل ترکيب ميشوند. علائم چارت ASM براي بيان ماشينهاي حالت کوپله شده و خروجيهاي رجيستر شده، توسعه ميابند و بنابراين مسيرداده-کنترلکننده، قسمتبندي ميشود. از اين رو ما ايده دستورالعمل در قالب سخت افزار را توضيح ميدهيم و مدلسازي يک ريزپردازنده بسيار مقدماتي را در سيستموريلاگ ادامه ميدهيم. اين وسيلهاي را براي معرفي واسطها و پکيجها تأمين ميکند.
طراحي testbench در فصل ۸ با جزئيات بيشتر مورد بحث قرار ميگيرد. پس از پوششدهي تکنيکهاي فصلهاي قبل، ما بحث درباره معماري testbench، توليد آزمون تحميلي تصادفي و تائيد مبتني بر اثبات را ادامه ميدهيم.سيستموريلاگ اصولا يک زبان مدلسازي باقي ميماند.
فصل۹ کتاب طراحی مدارهای دیجیتال با system verilog عمليات يک شبيه ساز سيستموريلاگ را توصيف ميکند. ابتدا ايده شبيهسازي رويدادگرا توضيح داده ميشود و سپس ويژگيهاي مخصوص سيستموريلاگ مورد بحث قرار ميگيرد.
مسئله ديگري که به طور فزاينده مهم شمرده ميشود نقش سيستموريلاگ به عنوان يک زبان براي توصيف مدلهاي سنتز به همان صورت که در فصل ۱۰ توصيف شد، ميباشد. امروزه نوع عمده ابزارهاي سنتز که در دسترس است، براي سنتز RTL ميباشد.
اين ابزارها ميتوانند به وجود فليپ فلاپها و لچها در يک مدل سيستموريلاگ پي ببرند. اين ساختارها توصیف شدهاند. متقابلاً فليپ فلاپها ميتوانند به غلط ايجاد شوند اگر توصيف ضعيف نوشته شده باشد و يا توصيف شامل خطاهاي معمول باشد. فرايند سنتز ميتواند توسط محدوديتهايي کنترل شود. به دليل اينکه اين محدوديتها خارج از خود زبان هستند آنها در شرايط کلي مورد بحث قرار ميگيرند.
ساختارهاي مناسب براي FPGA بيان شده است. و در نهايت سنتز رفتاري که انتظار ميرود که يک تکنولوژي طراحي مهم شود، به طور خلاصه بررسي ميشود.
فصل ۱۱ و ۱۲ کتاب طراحی مدارهای دیجیتال با system verilog به مباحث آزمون و طراحي براي آزمون اختصاص داده شدهاند. اغلب اين سطح از مطلب مورد اهمال قرار ميگرفت. اما امروزه به عنوان يک بخش مهم از فرايند طراحي شناخته ميشود. در فصل ۱۱ ايده مدلسازي خطا معرفي شده است. سپس شيوههاي توليد آزمون بيان ميشود. اثرات يک آزمون توسط شبيهسازي خطا تعيين ميشود.
در فصل ۱۲ سه اصل مهم در طراحي براي آزمون شرح داده ميشود: مسير اسکن، آزمون خودساخته و اسکن مرزي. اين هميشه يک موضوع بينتيجه بوده است. اما يک شبيه ساز سيستموريلاگ به طور مثال ميتواند به منظور اينکه نشان دهد چگونه يک ساختار آزمون خودساخته ميتواند اثرات متفاوتي براي مدارهاي عاري از خطا و خطادار توليد کند، استفاده شود.
ما در فصل ۱۳ از سيستموريلاگ به عنوان ابزاري براي کشف رفتارهاي متناقض در مدارهاي ترتيبي آسنکرون استفاده ميکنيم. اگرچه روش غالب طراحي به طور رايج سنکرون است. محتملاً سيستمهاي ديجيتال به طور فزاينده شامل ارتباط آسنکرون مدارهاي سنکرون با يکديگر خواهند بود. ما مفاهيم مد اساسي را معرفي ميکنيم و نشان ميدهيم چگونه مدارهاي آسنکرون تجزيه و تحليل و طراحي ميشوند. ما از شبيهسازي سيستموريلاگ به منظور توضيح مشکلات هزاردها، رقابتها و نقض زمان راه اندازي و نگه داري استفاده ميکنيم. ما همچنين مشکل شبه پايداري را مورد بررسي قرار ميدهيم.
فصل آخر کتاب طراحی مدارهای دیجیتال با system verilog Verilog-AMS و مدلسازي سيگنال ترکيبي را معرفي ميکند. توضيح خلاصهاي از مبدلهاي ديجيتال به آنالوگ و آنالوگ به ديجيتال آورده شده است. ساختارهاي Verilog-AMS که به عنوان مبدلها مدل شدهاند بيان شده است. ما اينجا همچنين ايده حلقه قفل شده فاز را معرفي ميکنيم و يک مدل ساده سيگنال ترکيبي را ارائه داديم. پيوست به طور خلاصه تشريح ميکند که چگونه سيستموريلاگ با ورژنهاي قبلي وريلاگ متفاوت است.
انتهاي هر فصل شامل تعدادي تمرين ميباشد. اين تمرينها همچنين بصورت کمکي هستند تا دستورات هر فصل را شبيهسازي و يا در صورت لزوم سنتز کنيد. براي اجراي اين اعمال شبيهسازي و سنتز ممکن است خواننده خودش مجبور به نوشتن testbenchها و فايلهاي محدوديت (قيد) شود.
فهرست مطالب کتاب طراحی مدارهای دیجیتال با system verilog:
پيشگفتار
فصل ۱ / مقدمه
۱-۱ طراحي ديجيتال امروزي(نوين)
۱-۲ طراحي با زبانهاي توصيف سخت افزار
۱-۲-۱ طراحي خودکار
۱-۲-۲ SystemVerilog چيست؟
۱-۲-۳ VHDL چيست؟
۱-۲-۴ شبيه سازي
۱-۲-۵ سنتز
۱-۲-۶ استفاده مجدد
۱-۲-۷ تأييد
۱-۲-۸ روند طراحي
۱-۳ تکنولوژي CMOS
۱-۳-۱ گيتهاي منطقي
۱-۳-۲ ASICها و FPGA
۱-۴ منطق قابل برنامهريزي
۱-۵ مشخصات الکتريکي
۱-۵-۱ محدوده نويز
۱-۵-۲ گنجايش خروجي
فصل ۲ / طراحي منطق ترکيبي
۲-۱ جبر بولي
۲-۱-۱ مقادير
۲-۱-۲ عملگرها
۲-۱-۳ جداول درستي
۲-۱-۴ قوانين جبر بولي
۲-۱-۵ قانون دمورگان
۲-۱-۶ قضيه بسط شانن
۲-۲ گيتهاي منطقي
۲-۳ طراحي منطق ترکيبي
۲-۳-۱ حداقلسازي منطق
۲-۳-۲ جدولهاي کارنو
۲-۴ زمانبندي
۲-۵ کدهاي عددي
۲-۵-۱ اعداد صحيح
۲-۵-۲ اعداد با مميز ثابت
۲-۵-۳ اعداد با مميز شناور
۲-۵-۴ کاراکترهاي الفبايي- عددي
۲-۵-۵ کدهاي گري
۲-۵-۶ بيتهاي توازن
فصل ۳ / منطق تركيبي با استفاده از مدلهاي گيت سيستموريلاگ
۳-۱- فايلها و ماژولها
۳-۲ شناسهها، فضاها و توضيحات
۳-۳ مدلهاي گيتپايه
۳-۴ يك نت ليست ساده
۳-۵ مقادير منطقي
۳-۶ انتسابهاي پيوسته
۳-۶-۱ عملگرهاي سيستموريلاگ
۳-۷ تأخيرها
۳-۸ پارامترها
۳-۹ )Testbenchبستر آزمون)
فصل ۴ / بلاكهاي ساختار تركيبي
۴-۱ مالتي پلكسر (تسهيمكننده)
۴-۱-۱ مالتي پلكسر ۲ به ۱
۴-۱-۲ مالتي پلكسر ۴ به ۱
۴-۲ ديكدر (رمزگشا)
۴-۲-۱ ديكدر ۲ به ۴
۴-۲-۲ ديكدر پارامتري
۴-۲-۳ ديكدر سِوِن سگمنت (۷-seg)
۴-۳ رمزگذار اولويت
۴-۳-۱ مقادير يكتا و بياهميت
۴-۴ جمعكنندهها
۴-۴-۱ مدل تابعي
۴-۴-۲ جمعكننده موجي
۴-۴-۳ Tasks (كارها)
۴-۵ چككننده توازن
۴-۶ بافرهاي سه حالته
۴-۶-۱ منطق چند مقداري
۴-۷ Testbench بلاكهاي تركيبي
فصل ۵ / مدلهاي سيستموريلاگ بلاکهاي منطقي ترتيبي
۵-۱ نگهدارندهها(لچها)
۵-۱-۱ نگهدارنده SR
۵-۱-۲ نگهدارنده D
۵-۲ فليپ فلاپها
۵-۲-۱ فليپ فلاپ D تغييرکننده با لبه
۵-۲-۲ SET وRESET آسنکرون (نشاندن و بازنشاندن آسنکرون)
۵-۲-۳ Set و Reset سنکرون و فعالساز کلاک
۵-۳ فليپ فلاپهاي JK و T
۵-۴ ثباتها و ثباتهاي انتقالي
۵-۴-۱ ثبات چندبيتي
۵-۴-۲ ثباتهاي انتقالي (شيفت رجيسترها)
۵-۵ شمارندهها
۵-۵-۱ شمارنده باينري
۵-۵-۲ شمارنده جانسون
۵-۵-۳ ثبات انتقال با فيدبک خطي
۵-۶ حافظه
۵-۶-۱ ROM
۵-۶-۲ SRAM
۵-۶-۳ RAM سنکرون
۵-۷ ضربکننده ترتيبي
۵-۸ Testbench براي بلاکهاي ساختار ترتيبي
۵-۸-۱ توليد کلاک
۵-۸-۲ Resetها و ساير سيگنالهاي قطعي
۵-۸-۳ پاسخهاي بررسي
فصل ۶ / طراحي ترتيبي سنکرون
۶-۱ سيستمهاي ترتيبي سنکرون
۶-۲ مدلهاي سيستمهاي ترتيبي سنکرون
۶-۲-۱ ماشينهاي مور و ميلي
۶-۲-۲ ثباتهاي حالت
۶-۲-۳ طراحي يک شمارنده سه بيتي
۶-۳ ماشينهاي حالت الگوريتمي
۶-۴ سنتز از روي چارتهاي ASM
۶-۴-۱ پيادهسازي سخت افزار
۶-۴-۲ تخصيص حالت
۶-۴-۳ حداقلسازي حالت
۶-۵ ماشينهاي حالت در سيستموريلاگ
۶-۵-۱ اولين مثال
۶-۵-۲ تشخيصدهنده بيت توازن متوالي
۶-۵-۳ ماشين Vending
۶-۵-۴ ذخيرهسازي داده
۶-۶ test benchها براي ماشين حالت
فصل ۷ /سيستمهاي ترتيبي پيچيده
۷-۱ ماشينهاي حالت به هم پيوسته
۷-۲ تقسيمبندي مسير داده- کنترل کننده
۷-۳ دستورالعملها
۷-۴ يک ميکروپروسسور ساده
۷-۵ مدل سيستموريلاگ يک ميکروپروسسور ساده
فصل ۸ / نوشتن Testbench
۸-۱ Testbenchهاي پايه
۸-۱-۱ توليد کلاک
۸-۱-۲ Reset و ساير سيگنالهاي قطعي
۸-۱-۳ نمايش پاسخها
۸-۱-۴ پاسخهاي موقت
۸-۱-۵ بردارهاي تست از يک فايل
۸-۲ ساختار Testbench
۸-۲-۱ برنامهها
۸-۳ توليد محرکهاي تصادفي ساختگي
۸-۳-۱ برنامهنويسي شيگرا
۸-۳-۲ توليد عدد تصادفي (Randomization)
۸-۴ تأييد مبتني بر بازبيني
فصل ۹ / شبيهسازي سيستموريلاگ
۹-۱ شبيهسازي فعال شده با رخداد
۹-۲ شبيهسازي سيستموريلاگ
۹-۳ رقابتها
۹-۳-۱ اجتناب از رقابت
۹-۴ مدلهاي تأخير
۹-۵ ابزارهاي شبيهسازي
فصل ۱۰ / سنتز سيستموريلاگ
۱۰-۱ سنتز RTL
۱۰-۱-۱ سيستموريلاگ سنتزناپذير
۱۰-۱-۲ فليپ فلاپها و نگهدارندههاي استنتاج شده
۱۰-۱-۲-۱ نگهدارنده حساس به سطح
۱۰-۱-۲-۲ فليپ فلاپ حساس به لبه
۱۰-۱-۳ منطق ترکيبي
۱۰-۱-۴ خلاصهاي از قوانين سنتز RTL
۱۰-۲ قيود
۱۰-۲-۱ صفات
۱۰-۲-۲ قيدهاي مساحتي و ساختاري
۱۰-۲-۲-۱ کدگذاري حالت
۱۰-۲-۲-۲ قيدهاي منبع
۱۰-۲-۲-۳- قيدهاي زماني
۱۰-۲-۳ صفات full_case و Parallel_case
۱۰-۳ سنتز FPGAها
۱۰-۴ سنتز رفتاري
۱۰-۵ بازبيني نتايج سنتز
۱۰-۵-۱- شبيهسازي زمانبندي
فصل ۱۱ / آزمون سيستمهاي ديجيتالي
۱۱-۱ ضرورت وجود آزمون
۱۱-۲ نمونههاي خطا
۱۱-۲-۱ مدل خطاي گيرکرده تکي
۱۱-۲-۲ خطاهاي PLA
۱۱-۳ توليد الگوي آزمون مبتني خطا
۱۱-۳-۱ الگوريتم مسير حساس
۱۱-۳-۲ خطاهاي غيرقابل تشخيص
۱۱-۳-۳ الگوريتم D
۱۱-۳-۴ PODEM
۱۱-۳-۵ از بين رفتن خطا
۱۱-۴ شبيهسازي خطا
۱۱-۴-۱ شبيهسازي موازي خطا
۱۱-۴-۲ شبيهسازي همزمان خطا
فصل ۱۲ / طراحي براي قابليت آزمونپذير بودن
۱۲-۱ بهبود قابليت آزمون پذيري تک منظوره
۱۲-۲ طراحي ساخت يافته براي آزمون
۱۲-۳ خودآزمايي درون ساخته شده
۱۲-۳-۱ مثال
۱۲-۳-۲ بررسي بلوک منطقي ساخته شده در داخل (BILBO)
۱۲-۴ اسکن مرزي (۱/۱۱۴۹ IEEE)
فصل ۱۳ / طراحي ترتيبي آسنکرون
۱۳-۱ مدارهاي آسنکرون
۱۳-۲ تجزيه و تحليل مدارهاي آسنکرون
۱۳-۲-۱ تجزيه و تحليل غير رسمي
۱۳-۲-۲ تجزيه و تحليل رسمي
۱۳-۳ طراحي مدارهاي آسنکرون
۱۳-۴ ماشينهاي حالت آسنکرون
۱۳-۵ زمانهاي راه اندازي و نگهداري و ناپايداري
۱۳-۵-۱ محدوديتهاي مد اساسي و مدارهاي سنکرون
۱۳-۵-۲ مدلسازي سيستموريلاگ نقض زمان برپايي و نگهداري
۱۳-۵-۳ ناپايداري
فصل ۱۴ / مواجهه با دنياي آنالوگ
۱۴-۱ مبدلهاي ديجيتال به آنالوگ
۴-۲ مبدلهاي آنالوگ به ديجيتال
۱۴-۳ Verilog-AMS
۱۴-۳-۱ اصول وريلاگ_AMS
۱۴-۳-۲ دستورات كمكي
۱۴-۳-۳ مدلسازي سيگنال مختلط
۱۴-۴ حلقههاي قفل فاز
۱۴-۵ شبيهسازهاي AMS_وريلاگ
پيوست الف) پاسخ به سوالات انتخابي
منابع و مآخذ کتاب طراحی مدارهای دیجیتال با system verilog
مشخصات: کتاب طراحی مدارهاي دیجیتال با System Verilog
|
||||||||||||||||||
ابعاد | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
هنوز دیدگاهی وجود ندارد