5 / 24 · 실습
MUX 시뮬레이션 실습
제공된 소스와 입력 파일로 출력을 비교합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
예제 파일 준비
Digital Design Studio의 Desktop 프로젝트와 정상 실행 권한을 준비하세요. 각 예제는 별도 폴더의 rtl/top.sv로 저장합니다.
module top (
input logic clk,
input logic a,
input logic b,
input logic sel,
output logic y,
output logic sampled_y
);
assign y = sel ? b : a;
// Explicit observation register: y remains purely combinational.
// The register makes this design eligible for logic-netlist-1 simulation.
always_ff @(posedge clk) sampled_y <= y;
endmodule
실행 방법
New analysis에서 Two-state single-clock v1을 선택하세요. Clock port는 clk, 주기는 1000ps입니다. 아래 값으로 Preflight 후 Run RTL simulation을 실행하고 결과를 비교하세요.
- 초기 레지스터 값 (LSB부터)
- [false]
- Reset port
- 비움
- Maximum cycles / time
- 8 / 8000ps
시뮬레이션 입력
각 시점에 회로의 입력 신호에 넣을 값을 정한 파일입니다. 파일 이름을 눌러 내용을 펼치거나, 다운로드해 실습에 사용하세요.
[
{
"inputs": {
"a": [
false
],
"b": [
false
],
"sel": [
false
]
}
},
{
"inputs": {
"a": [
false
],
"b": [
false
],
"sel": [
true
]
}
},
{
"inputs": {
"a": [
false
],
"b": [
true
],
"sel": [
false
]
}
},
{
"inputs": {
"a": [
false
],
"b": [
true
],
"sel": [
true
]
}
},
{
"inputs": {
"a": [
true
],
"b": [
false
],
"sel": [
false
]
}
},
{
"inputs": {
"a": [
true
],
"b": [
false
],
"sel": [
true
]
}
},
{
"inputs": {
"a": [
true
],
"b": [
true
],
"sel": [
false
]
}
},
{
"inputs": {
"a": [
true
],
"b": [
true
],
"sel": [
true
]
}
}
]
결과 비교
8 cycles · y=1 · sampled_y=1. 3000ps에서는 y=1이고 sampled_y=0인지 비교하세요.
이 실습은 0/1 단일 클록 RTL을 사용합니다. #delay·initial·X/Z 테스트벤치는 포함하지 않습니다. 학습 완료 표시는 학습 기록이며 실제 시뮬레이션 결과를 뜻하지 않습니다.
✓ 학습 완료