在线Verilog编程网站学习

https://hdlbits.01xz.net/wiki/Main_Page HDLBits — Verilog Practice 在线练习网站

一、 门电路练习

与门

或非门(或门输出取反)

 

 

异或门

 

 

二、组合电路练习

题目1

 

题目2

 

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

endmodule

 default_nettype none 是一个宏定义语句,这里是直接驱动。为便于理解代码可为

default_nettype none
module top_module(
input a,
input b,
input c,
input d,
output out,
output out_n );
wire and_1 = a & b;
wire and_2 = c & d;
wire or_1 = and_1 | and_2;
assign out = or_1;
assign out_n = ~or_1;
endmodule

 4 个 assign 语句,因为在定义 3 个中间信号的同时,还给它们赋了值,这在 Verilog 语法中也是允许的

题目3

 本题要实现个稍稍复杂的电路:数电芯片 7458 。它有 10 个输入信号,2 个输出信号。你可以选择对每个输出信号,使用一个 assign 语句,也可以先产生第一级逻辑门输出的 4 个中间信号。

 

 实现了但没有完全实现,有5个问题

 

三、时序电路

题目1

 

 

题目2

 给出了一个可以做16bit加法的模块add16,实例化两个add16以达到32bit加法的。一个add16模块计算结果的低16位,另一个add16模块在接收到第一个的进位后计算结果的高16位。此32bit加法器不需要处理输入进位(假设为0)和输出进位(无需进位),但为了内部模块为了结果的正确仍要处理进位信号。(换句话说,add16模块执行16bit的a+b+cin,而顶层模块执行32bit的a+b)。

 

 

题目3

 

 

 可参考HDLBits 中文导学 https://zhuanlan.zhihu.com/c_1131528588117385216

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Verilog编程艺术是指在Verilog硬件描述语言中写出高质量、高效的代码的技巧和实践。下面是一些Verilog编程艺术的建议: 1. 模块化设计:将设计划分为多个模块,每个模块负责不同的功能,使代码结构清晰,并且便于维护和重用。 2. 规范命名:使用有意义的名称来命名信号、模块和变量,以增强代码的可读性和可维护性。 3. 注释:添加详细的注释,解释代码的意图、功能和特殊考虑事项。这有助于他人理解和修改你的代码。 4. 仿真测试:使用仿真工具来验证设计的正确性。编写全面的测试用例,覆盖各种情况和边界条件。 5. 时序规范:确保在设计中正确处理时序问题,包括时钟边沿、时钟域交叉、同步复位等。 6. 避免多驱动冲突:确保每个信号只有一个驱动器,避免多个驱动器之间产生冲突。 7. 优化资源利用:使用合适的Verilog语法和技巧,以减少硬件资源的使用,并提高设计的性能和功耗。 8. 灵活使用生成语法:使用generate语法和宏定义来实现可复用的硬件设计,从而简化代码和提高模块的灵活性。 9. 良好的布局和格式:对代码进行良好的缩进、对齐和分组,以提高代码的可读性和可维护性。 10. 不断学习和改进:跟随Verilog的最新发展,学习新的技术和技巧,不断改进自己的编程能力。 希望这些建议对你在Verilog编程中有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值