三种建模方式探索
来源:互联网 发布:ps cs6 for mac破解版 编辑:程序博客网 时间:2024/06/08 03:15
硬件描述语言建模时,除了可以用不同层次的基本描述方式建模外,还可以根据其对信号描述方式的不同划分为:数据流建模、行为建模、结构建模。
本文以二选一数据选择器为例。
一、二选一数据选择器的数据流建模
Verilog HDL代码:
module mux2to1_dataflow(a,b,s,f); input a ,b,s;output f ; assign f= s ? b : a ;endmodule
Testbench:
`timescale 1ns/1psmodule mux2to1_dataflow_tb; reg a ,b,s;wire f ; mux2to1_dataflow dut(.a(a),.b(b),.s(s),.f(f)); initial begina=0 ; b=0; s=0;#200 forever begin #20 a=0 ; b=0; s=0; #20 a=0 ; b=1; s=0; #20 a=1 ; b=0; s=0; #20 a=1 ; b=1; s=0; #20 a=0 ; b=0; s=1; #20 a=0 ; b=1; s=1; #20 a=1 ; b=0; s=1; #20 a=1 ; b=1; s=1; end endinitial #2000 $stop;endmodule
Modelsim仿真:
二、二选一数据选择器的行为建模
Verilog HDL代码:
module mux2to1_behaviour(a,b,s,f); input s,a,b;output reg f;always @ (*) begin if (s) f=a ;else f=b ; end endmodule
Testbench:
`timescale 1ns/1psmodule mux2to1_behaviour_tb; reg s,a,b;wire f;mux2to1_behaviour dut(.a(a),.b(b),.s(s),.f(f)); initial begina=0 ; b=0; s=0;#200 forever begin #20 a=0 ; b=0; s=0; #20 a=0 ; b=1; s=0; #20 a=1 ; b=0; s=0; #20 a=1 ; b=1; s=0; #20 a=0 ; b=0; s=1; #20 a=0 ; b=1; s=1; #20 a=1 ; b=0; s=1; #20 a=1 ; b=1; s=1; end endinitial #2000 $stop;endmodule
Modelsim仿真:
三、二选一数据选择器的结构化建模
Verilog HDL代码:
module mux2to1_structure(a,b,s,f); input a , b ,s; output f; wire sn , bs, asn ; not u1(sn, s ); and u2(bs , b , s); and u3(asn , sn ,a); or u4(f , bs , asn); endmodule
Testbench:
`timescale 1ns/1psmodule mux2to1_structure_tb; reg a ,b,s;wire f ; mux2to1_structure dut(.a(a),.b(b),.s(s),.f(f)); initial begina=0 ; b=0; s=0;#200 forever begin #20 a=0 ; b=0; s=0; #20 a=0 ; b=1; s=0; #20 a=1 ; b=0; s=0; #20 a=1 ; b=1; s=0; #20 a=0 ; b=0; s=1; #20 a=0 ; b=1; s=1; #20 a=1 ; b=0; s=1; #20 a=1 ; b=1; s=1; end endinitial #2000 $stop;endmodule
Modelsim仿真:
阅读全文
0 0
- 三种建模方式探索
- fpga设计思想(一):三种建模方式
- 几种建模方式比较
- 用Verilog HDL的三种建模方式描述——2选1数据选择器
- 几种建模方式的比较
- HDL的四种建模方式
- UML建模表示方式
- 数据建模三范式
- 三 静态结构建模
- 三 静态结构建模
- ArcGIS三维建模(三)
- 网络流建模(三)
- 教材上的例子--有限状态机,四种建模方式
- 三种分页方式
- 三种备份方式
- css 三种方式
- 三种分页方式
- 三种Service方式
- Xilinx SDK 中 的 'No rule to make target ' / '没有规则可以创建...'
- NGUI学习笔记(五): 背包拖拽效果
- 10067---java集合框架【3】 java1.5新特性 ConcurrentHashMap、Collections.synchronizedMap、Hashtable讨论
- C++笔记之【Webservice通讯中文乱码】的那些事
- 使用gradle创建多项目
- 三种建模方式探索
- 开源OCR引擎Tesseract-OCR
- 数据库系统之三级结构模式
- The First
- 华为——进制转换
- 51nod 1468 小Y的IP地址
- 事务使用总结:
- Unix发展史
- Python学习笔记之函数