• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FPGAでxapp495のサンプルについて)

FPGAでxapp495のサンプルを使って縦線を出力する方法について教えてください

このQ&Aのポイント
  • 現在、Spartan6 LX45評価ボードを使用して、xapp495のサンプルを使って縦線を出力するプログラムを作成しています。
  • hdclrbar.v内の水平方向位置を決める際に、i_hcntの値を利用していますが、%(剰余)した場合にうまく動作しない問題が発生しています。
  • コンパイルエラーも発生しています。どうしてこのような結果になるのかわかる方いましたら、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

verilogで除算や剰余を演算子で演算すること自体間違っています。 +,-,*演算子は使えますけどね。 ISEは右辺が2のn乗の剰余だけ許しているようですね。 といっても2のn乗の剰余で%演算子使うことなんて無いけど・・・・。 例えば wire [7:0] aaa; の2の4乗=16の剰余は wire [3:0] mod16aaa; assign mod16aaa = aaa[3:0]; だしね・・・・。 verilogはとても低位な言語です。 ”割り算とはどのように行うか”から記述してやらないと割り算できません。 普通、面倒な演算は全部マイコンやPCにやらせるものです。 決まりきった演算、例えば画像のフィルターなどはFPGAにやらせます。 資料読んでないんでボードで何ができるかはわかりませんが、 PCからボードのメモリに画像書き込んで、フィルターかまして、出力くらいはできるんでは?

treasury
質問者

お礼

回答ありがとうございます。 いろいろ試して見ましたが、 always @ (posedge clk) begin こちらの中だと使えず、  initial begin こちらだと特に問題なく動作しました。 一応剰余を利用しない方法で検討することにしましたので何とかなりそうです。 >PCからボードのメモリに画像書き込んで、フィルターかまして、出力くらいはできるんでは? 決まった画像は出力できるのですが、メモリに画像を書き込む部分がまだ良くわからず調べているところです。

関連するQ&A