Developing Robust Finite State Machines Code With Lint Tools

Date: 2019/11/26
Type: Release

Henderson, USA – November 26, 2019 – As design size and complexity grows, the design verification effort grows even more. It takes significant amount of time to thoroughly verify complex control logic of a design, which is the key and the most critical component of design functionality. One of the most common design patterns in the control logic design are finite state machines. They could be designed in different styles, state and output logic encodings, being either complex or simple for design, maintenance and verification. It is important to use the “Design-for-Verification” approach to develop Finite State Machines in a concise, robust and easy-to-verify way.

 

RTL code linting is the well-known approach ensuring design to be compliant with the collection of industry-best design guidelines for hardware development. Moreover, linting is able to automatically extract Finite State Machines structures from the design code and reveals FSM design bugs at the earliest stages of code development.

 

Standardizing FSM design patterns is an important part of RTL code standardization and it is widely used in many chip design houses. Lint tools formally verify the code to comply to company standards, avoiding design reviews and manual code check. Lint tools checks various FSM code features such as:

 

  • State Naming conventions, including maximum name length, upper/lower case, etc.
  • Proper FSM isolation in design units (such as maximum one FSM for the design unit).
  • Proper FSM code sequencing (such FSM states declaration right after the states definition).
  • Usage of case statements in the next-state logic (avoiding “if” statements usage).
  • Usage of two or three processes to describe the FSM (avoiding the error-prone one-process FSM implementation).

Lint tools automatically identify FSM code in RTL and extract FSM structure, presenting it in the FSM graph window. Designers visually approve the FSM design intent reviewing these FSM graphs. For the legacy code, extracted FSM graphs act as a design specification, allowing better understanding of the RTL code and facilitating its reuse. The following picture demonstrates the FSM graph extracted by Lint tools:

 

After FSM extraction, Lint tools apply various structural and functional checks to further verify FSM correctness and its compliance to company standards. For example, it is a good practice to avoid using Mealy and Mixed FSM types, preferring Moore FSM types only. Moore FSM outputs are registered and therefore they don’t propagate possible FSM input glitches to FSM outputs. Moore FSM are preferable from a timing perspective too, as FSM output timing paths include output decoding logic only. Also, it is a good practice to enforce a specific state encoding type to better fit a design into design requirements. For example, the one-hot encoding with Moore FSM type is preferable for the high-speed designs, while Gray encoding being preferable for the low-power applications, etc.

For the rest of this article, please visit Semiengineering.com.



アルデックの最新組込み開発プラットフォームで業界初シングルボードに最大級のPolarFireおよびSmartFusion2 FPGAを搭載した製品をリリース

Date: 2019/11/26
Type: Release

アルデックのHES-MPF500-M2S150開発キットは、Microchip社のPolarFireおよびSmartFusion2ファミリのFPGAを対象としたプロジェクトでのハードウェアとソフトウェアの早期協調開発/検証をサポートします。

 

Henderson, USA – 2019年11月26日 – HDL混在言語シミュレーションとFPGAおよびASICのハードウェア・アシステッド・ベリフィケーションのパイオニアであるAldec、Inc.(以下「アルデック」)は、Microchip PolarFireまたはSmartFusion2ファミリのいずれかまたは両方のデバイスを使用するFPGAベースの組込システムの開発を支援するHES-MPF500-M2S150開発キットをリリースしました。

 

HES-MPF500-M2S150開発キットは、Microchip PolarFireおよびSmartFusion2 FPGAファミリのデバイスを搭載した業界初の製品です。利用可能な他のすべての開発ボードにはいずれか一方が搭載されており、このようなシングルFPGAボードはミッドレンジデバイスのみを搭載しています。

 

アルデックのハードウェア事業部ゼネラルマネージャー Zibi Zalewskiのコメント:
「HESプロダクトラインへのこの最新の追加は、Microchipの一般的なFPGAのいずれかまたは両方に簡単にアクセスできる高度で汎用性の高いプロトタイププラットフォームを必要としている顧客からの要求に直接応えるものです。Microchipの両ファミリから最大デバイスを選択することで、エンジニアがデザインフローの初期段階で最適化を心配することを回避できます。代わりにWhat If実験を行い、希望するトップレベルの機能が実現できたあとに最適化やその他のパフォーマンスの問題に対処できます。」

 

Zalewskiは、デザインがPolarFire FPGAのみをターゲットにしている場合でも、SmartFusion2デバイスを組込ホストおよびテストドライバとして使用できることを示しています。同様にPolarFire FPGAには、SmartFusion2デバイスでデザインを検証するためのテストベクタをロードすることができます。

 

HES-MPF500-M2S150開発キットは、481kのロジックエレメント、1480の演算ブロック、33MビットのRAM、584 I/Oを備えたMicrochip社の低電力PolarFire MPF500T FCG1152 FPGAを備えています。 さらにPolarFire ファミリは高いセキュリティを提供しています。これはサイバー犯罪との闘いにおいて大きな利益をもたらします。

 

HES-MPF500-M2S150には、Microchip社のSmartFusion2 M2S150 FPGAも搭載しています。 このSoCデバイスの中心にあるのは、DDR3メモリコントローラーを備えた組込Arm Cortex-M3マイクロコントローラーサブシステムです。

 

アルデックのHES-MPF500-M2S150上の2つのFPGAは直接I/Oを介して接続しており、両デバイスがPCIeスイッチを介してPCIe x4 Gen2 Edge Connectorにアクセスできます。 さらに、このスイッチでFPGAが一緒にまたは独立して動作できるようにしています。

 

QSFP+ポートを介してキットの両側(PolarFireおよびSmartFusion2)で高速シリアルI/Oを利用でき、さらにSmartFusion2はイーサネットまたはUSBを介して外部との通信もできます。周辺機器への接続は、134本のI/Oと8レーンの高速シリアルI/Oを備えたFMC HPCコネクタを介して行われます。アルデックは、ADAS、IoT、ネットワーク、ハイパフォーマンスコンピューティング(HPC)アプリケーションの開発向けにカスタマイズされたものを含むFMCカードの製品ラインナップを拡大しています。

 

HES-MPF500-M2S150開発キットは今すぐ注文可能で、デザイナーリソース、サンプルデザイン、ユーティリティ、ドキュメントが含まれています。

 

 HES-MPF500-M2S150 Development Kit HES-MPF500-M2S150 Development Kit

HESについて

アルデックは、Xilinx Virtex UltraScale+、UltraScale、Virtex-7ファミリ、Microsemi PolarFireおよびSmartFusion2ファミリの最大かつ業界をリードするFPGAをベースにした汎用HES™ プロトタイピングボード の製品ラインナップを提供しています。各ボードは標準化されたFMCおよびBPXドータカードコネクタを使用し、簡単に拡張できるように設計されています。HES-DVM ソフトウェアによって、HESボードはシミュレーションアクセラレーション、エミュレーション、バーチャルプラットフォームとのハイブリッド コ・エミュレーション、およびプロトタイピングの初期検証段階で再利用することができます。Proto-AXIソフトウェアパッケージを使用すると、HESボードはハイパフォーマンスコンピューティング(HPC)アプリケーションのアルゴリズムアクセラレーションにも使用できます。

 

アルデックについて

アルデックは米国ネバダ州ヘンダーソンに本社を置く、エレクトロニクス・デザイン検証のインダストリ・リーダです。RTL設計、RTLシミュレータ、SoC/ASICエミュレーション・プロトタイピング、デザインルールチェック、CDC/RDC検証、IPコア、要求ライフサイクル管理、DO-254機能検証、組込みソリューション、ハイパフォーマンスコンピューティングおよび軍事/航空宇宙向けソリューションといったパテントを取得したテクノロジを提供しています。www.aldec.com

Ask Us a Question
x
Ask Us a Question
x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.
We use cookies to ensure we give you the best user experience and to provide you with content we believe will be of relevance to you. If you continue to use our site, you consent to our use of cookies. A detailed overview on the use of cookies and other website information is located in our Privacy Policy.