2020年3月1日 星期日

EX6-1 BCD code to 2-4-2-1 code circuit

EX6-1 BCD code to 2-4-2-1 code circuit

//=============================
// Ch6.1 BCD code to 2-4-2-1 code circuit 

module EX10_9( a ,b, c, d, w, x , y ,z);

input  a ,b, c ,d; // 1位元輸入

output  reg  w, x , y ,z  ; // Output    1位元輸出

always@ ( a ,b, c, d) begin
case ({a,b,c,d}) 
4'b0000: {w,x,y,z}=4'b0000;
4'b0001: {w,x,y,z}=4'b0001;
4'b0010: {w,x,y,z}=4'b0010;
4'b0011: {w,x,y,z}=4'b0011;
4'b0100: {w,x,y,z}=4'b0100;
4'b0101: {w,x,y,z}=4'b1011;
4'b0110: {w,x,y,z}=4'b1100;
4'b0111: {w,x,y,z}=4'b1101;
4'b1000: {w,x,y,z}=4'b1110;
4'b1001: {w,x,y,z}=4'b1111;
4'b1010: {w,x,y,z}=4'bzzzz;
4'b1011: {w,x,y,z}=4'bzzzz;
4'b1100: {w,x,y,z}=4'bzzzz;
4'b1101: {w,x,y,z}=4'bzzzz;
4'b1110: {w,x,y,z}=4'bzzzz;
4'b1111: {w,x,y,z}=4'bzzzz;
endcase

end

endmodule

//=============================
// 時間單位 100ns, 時間精確度100 ps
`timescale 100ns/100ps     
module Test_bench;
    // Inputs
    reg a ,b, c ,d;

    // Outputs
    wire w, x , y ,z  ;

    // Instantiate the Unit Under Test (UUT)
    //  Ch6.1 BCD code to 2-4-2-1 code circuit 
     EX10_9  UUT (
        .a(a), 
        .b(b), 
        .c(c), 
        .d(d),
        .w(w), 
        .x(x), 
        .y(y), 
        .z(z)
    );

    initial begin
        $monitor( a ,b, c, d, w, x , y ,z);

        //Apply inputs
a=1'b0; b=1'b0; c=1'b0; d=1'b0;
        #100;
{a,b,c,d}=4'b0001;
        #100;
{a,b,c,d}=4'b0010;
        #100;
{a,b,c,d}=4'b0011;
        #100;
{a,b,c,d}=4'b0100;
        #100;
{a,b,c,d}=4'b0101;
        #100;
{a,b,c,d}=4'b0110;
        #100;
{a,b,c,d}=4'b0111;
        #100;
{a,b,c,d}=4'b1000;
        #100;
{a,b,c,d}=4'b1001;
        #100;
{a,b,c,d}=4'b1010;
        #100;
{a,b,c,d}=4'b1011;
        #100;
{a,b,c,d}=4'b1100;
        #100;
{a,b,c,d}=4'b1101;
        #100;
{a,b,c,d}=4'b1110;
        #100;
{a,b,c,d}=4'b1111;
        #100;
   
    end
    initial begin
#1600  $stop;
end

endmodule


沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...