Xilinx ISE14.1用Verilog语言实现一个半加器并测试
<一>建立一个工程
注:Xilinx ISE的安装在此不再过多说明,网上有参考资料
1.打开软件进入如下界面

2.创建工程
File-->New Project


3.创建文件(我取名为firstTry)

右键选择New Source;

设置参数

4.编写代码
module half_add( input a, input b, output sum, output cout );
assign sum = a^b;
assign cout = a&b;
endmodule
5.测试代码
选择项目并且右键(New Source)

测试代码如下:
module half_addtest;
// Inputs
reg a;
reg b;
// Outputs
wire sum;
wire cout;
// Instantiate the Unit Under Test (UUT)
half_add uut ( .a(a), .b(b), .sum(sum), .cout(cout) );
initial begin
// Initialize Inputs
a = 0;
b = 0;
// Wait 100 ns for global reset to finish
//#100; 这句最好暂时不用
// Add stimulus here
#0.001 a = ~a;
#0.001 b = ~b;
#0.001 a = ~a;
#0.001 b = ~b;
#0.001 a = ~a;
#0.001 b = ~b;
#0.001 a = ~a;
#0.001 b = ~b;
end
endmodule
测试步骤:


6.测试代码分析
#0.001 a = ~a;
注意:#N中的N是以ns为单位的,而在测试截图中的时间单位是ps,其中 1ns = 1000 ps;
说到这里也知道测试代码中的#100为什么不要了的原因
这句话2就是从执行这句代码起,等待0.001ns后a取反,然后结合测试截图就可以理解了。
7.生成顶层文件

双击Synthesize中的View RTL Schematic

Xilinx ISE14.1用Verilog语言实现一个半加器并测试的更多相关文章
- 用Verilog语言实现一个简单的MII模块
项目中要求简单地测试一下基于FPGA的模拟平台的RJ45网口,也就是需要实现一个MII或者RMII模块.看了一下官方网口PHY芯片的官方文档,还是感觉上手有点障碍,想在网络上找些参考代码看看,最后只在 ...
- 用Verilog语言设计一个3-8译码器
case语句 if_case语句 源码下载 Github >>
- Verilog 语言 001 --- 入门级 --- 编写一个半加器电路模块
Verilog 语言编写一个 半加器 电路模块 半加器 的电路结构: S = A 异或 B C = A 与 B 1. 程序代码 module h_adder (A, B, SO, CO); input ...
- 基于MATLAB2016b图形化设计自动生成Verilog语言的积分模块及其应用
在电力电子变流器设备中,常常需要计算发电量,由于电力电子变流器设备一般是高频变流设备,所以发电量的计算几乎时实时功率的积分,此时就会用到一个积分模块.发电量计算的公式如下:Q=∫P. FPGA由于其并 ...
- Verilog语言实现并行(循环冗余码)CRC校验
1 前言 (1) 什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能, ...
- Xilinx 常用模块汇总(verilog)【03】
作者:桂. 时间:2018-05-10 2018-05-10 21:03:44 链接:http://www.cnblogs.com/xingshansi/p/9021919.html 前言 主要记 ...
- Verilog语言:还真的是人格分裂的语言
人气腹语术师天愿在现场披露了被人偶搭档夺取灵魂的腹语术师将妻子杀害的表演节目.天愿真的陷入了多重人格,命令自己杀害妻子和子的人偶的人格出现了.为了不(让自己)杀害和弟子登川有外遇的妻子,天愿提出委托想 ...
- FPGA基础(verilog语言)——语法篇
verilog语言简介 verilog语言是一种语法类似于c的语言,但是与c语言也有不同之处,比如: 1.verilog语言是并行的,每个always块都是同时执行,而c语言是顺序执行的 2.veri ...
- FPGA基础(verilog语言)——语法篇(续1)
上一篇文章提到了FPGA中一个模块基本结构,这篇文章开始介绍语法. 首先,我们学习一门语言都要从这门语言的单词学起,所以verilog中的关键词都有哪些呢?看下面: A:always.assign B ...
随机推荐
- Hello PyQt5
在 ubuntu 系统上 GUI 编程,PyQt5 是个不错的选择.首先,当然是安装 PyQt5 了.终端输入命令: pip3 install PyQt5 即可. 1. 建立一目录 x01.PyQtH ...
- 第4章 同步控制 Synchronization ----信号量(Semaphore)
许多文件中都会提到 semaphores(信号量),因为在电脑科学中它是最具历史的同步机制.它可以让你陷入理论的泥淖之中,教授们则喜欢问你一些有关于信号量的疑难杂 症.你可能不容易找到一些关于 sem ...
- Linux入门之常用命令(7)压缩
compress filename 压缩 -d解压缩 *.Z bzip -d解压缩 -z压缩 *.bz2 bzcat filename .bz2 读取压缩文件内容 gzip -d解压缩 -#压 ...
- canvas,html2canvas等合成图片不清晰问题
function pxRa(cxt) { var backingStore = context.backingStorePixelRatio || context.webkitBackingStor ...
- Relocation 状态压缩DP
Relocation Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- 关于加载离线SHP文件、geodatabase文件所遇到的路径问题
正文开始之前还是先吐槽一下,一行代码DEBUG了一天不知道怎么改,终于误打误撞弄出来了(以下以shp文件为例) 对于虚拟机测试 public String getPath(){ File sdDir ...
- Ansible(三) - playbook简介
Ⅰ. Playbook介绍 Playbook其实就是ansible的一个任务列表,各任务按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个任务后再开始第二个.在顺序运行某playb ...
- dets
模块说明 提供基于文件的项式存储,项式以元组表示,其中某个位置为键,默认第1位置 Dets为Mniesia所用,后者增加了事务.查询.和分布式支持. Dets文件不能超过2GB. Dets只有set ...
- 普通<= >=和between的sql查询方式区别与推荐
推荐SQL Server精准时间查询方式 USE Test /*插入或修改3条时间为以下极端情况的记录 UPDATE dbo.UserInfo SET AddTime = '2016-8-1 00:0 ...
- Python实战之IO多路复用select的详细简单练习
IO多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. select 它通过一个select()系统调用来 ...