[過去ログ] Qiita 2 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
658
(2): 2023/01/29(日)13:55 ID:V8aF3j6G(2/3) AAS
補足というか、このコードが何の処理をしている部分か説明

これはRISC-Vの機械語からどういう演算をすべきか決める回路のコード

RISC-Vの命令フォーマットはR-type、I-type,S-type, U-typeの4種類で、S-typeとU-typeは
即値のフォーマットにより、それぞれS-formatとSB-format、U-formatとUJ-formatに分けられる

32bitの命令instのうち最下位7bit(inst[6:0])がopcode
7bitだと命令数が足らなくなるので、U-type以外中央の3bit(inst[14:12])が追加のopcode(Funct3)
レジスタ間演算命令のR-typeでは最上位ビットから7bit分(inst[31:25])がさらに追加のopcode(Funct7)
省9
659: 2023/01/29(日)14:03 ID:V8aF3j6G(3/3) AAS
>>658
一応補足
> だとするとなんでinst[30]がいらないって発想になるんだろう?

inst[30]はf[3]ね

alu_ctl[0]が加算化減算化を区別する信号線ならinst[30]=f[3]がないといけないのに
>>656のコードはf[3]を取り除くコードにしていて、こんな書き換えようと思うこと自体
理解できないという意味
664: 2023/01/30(月)21:21 ID:r3bAOQsl(2/3) AAS
で、ちゃんとパタヘネ読み直したけど、パタヘネはRISC-Vのサブセットであって
RV32Iではないから独自仕様になっている部分があるのね

なので>>658は忘れて

パタヘネ4章4.4より、ALUはLD, SD, BEQ, ADD, SUB, AND, ORだけ処理でき、
alu_opは、LDとSDが00、BEQが01、ADDとSUBとANDとORが10で、
Operation(alu_ctl)は、論理積が0000、論理和が0001、加算が0010、減算が0110

論理積ANDのalu_ctlは0000
省11
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s