teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

新着順:9/62 記事一覧表示 | 《前のページ | 次のページ》

RE: verilog→VHDL変換について

 投稿者:管理人  投稿日:2009年 1月 9日(金)22時59分59秒
  通報
  よこっち様

はじめまして.変換をやってみましたので,この次に書き換え後のverilogを貼ります.
また,そのverilogをツールにかけて出てきたvhdlにおいて,関数fexcptの冒頭部分が

function fexcpt (
exp00a, exp00b : std_logic;
expffa, expffb : std_logic;
snf_0a, snf_0b : std_logic;
nom_in : std_logic_vector(30 downto 00);
signal sel : std_logic_vector(5 downto 0);
-- WARNING(1) in line 115: Please change the following 'std_logic_vector' to 'std_logic', if necessary.
) return std_logic_vector is
-- WARNING(2) in line 115: Please write signal width of the following return-variable, manually.
variable fexcpt_RET : std_logic_vector(? downto ?);
begin

となるかと思いますが,次のとおり修正してください(fexcpt_REGのビット幅を指定し,signal selをvariable selにしてbeginの前へ移動)

function fexcpt (
exp00a, exp00b : std_logic;
expffa, expffb : std_logic;
snf_0a, snf_0b : std_logic;
nom_in : std_logic_vector(30 downto 00)
) return std_logic_vector is
variable fexcpt_RET : std_logic_vector(30 downto 0);
variable sel : std_logic_vector(5 downto 0);
begin

他の主な修正箇所は,次のとおりです.本来ならツールを改良した方が良い点もありますが,ご容赦ください.

 ・wire文での代入は,wireとassignに分離

 ・定数値を2進数に修正
  (修正しなくてもvhdlへの変換自体はできますが,4Nビットでない定数を16進表記した場合など,vhdlとして少々問題があるため)

 ・casexをcaseに修正
 
 
》記事一覧表示

新着順:9/62 《前のページ | 次のページ》
/62