Verilog 語言2選1資料選擇器

2021-10-25 04:15:24 字數 1674 閱讀 5156

一、測試模組

//==

====

====

====

=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...