ماشین الگوریتم حالت

روش ماشین حالت الگوریتمی (انگلیسی: Algorithmic state machine) یا (ASM) یک روش برای طراحی ماشین‌ها است. این ماشین برای نشان دادن نمودارهایمدارهای دیجیتال یکپارچه شده‌استفاده می‌شود. نمودار ASM، مانند نمودار حالت است اما غیررسمی تر و در نتیجه درک آن آسان‌تر است. یک نمودار ASM یک روش توصیف عملیاتی پی در پی و متوالی یک سامانه دیجیتال است.

 روش ASM 
روش ASM از مراحل زیر تشکیل شده‌است.
 ایجاد الگوریتم با استفاده از شبه‌کد برای توصیف عملکرد مورد انتظار دستگاه
 تبدیل شبه کد به نمودار ASM
 طراحی مسیرداده براساس نمودار ASM
 ایجاد یک نمودار دقیق ASM براساس مسیرداده
 طراحی کنترل منطقی براساس جزئیات نمودار ASM

 نمودار ای‌اس‌ام 
بندانگشتی|یک جعبه خروجی شرطی که در نمودارهای ASM استفاده می شود.
نمودار ASM، شامل چهار عنصر اساسی است. نام واحد، واحد، چک کردن واحد، خروجی‌های شرطی. یک ASM به صورت یک مستطیل نشان داده می‌شود که حالت‌ها از یک نمودار منظم می‌باشد. خروجی از نوع ماشین مور در درون مستطیل نشان داده شده‌است.
نام واحد: نام یک واحد در داخل دایره نشان داده شده‌است؛ و دایره در گوشه سمت چپ قرار دارد یا نام بدون دایره قرار دارد.
باکس واحد
خروجی واحد در داخل مستطیل نشان داده شده‌است.
باکس تصمیم‌گیری
یک لوزی نشان می‌دهد که شرط بیان شده مورد آزمایش قرار گرفته و مسیر خروجی به ترتیب انتخاب می-شود. شرایط بیان شامل یک یا چند ورودی به FSM می‌باشد. برای وضعیت ASM نشان داده شده توسط یک لوزی یا یک ورودی و دو خروجی است و به شرط انتقال بین دو حالت یا یک حالت و خروجی مشروط استفاده می‌شود. باکس تصمیم‌گیری حاوی شرایط بیان شده برای آزمایش بوده و این بیان شامل ورودی برای FSM می‌باشد.
باکس خروجی شرطی: باکس خروجی شرطی به شکل بیضی نشان داده می‌شود که سیگنال خروجی از نوع میلی می‌باشد. این خروجی‌ها نه تنها به واحد بلکه همچنین به ورودی‌های FSM نیز بستگی دارد.

 مسیرداده 
هنگامی که عملیات مورد نظر در یک مدار با استفاده از عملیات RTL توصیف شده‌است، اجراهای مسیرداده می‌توانند مشتق شوند. هر متغیر منحصر به فرد که یک مقدار در برنامه RTL را به خود اختصاص داده‌است که می‌تواند به عنوان یک واحد ثبت شده اجرا شود، وابسته به عملیات عملکردی که هنگام اختصاص یک مقدار به یک متغیر انجام می‌شود، ثبت برای آن متغیر ممکن است به صورت ساده بوده و متغیر در آن دیده شود و یک شمارنده پیش از بلوک منطقی به صورت ترتیبی قرار بگیرد. بلوک منطقی ترتیبی با یک ثبت مرتبط است؛ و می‌تواند یک کامپایلر را از طریق تابع منطقی ترکیبی اجرا کند.

 جزئیات نمودار ای‌اس‌ام 
هنگامی که مسیرداده طراحی شد، نمودار ASM به یک نمودار دقیق تبدیل می‌شود. نماد RTL با سیگنال‌های تعریف شده در مسیرداده جایگزین می‌شود.

 جستارهای وابسته 
 ماشین مور
 ماشین میلی
 روندنما

 منابع 
* Christopher R. Clare: Designing Logic Systems Using State Machines, McGraw-Hill 1973, .
 Sunggu Lee: Computer Design: An Example of Advanced Digital Logic Design, Prentice-Hall 2000, .
 Sunggu Lee: Advanced Digital Logic Design: Using VHDL, State Machines, and Synthesis for FPGAs, Thomson 2006, .
 Stephen D. Brown, Zvonko Vranesic: Fundamentals of Digital Logic with VHDL Design.
 2nd, McGraw Hill 2004; .
 3rd, McGraw Hill 2009; .

 پیوند به بیرون 

Brief Introduction to ASM Charts
ASM++: a modern Algorithmic State Machine methodology for RTL designs

رده:خودکارسازی طراحی الکترونیکی
رده:مقاله‌های ایجادشده توسط ایجادگر
رده:مهندسی کامپیوتر