全加器门级(结构级),数据流,行为级实现
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
全加器门级(结构级),数据流,行为级实现相关推荐
- 读后感与机翻《基于理论的因果迁移:结合实例级的归纳和抽象级的结构学习》
研究朱松纯FPICU体系的第 3 篇文章 <Theory-based Causal Transfer: Integrating Instance-level Induction and Abst ...
- 【 Verilog HDL 】不同抽象级别的Verilog HDL模型之门级结构描述
本博文参考:<从算法设计到硬件逻辑实现>,仅供学习交流使用. Verilog模型可以是实际电路不同级别的抽象.这些抽象的级别和它们对应的模型类型共有以下五种: 1) 系统级(system) ...
- 特权级——保护模式的特权级检查 DPL,RPL,CPL, 一致代码段,非一致代码段
特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下. 一.CPL.RPL.DPL简单解释 CPL是当前进程的权限级别(Current Privil ...
- RTL行为级仿真、综合后门级功能仿真和时序仿真
数字电路设计中一般有源代码输入.综合.实现等三个比较大的阶段,而电路仿真的切入点也基本与这些阶段相吻合,根据适用的设计阶段的不同仿真可以分为RTL行为级仿真.综合后门级功能仿真和时序仿真.这种仿真轮廓 ...
- 排序千万级数据_MySQL 对于千万级的大表要怎么优化?我写了6000字的深度解读...
千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议. 从一开始脑海里开始也是火光 ...
- crazy的比较级最高级_形容词比较级和最高级more, most
最高级是英语语法常用的简单的但是又能显示出英语实力的知识,作文里多用这个能提分..小编在这里整理了相关知识,快来学习学习吧! 形容词比较级和最高级more, most 形容词比较级和最高级的规则变化 ...
- 功放前级的左右_Altitude32前级功放题 - 什么是全景声功放_全景声功放有哪些
标签:功放(220) 全景声功放有哪些? 1.AlTItude32前级功放 AlTItude32环绕声处理器是目前业界唯一具备32声道独立输出的顶级环绕声处理器,也是目前市面上能买到的最先进,创新性和 ...
- 英语b级分数计算机,英语b级多少分算过?
01 60分及60分以上 英语b级考试按百分制计分,满分为100分.B级60分及60分以上为及格:85分及85分以上为优秀.考试成绩合格者发给"高等学校英语应用能力考试"相应级别的 ...
- 计算机房国家c级标准,屏蔽机房c级标准是什么?
现在很多工厂为了有效地防止各种电磁辐射对测量仪器的影响,很多工厂都建设屏蔽机房来保证,它可以很好的避免干扰临近机房设备的正常还行,屏蔽机房是用金属网或金属板将信号源包围,可以阻止外部的信号进入到金属层 ...
最新文章
- 移除VS解决方案和TFS服务器的关系
- WINXP光启工具盘的制作(4)-acrosin true image
- ACCESS数据库连接字符串
- JS调用后台带参数的方法
- Microsoft Teams的保留策略
- C# wpf编程CM框架快速入门项目实例
- 在JDK 10中不可变与不可修改
- 【JVM】JVM 内联优化
- 高性能 Go 日志库 zap 设计与实现
- 短视频抖音广告投放数据分析报告, 游戏行业抖音广告投放占比最多
- 统计工具代码同步安装和异步安装有何区别
- 新唐 Nuvoton M031 入门 点亮板载LED
- 计算机从系统格式开始
- 【计算机毕业设计】026在线文档管理系统
- 教你快速爬取哔哩哔哩整部番剧的视频弹幕
- QT半透明图片叠加显示
- datanode启不起来,报错:org.apache.hadoop.hdfs.server.datanode.Datanode:Enk pool service for:Block pool ()Da
- springboot + mina 实现串口通讯
- linux下的sh文件变成可执行文件
- 关于解决安装ubuntu双系统中出现的不能识别磁盘分区、空闲空间变不可用问题
热门文章
- 三剑合一称霸互联网时代——Serverless助推云计算-大数据-人工智能(赛)
- 利用Python开发智能阅卷系统, 太有趣了!
- SSH介绍和使用,SSH key教程
- Xilinx PCIe下行调试
- 2022-2028年全球​​压力开关行业收入年复合增长率CAGR为 2.4%
- “听声避险”?这个AI可精确辩声 帮助防盗和规避交通事故
- linux开发板led怎么亮,飞凌OK6410开发板(裸板) 第一个点亮LED灯程序
- Selenium 自动化测试(二)部署Selenium Remote Control(Selenium RC)
- centOS7服务管理与启动流程
- vue-infinite-scroll无限滚动组件