1位全加器,门结构实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg ain,bin,cin;initial beginain=0;bin=0;cin=0;#5 ain=1;bin=1;#5 ain=0;bin=0;#5 ain=1;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfull_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodule
module  full_add(input ain,bin,cin,output sum,count);wire m1,m2,m3;wire s1;and (m1,ain,bin),(m2,ain,cin),(m3,bin,cin);xor (sum,ain,bin,cin);or  (count,m1,m2,m3);`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

结果:

1位全加器数据流实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg ain,bin,cin;initial beginain=0;bin=0;cin=0;#5 ain=1;bin=1;#5 ain=0;bin=0;#5 ain=1;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfull_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodule
module  full_add(input ain,bin,cin,output sum,count);assign sum=ain^bin^cin;assign count=(ain&bin)|(ain&bin)|(bin&cin);`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

1位全加器行为级实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg ain,bin,cin;initial beginain=0;bin=0;cin=0;#5 ain=1;bin=1;#5 ain=0;bin=0;#5 ain=1;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfull_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodule
module  full_add(input ain,bin,cin,output sum,count);reg sum,count;always @(ain or bin or cin)beginsum=ain+cin+bin;//ain^bin^cincount=(ain&bin)|(ain&cin)|(bin&cin); end`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

结果:

4位全加器门级结构实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg [3:0] ain,bin;reg cin;initial beginain=0;bin=0;cin=0;#5 ain=2;bin=3;#5 ain=4;bin=2;#5 ain=14;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfour_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodule
module  full_add(input ain,bin,cin,output sum,count);wire m1,m2,m3;wire s1;and (m1,ain,bin),(m2,ain,cin),(m3,bin,cin);xor (sum,ain,bin,cin);or  (count,m1,m2,m3);
endmodule
module four_add(ain,bin,cin,sum,count);input [3:0] ain,bin,cin;output count;output [3:0] sum;wire cin1,cin2,cin3;full_add add0(ain[0],bin[0],cin,sum[0],cin1);full_add add1(ain[1],bin[1],cin1,sum[1],cin2);full_add add2(ain[2],bin[2],cin2,sum[2],cin3);full_add add3(ain[3],bin[3],cin3,sum[3],count);`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

结果:

4位全加器数据流级实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg [3:0] ain,bin;reg cin;initial beginain=0;bin=0;cin=0;#5 ain=2;bin=3;#5 ain=4;bin=2;#5 ain=14;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfour_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodulemodule four_add(ain,bin,cin,sum,count);input [3:0] ain,bin,cin;output count;output [3:0] sum;assign {count,sum}=ain+bin+cin;`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

结果:

4位全加器行为级实现:

module top_module ();reg clk=0;always #5 clk = ~clk;  // Create clock with period=10initial `probe_start;   // Start the timing diagram`probe(clk);        // Probe signal "clk"// A testbenchreg [3:0] ain,bin;reg cin;initial beginain=0;bin=0;cin=0;#5 ain=2;bin=3;#5 ain=4;bin=2;#5 ain=14;cin=1;#5 bin=1;#60 $finish;            // Quit the simulationendfour_add add(.ain(ain),.bin(bin),.cin(cin));  // Sub-modules work too.
endmodulemodule four_add(ain,bin,cin,sum,count);input [3:0] ain,bin,cin;output reg count;output reg [3:0] sum;always @(*) begin{count,sum}=ain+bin+cin;end`probe(sum);`probe(ain);`probe(bin);`probe(cin);`probe(count);
endmodule

全加器门级(结构级),数据流,行为级实现相关推荐

  1. 读后感与机翻《基于理论的因果迁移:结合实例级的归纳和抽象级的结构学习》

    研究朱松纯FPICU体系的第 3 篇文章 <Theory-based Causal Transfer: Integrating Instance-level Induction and Abst ...

  2. 【 Verilog HDL 】不同抽象级别的Verilog HDL模型之门级结构描述

    本博文参考:<从算法设计到硬件逻辑实现>,仅供学习交流使用. Verilog模型可以是实际电路不同级别的抽象.这些抽象的级别和它们对应的模型类型共有以下五种: 1) 系统级(system) ...

  3. 特权级——保护模式的特权级检查 DPL,RPL,CPL, 一致代码段,非一致代码段

    特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下. 一.CPL.RPL.DPL简单解释     CPL是当前进程的权限级别(Current Privil ...

  4. RTL行为级仿真、综合后门级功能仿真和时序仿真

    数字电路设计中一般有源代码输入.综合.实现等三个比较大的阶段,而电路仿真的切入点也基本与这些阶段相吻合,根据适用的设计阶段的不同仿真可以分为RTL行为级仿真.综合后门级功能仿真和时序仿真.这种仿真轮廓 ...

  5. 排序千万级数据_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...

    千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议. 从一开始脑海里开始也是火光 ...

  6. crazy的比较级最高级_形容词比较级和最高级more, most

    最高级是英语语法常用的简单的但是又能显示出英语实力的知识,作文里多用这个能提分..小编在这里整理了相关知识,快来学习学习吧! 形容词比较级和最高级more, most 形容词比较级和最高级的规则变化 ...

  7. 功放前级的左右_Altitude32前级功放题 - 什么是全景声功放_全景声功放有哪些

    标签:功放(220) 全景声功放有哪些? 1.AlTItude32前级功放 AlTItude32环绕声处理器是目前业界唯一具备32声道独立输出的顶级环绕声处理器,也是目前市面上能买到的最先进,创新性和 ...

  8. 英语b级分数计算机,英语b级多少分算过?

    01 60分及60分以上 英语b级考试按百分制计分,满分为100分.B级60分及60分以上为及格:85分及85分以上为优秀.考试成绩合格者发给"高等学校英语应用能力考试"相应级别的 ...

  9. 计算机房国家c级标准,屏蔽机房c级标准是什么?

    现在很多工厂为了有效地防止各种电磁辐射对测量仪器的影响,很多工厂都建设屏蔽机房来保证,它可以很好的避免干扰临近机房设备的正常还行,屏蔽机房是用金属网或金属板将信号源包围,可以阻止外部的信号进入到金属层 ...

最新文章

  1. 移除VS解决方案和TFS服务器的关系
  2. WINXP光启工具盘的制作(4)-acrosin true image
  3. ACCESS数据库连接字符串
  4. JS调用后台带参数的方法
  5. Microsoft Teams的保留策略
  6. C# wpf编程CM框架快速入门项目实例
  7. 在JDK 10中不可变与不可修改
  8. 【JVM】JVM 内联优化
  9. 高性能 Go 日志库 zap 设计与实现
  10. 短视频抖音广告投放数据分析报告, 游戏行业抖音广告投放占比最多
  11. 统计工具代码同步安装和异步安装有何区别
  12. 新唐 Nuvoton M031 入门 点亮板载LED
  13. 计算机从系统格式开始
  14. 【计算机毕业设计】026在线文档管理系统
  15. 教你快速爬取哔哩哔哩整部番剧的视频弹幕
  16. QT半透明图片叠加显示
  17. datanode启不起来,报错:org.apache.hadoop.hdfs.server.datanode.Datanode:Enk pool service for:Block pool ()Da
  18. springboot + mina 实现串口通讯
  19. linux下的sh文件变成可执行文件
  20. 关于解决安装ubuntu双系统中出现的不能识别磁盘分区、空闲空间变不可用问题

热门文章

  1. 三剑合一称霸互联网时代——Serverless助推云计算-大数据-人工智能(赛)
  2. 利用Python开发智能阅卷系统, 太有趣了!
  3. SSH介绍和使用,SSH key教程
  4. Xilinx PCIe下行调试
  5. 2022-2028年全球​​压力开关行业收入年复合增长率CAGR为 2.4%
  6. “听声避险”?这个AI可精确辩声 帮助防盗和规避交通事故
  7. linux开发板led怎么亮,飞凌OK6410开发板(裸板) 第一个点亮LED灯程序
  8. Selenium 自动化测试(二)部署Selenium Remote Control(Selenium RC)
  9. centOS7服务管理与启动流程
  10. vue-infinite-scroll无限滚动组件