Verilogを初めて使用していますが、単純なコードを書き込もうとしていましたが、熟練した方法ではわかりません。 私は12ビットレジスタ "data"を持っています、そのレジスタの各ビットは特定の値を持っています。例えば有効ビット数に基づく値の合計Verilog
Bit 0 = 12;
Bit 1 = 16;
Bit 2 = 33;
......
Bit 11 = 180;
次に「データ」レジスタのいずれかのビットが1の場合は、結果はそのビット値にcoresponds全ての値の和であるべきです。例えば
data = 12'b100000000101
result = 225 (180+33+12)
現在、データの各ビットをチェックしています.1であれば、対応する値を登録して以前の登録値に追加します。このメソッドはサイクル数を必要とします。 どのように私はVerilogで高速に行うことができます。
あなたは
私はあなたの最初の1つのサイクルのソリューションを確認し、はい、それは1つのサイクルとその大きなチェーンですべての追加をしています。 – user777304
私はまたあなたの2番目のロジックをチェックして、私はそれに行くつもりです。私はスパルタン3で実装しています。 – user777304