一、測試模組
//==
====
====
====
=test module==
====
====
====
====//
module mux2to1(a,b,sel,out);
input a; //資料輸入端a
input b; //資料輸入端b
input sel; //資料選通控制端
output out; //資料輸出端
wire a1, b1, selnot;
//門級判斷//
not (selnot, sel)
; and (a1, a, selnot)
; and (b1, b, sel)
; or (out,a1,b1)
;endmodule
二、testbench
//==
====
====
==testbench==
====
====
====//
`timescale 1ns/1ps
module mux2to1_tb;
//激勵訊號定義,對應接到testmodule的輸入埠
reg signal_a;
reg signal_b;
reg signal_c;
//待檢測訊號定義,對應接到testmodule的輸出埠
wire signal_out;
//例化testmodule
mux2to1 mux2to1_0(
.a(signal_a),
.b(signal_b),
.sel(signal_c),
.out(signal_out));
//產生激勵
initial begin
signal_a=0; signal_b=0; signal_c=0;
#100;//延時100ns
signal_a=0; signal_b=0; signal_c=1;
#100;
signal_a=0; signal_b=1; signal_c=0;
#100;
signal_a=0; signal_b=1; signal_c=1;
#100;
signal_a=1; signal_b=0; signal_c=0;
#100;
signal_a=1; signal_b=0; signal_c=1;
#100;
signal_a=1; signal_b=1; signal_c=0;
#100;
signal_a=1; signal_b=1; signal_c=1;
#200;
$stop
; end
initial
$monitor
($time,
"signal_a=%signal_b signal_b=%signal_b signal_c=%signal_b signal_out=%signal_b",
signal_a,signal_b,signal_c,signal_out);
endmodule
老 質價比 選夫婿2 選夫婿1
problem description 給出n件物品,每件物品有質量和 兩種屬性。你要做的是按質量公升序排序,若質量相同則按 降序排序。input 多組輸入。每組先輸入乙個正整數n 1 n n 100 代表有n件物品。接下來的一行有n個正整數wi 1 wi wi 10000 代表每件物品的質量。再接...
省選測試1
我好菜啊 題目大意 給定每次可以翻的長度,有m種,問最後把這些硬幣翻到指定狀態的最少次數 show code include include include const int n 1e4 5 int read int x 0,int f 1,char c getchar int n,k,m,a 1...
省選模擬2
前 n 個正整數劃分成 m 個集合,不存在乙個分解線使得劃分出來的值域分開 那麼設 f 表示將前 i 數劃分到 j 個集合裡,其中還剩 k 個集合沒有達到最大值 那麼答案就是 f 邊界 f 1 對於 i neq0,n f 0 轉移的話分別考慮是否新開乙個集合,是否讓乙個集合達到最大值 f f f k...