【FPGA学习】Verilog之加法器
来源:互联网 发布:德国足球知乎 编辑:程序博客网 时间:2024/05/16 04:34
在fpga工程应用设计中,随处可见加法器,乘法器等等。现在将一些常用模块和心得体会先记录下来,以便日后使用。
一位半加器:
module halfadder(cout,sum,a,b);
outputcout,sum; //不申明,默认是wire变量
input a,b;
assign{cout,sum}=a+b;//cout为进位,sum为和
endmodule
一位全加器:
module fulladder(a,b,cin,cout,sum);
inputa,b,cin;
outputcout,sum;
assign{cout,sum}=a+b+cin;
endmodule
利用两个半加器实现全加器:
module halfadder(a,b,sum,cout);
outputcout,sum; //不申明,默认是wire变量
input a,b;
assign{cout,sum}=a+b;
endmodule
module fulladder(x,y,c_in,sum,c_out);
inputx;
inputy;
inputc_in;
outputsum;
outputc_out;
wirea_sum;
wirea_out;
wireb_out;
assignc_out=a_out|b_out;
halfadderhalf(x,y,a_sum,a_out);
halfadderhalf1(c_in,a_sum,sum,b_out);
endmodule
测试文件的编写技巧
就拿上面的半加器来说,我们需要添加的就是输入信号a,b.可以采用下列方法:
第一种:
#100 a=0;
#100 b=0;
#100 a=1;
#100 b=1;
这种编辑方式虽然十分方便,可是对于很多情况的测试编写困难。
第二种:
Integer I;
For(i=0;i<=15;i=i+1)
a=I;//注意这里a是一位,因此输出为0101010101010101
第三种:
Repeat(16)
a ={$random}%2;//这里产生随机的0 1比特流。
原文:http://blog.csdn.net/tengweitw/article/details/11296961
作者:nineheadedbird
- 【FPGA学习】Verilog之加法器
- verilog学习记(加法器)
- FPGA学习之Verilog HDL 一
- FPGA之verilog第一天学习(00011101序列产生器)
- Verilog、FPGA学习(一)
- Verilog 流水线加法器
- verilog 实现加法器
- FPGA第三篇:加法器
- fpga-verilog
- FPGA学习笔记3-verilog HDL
- FPGA(Verilog语言)开发学习记录(1)
- Quartus/FPGA/Verilog HDL【学习笔记001】
- FPGA开发之--Verilog中的位移指令
- FPGA设计之常用Verilog语法
- ALTERA DE2 之 verilog HDL 学习笔记03 FPGA的PWM输出
- ALTERA DE2 之 verilog HDL 学习笔记05-FPGA UART RS232
- FPGA之verilog学习第一天(时分秒数字时钟)
- 模加法器的FPGA实现
- apache2.2.5配置
- Servlet学习(二)__session管理__隐藏域
- 栈队数据结构全集
- Hadoop Writable深度复制及读取任意<key,value>序列文件
- Linux学习笔记(一)----Shell
- 【FPGA学习】Verilog之加法器
- Centos环境下部署游戏服务器-自动化
- C语言中的经典问题之数组
- Mac 安装opencv教程
- 《鸟哥的Linux私房菜》读书笔记五
- 【*夜深了,无心睡眠*】
- 虚拟机安装了ubuntu,忘记密码修复
- Go语言学习7:Go语言为什么要用变量名后置的方式做声明
- 【小猿說】开发经理(技术型)需要做的第一件事情