著者:副業の宮殿|製造業に携わる現役エンジニア。技術士試験対策書籍をKindleで複数出版。技術ブログ「副業の宮殿」にて製造業DX・AI活用の情報を発信中。

FPGAとは何か

FPGA(Field-Programmable Gate Array)は、購入後にユーザーが回路構成を書き換えられる半導体デバイスです。ASICより低コスト・短納期で、高速並列処理が必要な通信・画像処理・金融HFTなどで活躍しています。

FPGA・ASIC・CPUの比較

項目 CPU FPGA ASIC
柔軟性
開発コスト 非常に高い
処理速度 高(並列) 最高
消費電力 高め 最低
用途 汎用 試作・特殊処理 量産製品

ハードウェア記述言語(HDL)

FPGAのプログラムは、ソフトウェアではなく回路の動作を記述する言語で書きます。

Verilog(C言語に近い書き方)

// 4ビットカウンター
module counter(
    input  wire clk,
    input  wire rst_n,
    output reg  [3:0] count
);

always @(posedge clk or negedge rst_n) begin
    if (!rst_n)
        count <= 4'b0000;
    else
        count <= count + 1;
end

endmodule

VHDL(より厳密・欧州で普及)

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity counter is
    Port (
        clk   : in  STD_LOGIC;
        rst_n : in  STD_LOGIC;
        count : out STD_LOGIC_VECTOR(3 downto 0)
    );
end counter;

architecture rtl of counter is
    signal cnt : unsigned(3 downto 0) := (others => '0');
begin
    process(clk, rst_n)
    begin
        if rst_n = '0' then
            cnt <= (others => '0');
        elsif rising_edge(clk) then
            cnt <= cnt + 1;
        end if;
    end process;
    count <= std_logic_vector(cnt);
end rtl;

シミュレーションの重要性

FPGAは実機デバッグが難しいため、テストベンチで徹底的にシミュレーションします。

// テストベンチ
module counter_tb;
    reg clk = 0, rst_n = 0;
    wire [3:0] count;

    counter uut(.clk(clk), .rst_n(rst_n), .count(count));

    always #5 clk = ~clk;  // 10ns周期クロック

    initial begin
        #20 rst_n = 1;
        #200 $finish;
    end
endmodule

学習の始め方

  • 開発ボード:Xilinx Basys 3(約1.5万円)、Altera DE10-Lite
  • EDAツール:Vivado(Xilinx)、Quartus Prime(Intel/Altera)
  • 入門課題:Lチカ → 7セグ表示 → UART通信 → 画像処理

ソフトとハードの境界を理解することで、システム全体の最適化ができるエンジニアになれます。

技術士試験合格のための時間管理と学習計画の立て方

技術士試験は二次試験の合格率が10〜15%という難関国家試験です。合格者に共通する学習の特徴は「計画的な長期学習」です。一般的な合格までの学習期間は6ヶ月〜1年程度。月別の学習計画の例:1〜2ヶ月目:技術士制度・試験科目の全体把握、過去問10年分の収集。3〜4ヶ月目:必須科目(技術部門全体の課題)の論文テーマ研究・骨格作成。5ヶ月目:選択科目の専門知識復習・過去問演習。6ヶ月目:模擬論文作成・添削・口頭試験対策。効果的な学習法:①過去問の徹底分析:過去10年の出題傾向から「頻出テーマ」を特定し優先的に準備。②論文のフレームワーク化:「課題×背景×解決策×リスク×結論」という論文構成のパターンを習得し、どんなテーマにも応用できる骨格を作る。③添削の積極活用:技術士会・通信講座の添削サービスで客観的なフィードバックをもらうことが品質向上への最短ルートです。

製造業の若手エンジニアが早期に成果を出すための5つの行動習慣

製造業に入社した若手エンジニアが、入社1〜3年で「この人は使える」と評価されるための行動習慣を紹介します。①現場に足を運ぶ:机上の設計・計算だけでなく、実際の製造現場で製品がどう作られるかを肌で理解することが設計品質向上の源泉です。②ベテランの言葉を記録する:現場の熟練工が発する「この設計はここが問題になりやすい」「この材料はこういうクセがある」という経験知は教科書に載っていない宝物です。③失敗を積極的に報告する:小さな失敗・ミスを早期に報告し対処することで、大きなトラブルを未然に防ぎ、周囲からの信頼も高まります。④業務の「なぜ」を問い続ける:「この作業はなぜこの手順なのか」「この規格値はなぜこの数値なのか」を常に問い、根拠を理解することで応用力が身につきます。⑤技術情報の発信:社内勉強会や技術ブログで学んだことを発信することで、自分の理解が深まり、技術者としての存在感が生まれます。

設備故障ゼロを目指すTPM(Total Productive Maintenance)の進め方

TPM(全員参加の生産保全)は設備の故障ゼロ・不良ゼロ・災害ゼロを目指す全社的な活動です。製造業の生産性向上において最も体系化された改善手法の一つです。TPM活動の8本柱:①個別改善(ロスの徹底排除)②自主保全(オペレーターによる日常点検・清掃・給油)③計画保全(保全部門による計画的整備)④教育・訓練(人材育成)⑤初期管理(新設備・製品の早期安定化)⑥品質保全(品質不良の源流管理)⑦事務・間接効率化⑧安全・衛生・環境管理。導入の第一歩として最も効果的なのが「自主保全の展開」です。オペレーターが担当設備を「清掃・点検・給油・増し締め」の日常管理を行うことで、異常の早期発見・チョコ停の削減・設備への愛着が生まれます。TPMは短期的な効果より、3〜5年かけて文化・仕組みを変えるという長期的な視点が重要です。

3D CADを使った設計変更管理のベストプラクティス

設計変更は製品開発における不可避のプロセスですが、管理が不適切だと「古い図面で製造」「変更の見落とし」「不適合品の流出」などの問題が発生します。3D CADを使った効果的な設計変更管理のポイントを解説します。①版管理(リビジョン管理)の徹底:変更のたびにリビジョン番号(Rev.A→Rev.B)を更新し、変更内容・変更理由・承認者を変更記録欄に記載。②PDM(製品データ管理)ツールの活用:CADデータ・図面・関連文書をPDMシステム(Autodesk Vault・SolidWorks PDM等)で一元管理し、最新版以外のアクセスをロック。③変更の影響範囲確認:1つの部品変更が関連するアセンブリ・図面・BOM(部品表)にどう影響するかをツールで確認し、見落としを防ぐ。④設計変更のトレーサビリティ:「なぜ変更したか・いつ変更したか・誰が承認したか」が追跡できる記録体制を整備。これらの仕組みが整うことで、設計変更による品質問題・コスト増加を大幅に削減できます。