STUDIO HAZE · jeniapp
Topaz source
Open by house policy. Topaz is our own language.
Topaz 5.20.2 · 63 files
apps/circuit/core/history.tpz
Topaz · 1121 B · Original file
1
// 시간 이력과 파형. 틱마다 그 틱의 입력 상태로 평탄 회로를 다시 평가해 프로브 노드의 신호를 모읍니다.2
// 입력은 평탄 회로, 틱별 입력값 목록, 프로브 아이디 목록이고 출력은 프로브마다 틱별 0/1 열입니다.3
// 같은 틱은 늘 같은 신호를 내므로 시간축을 오가도 결과가 같습니다.4
// 되먹임 회로의 시간 흐름은 다루지 않습니다. 호출부가 조합 회로에서만 부릅니다.5
// Time history: re-evaluate the flat circuit per tick and collect each probe's signal series.7
import core.netlist8
import core.sim10
export type 파형 = { 프로브: string, 값들: Array<bool> }12
export function 파형계산(평탄: netlist.회로, 이력: Array<Array<netlist.입력값>>, 프로브들: Array<string>) -> Array<파형> {13
let 틱시뮬들 = 이력.map(상태 => sim.평가회로({ 노드들: netlist.입력적용(평탄.노드들, 상태), 전선들: 평탄.전선들 }))14
프로브들.map(프로브 => ({ 프로브: 프로브, 값들: 틱시뮬들.map(시뮬 => sim.신호로(시뮬, 프로브).신호) }))15
}SHA256 3560e5d9bd6e74e158fc6aae19efc245d08a23623ad07a120f80606f45f27324