挺早以前就刷了里面一些题,结果不知道为啥登录账号刷题记录又没了,强迫症又让我不想从中间开始刷。既然如此,那就从头开始刷吧。QWQ

Step one

第一题,没啥好说的。

module top_module( output one );

// Insert your code here
    assign one = 1'b1;

endmodule

Zero

同样没啥好说的。

module top_module(
    output zero
);// Module body starts after semicolon
    assign zero = 1'b0;
endmodule

Wire

assign赋值。

module top_module( input in, output out );

    assign out = in;
endmodule

Wire4

注意input和output的默认类型为wire。

module top_module( 
    input a,b,c,
    output w,x,y,z );
    assign w = a;
    assign x = b;
    assign y = b;
    assign z = c;
endmodule

Notgate

一个反向,注意verilog有按位取反:~ 和 逻辑反:!。

module top_module( input in, output out );
assign out = ~in;
endmodule

andgate

与门同样有按位与:&和逻辑与:&&。

module top_module( 
    input a, 
    input b, 
    output out );
assign out = a & b;
endmodule

Norgate

或非门,或门同样有按位或:|和逻辑或:||。

module top_module( 
    input a, 
    input b, 
    output out );
    assign out = ~(a|b);
endmodule

Xnorgate

同或门,或者叫异或非门,可以先异或再取反

module top_module( 
    input a, 
    input b, 
    output out );
    assign out = ~(a^b);
endmodule

Wire decl

多了几个assign,也没啥好说的。

`default_nettype none
module top_module(
    input a,
    input b,
    input c,
    input d,
    output out,
    output out_n   ); 
    wire e,f;
    assign e = a & b;
    assign f = c & d;
    assign out = e | f;
    assign out_n = ~out;

endmodule

7458

同样是一堆简单的门电路。

module top_module ( 
    input p1a, p1b, p1c, p1d, p1e, p1f,
    output p1y,
    input p2a, p2b, p2c, p2d,
    output p2y );
    assign p1y = (p1a & p1b & p1c)|(p1d & p1e & p1f);
    assign p2y = (p2a & p2b)|(p2c & p2d);
endmodule

今天的题都比较简单,也没刷多久,就当放松了。

原文地址:http://www.cnblogs.com/magnolia666/p/16797365.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性