Compare commits
No commits in common. "00ddd602c591599b2f5a8c4bebbc934988a94b29" and "60341e22af7267835d8f8be7fa5900c49e8e3bf5" have entirely different histories.
00ddd602c5
...
60341e22af
9 changed files with 26 additions and 24 deletions
|
|
@ -4,7 +4,6 @@ on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deps:
|
deps:
|
||||||
runs-on: debian-12
|
|
||||||
uses: ./.forgejo/workflows/deps.yml
|
uses: ./.forgejo/workflows/deps.yml
|
||||||
test:
|
test:
|
||||||
runs-on: debian-12
|
runs-on: debian-12
|
||||||
|
|
@ -39,7 +38,7 @@ jobs:
|
||||||
z3 \
|
z3 \
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
- run: |
|
- run: |
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.89.0
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.82.0
|
||||||
source "$HOME/.cargo/env"
|
source "$HOME/.cargo/env"
|
||||||
echo "$PATH" >> "$GITHUB_PATH"
|
echo "$PATH" >> "$GITHUB_PATH"
|
||||||
- uses: https://git.libre-chip.org/mirrors/cache/restore@v3
|
- uses: https://git.libre-chip.org/mirrors/cache/restore@v3
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@ members = ["crates/*"]
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
license = "LGPL-3.0-or-later"
|
license = "LGPL-3.0-or-later"
|
||||||
edition = "2024"
|
edition = "2021"
|
||||||
repository = ""
|
repository = ""
|
||||||
keywords = []
|
keywords = []
|
||||||
categories = []
|
categories = []
|
||||||
rust-version = "1.89.0"
|
rust-version = "1.82.0"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
fayalite = { git = "https://git.libre-chip.org/libre-chip/fayalite.git", version = "0.3.0", branch = "master" }
|
fayalite = { git = "https://git.libre-chip.org/libre-chip/fayalite.git", version = "0.3.0", branch = "master" }
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||||
// See Notices.txt for copyright information
|
// See Notices.txt for copyright information
|
||||||
use crate::{
|
use crate::{
|
||||||
instruction::{CONST_ZERO_UNIT_NUM, MOpTrait, PRegNum, RenamedMOp, UnitNum, UnitOutRegNum},
|
instruction::{MOpTrait, PRegNum, RenamedMOp, UnitNum, UnitOutRegNum, CONST_ZERO_UNIT_NUM},
|
||||||
unit::{
|
unit::{
|
||||||
UnitCancelInput, UnitKind, UnitOutputWrite,
|
|
||||||
unit_base::{UnitForwardingInfo, UnitToRegAlloc},
|
unit_base::{UnitForwardingInfo, UnitToRegAlloc},
|
||||||
|
UnitCancelInput, UnitKind, UnitOutputWrite,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use fayalite::prelude::*;
|
use fayalite::prelude::*;
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,10 @@ impl<T: MOpTrait> MOpInto<T> for T {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait MOpTrait: Type {
|
pub trait MOpTrait: Type {
|
||||||
type Mapped<NewDestReg: Type, NewSrcRegWidth: Size>: MOpTrait<DestReg = NewDestReg, SrcRegWidth = NewSrcRegWidth>;
|
type Mapped<NewDestReg: Type, NewSrcRegWidth: Size>: MOpTrait<
|
||||||
|
DestReg = NewDestReg,
|
||||||
|
SrcRegWidth = NewSrcRegWidth,
|
||||||
|
>;
|
||||||
type DestReg: Type;
|
type DestReg: Type;
|
||||||
type SrcRegWidth: Size;
|
type SrcRegWidth: Size;
|
||||||
fn dest_reg_ty(self) -> Self::DestReg;
|
fn dest_reg_ty(self) -> Self::DestReg;
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,18 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
config::CpuConfig,
|
config::CpuConfig,
|
||||||
instruction::{
|
instruction::{
|
||||||
COMMON_MOP_SRC_LEN, MOp, MOpDestReg, MOpRegNum, MOpTrait, MoveRegMOp, PRegNum,
|
MOp, MOpDestReg, MOpRegNum, MOpTrait, MoveRegMOp, PRegNum, RenameTableName, UnitOutRegNum,
|
||||||
RenameTableName, UnitOutRegNum,
|
COMMON_MOP_SRC_LEN,
|
||||||
},
|
},
|
||||||
unit::{
|
unit::{
|
||||||
|
unit_base::{UnitForwardingInfo, UnitInput},
|
||||||
GlobalState, TrapData, UnitMOp, UnitOutput, UnitOutputWrite, UnitResult,
|
GlobalState, TrapData, UnitMOp, UnitOutput, UnitOutputWrite, UnitResult,
|
||||||
UnitResultCompleted, UnitTrait,
|
UnitResultCompleted, UnitTrait,
|
||||||
unit_base::{UnitForwardingInfo, UnitInput},
|
|
||||||
},
|
},
|
||||||
util::tree_reduce::tree_reduce_with_state,
|
util::tree_reduce::tree_reduce_with_state,
|
||||||
};
|
};
|
||||||
use fayalite::{
|
use fayalite::{
|
||||||
memory::{WriteStruct, splat_mask},
|
memory::{splat_mask, WriteStruct},
|
||||||
module::{instance_with_loc, memory_with_loc, wire_with_loc},
|
module::{instance_with_loc, memory_with_loc, wire_with_loc},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
util::ready_valid::ReadyValid,
|
util::ready_valid::ReadyValid,
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
config::CpuConfig,
|
config::CpuConfig,
|
||||||
instruction::{
|
instruction::{
|
||||||
AluBranchMOp, LoadStoreMOp, MOp, MOpDestReg, MOpInto, MOpRegNum, MOpTrait, RenamedMOp,
|
mop_enum, AluBranchMOp, LoadStoreMOp, MOp, MOpDestReg, MOpInto, MOpRegNum, MOpTrait,
|
||||||
UnitOutRegNum, mop_enum,
|
RenamedMOp, UnitOutRegNum,
|
||||||
},
|
},
|
||||||
register::{FlagsMode, PRegValue},
|
register::{FlagsMode, PRegValue},
|
||||||
unit::unit_base::UnitToRegAlloc,
|
unit::unit_base::UnitToRegAlloc,
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
config::CpuConfig,
|
config::CpuConfig,
|
||||||
instruction::{
|
instruction::{
|
||||||
AddSubMOp, AluBranchMOp, AluCommonMOp, COMMON_MOP_SRC_LEN, CommonMOp, LogicalMOp, MOpTrait,
|
AddSubMOp, AluBranchMOp, AluCommonMOp, CommonMOp, LogicalMOp, MOpTrait, OutputIntegerMode,
|
||||||
OutputIntegerMode, RenamedMOp, UnitOutRegNum,
|
RenamedMOp, UnitOutRegNum, COMMON_MOP_SRC_LEN,
|
||||||
},
|
},
|
||||||
register::{FlagsMode, PRegFlagsPowerISA, PRegFlagsX86, PRegValue},
|
register::{FlagsMode, PRegFlagsPowerISA, PRegFlagsX86, PRegValue},
|
||||||
unit::{
|
unit::{
|
||||||
|
unit_base::{unit_base, ExecuteEnd, ExecuteStart, UnitToRegAlloc},
|
||||||
DynUnit, DynUnitWrapper, GlobalState, UnitKind, UnitMOp, UnitOutput, UnitResult,
|
DynUnit, DynUnitWrapper, GlobalState, UnitKind, UnitMOp, UnitOutput, UnitResult,
|
||||||
UnitResultCompleted, UnitTrait,
|
UnitResultCompleted, UnitTrait,
|
||||||
unit_base::{ExecuteEnd, ExecuteStart, UnitToRegAlloc, unit_base},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use fayalite::{
|
use fayalite::{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
config::CpuConfig,
|
config::CpuConfig,
|
||||||
instruction::{COMMON_MOP_SRC_LEN, MOpTrait, PRegNum, UnitNum, UnitOutRegNum},
|
instruction::{MOpTrait, PRegNum, UnitNum, UnitOutRegNum, COMMON_MOP_SRC_LEN},
|
||||||
register::PRegValue,
|
register::PRegValue,
|
||||||
unit::{UnitCancelInput, UnitOutput, UnitOutputWrite},
|
unit::{UnitCancelInput, UnitOutput, UnitOutputWrite},
|
||||||
util::tree_reduce::tree_reduce,
|
util::tree_reduce::tree_reduce,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
use cpu::{
|
use cpu::{
|
||||||
config::{CpuConfig, UnitConfig},
|
config::{CpuConfig, UnitConfig},
|
||||||
instruction::{AddSubMOp, LogicalMOp, MOp, MOpDestReg, MOpRegNum, OutputIntegerMode},
|
instruction::{AddSubMOp, LogicalMOp, MOp, MOpDestReg, MOpRegNum, OutputIntegerMode},
|
||||||
reg_alloc::{FetchedDecodedMOp, reg_alloc},
|
reg_alloc::{reg_alloc, FetchedDecodedMOp},
|
||||||
register::{FlagsMode, PRegFlagsPowerISA},
|
register::{FlagsMode, PRegFlagsPowerISA},
|
||||||
unit::{GlobalState, UnitKind},
|
unit::{GlobalState, UnitKind},
|
||||||
};
|
};
|
||||||
|
|
@ -12,7 +12,7 @@ use fayalite::{
|
||||||
assert_export_firrtl,
|
assert_export_firrtl,
|
||||||
firrtl::ExportOptions,
|
firrtl::ExportOptions,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
sim::{Simulation, time::SimDuration, vcd::VcdWriterDecls},
|
sim::{time::SimDuration, vcd::VcdWriterDecls, Simulation},
|
||||||
util::RcWriter,
|
util::RcWriter,
|
||||||
};
|
};
|
||||||
use std::num::NonZeroUsize;
|
use std::num::NonZeroUsize;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue