fs_in_khz
5、10 、または2の一般的な整数パラメーターを持つエンティティがあります。
entity test_control_source is
generic(
-- This should only be 5, 10 or 20
fs_in_khz : integer := 20
);
VHDLの機能を利用して、次のようなものを使用して、タイプをこれらの値に制限することができれば便利です。
type control_source_freq is (F5_KHZ, F10_KHZ, F20_KHZ);
...
entity test_control_source is
generic(
-- This should only be 5, 10 or 20
fs_in_khz : control_source_freq := F20_KHZ
);
ただし、このエンティティのアーキテクチャの後半で、私は
architecture source_behaviour of test_control_source is
constant cs_period : integer := 5000 * clock_rate / fs_in_khz;
begin
...
私は、必要な場所で計算を繰り返すのではなく、このパラメーターを使用するプロセスの外部でこのパラメーターを計算することを好みます。fs_in_khz
ジェネリックパラメーターの許可された値を制限し、cs_period
それが使用されるプロセスから定数を除外することはできますか?