3ビット[FRQ(2 downto 0)のうちの1つの符号付きビットを格納する2つのレジスタを追加しようとしています)]であり、他は7ビット[PHS(6 downto 0)] ...であり、これら2つのレジスタの加算を7ビットレジスタ[PHS(6 downto 0)]に格納しなければならない。あなたの役に立つジェスチャーに感謝します。エラー:/..integrator.vhd(47):near "process":(VHCOM-1576)IF VHDLを期待しています
私が手にエラーがあるが.. >>> エラー:/..integrator.vhd(47):近くに "プロセス":(VCOM-1576)ここではVHDL
が私のコードでのIF期待:
library IEEE;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
--use ieee.std_logic_unsigned.all;
entity integ is
port (
SMP_CLK : in std_logic;
RESET : in std_logic;
PHS : out signed (6 downto 0);
FRQ : in signed (2 downto 0)
);
end integ;
architecture behaviour of integ is
signal sig_FRQ : signed(2 downto 0) := (others => '0');
signal ext_FRQ : signed(6 downto 0) := (others => '0');
signal sig_PHS : signed(6 downto 0) := (others => '0');
signal temp_PHS : signed(6 downto 0) := (others => '0');
begin
sig_FRQ <=FRQ;
temp_PHS <= sig_PHS;
--PHS <=signal_PHS;
process (SMP_CLK, RESET)
begin
if sig_FRQ(2)='1' then
ext_FRQ(6 downto 3) <= b"0000";
else
ext_FRQ(6 downto 3) <= b"1111";
--end if;
if RESET='1' then
sig_PHS <= b"0000000";
elsif (rising_edge(SMP_CLK)) then
-- temp_PHS <= sig_PHS;
sig_PHS <= signed(ext_FRQ) + signed(temp_PHS);
end process;
sig_PHS => PHS;
end behaviour;
出力ポートの割り当てを変更する必要がありますが、あなたの提案は非常に役に立ちました。どうもありがとう。コードは正しく実行されていますが、適切な追加のためには修正が必要です。それをシミュレートした後、期待通りの結果が得られなかったのでとにかく、ありがとう。 –
コードの目的は何ですか? – Roman
期待どおりに動作しました!とにかく、私はデータ通信のためのFSMを実装しており、デジタル設計を使用した変調方式で使用されています。 –