数字逻辑 Vivado软件结合Modolsim仿真编写varilog语言过程

几个文件:

设计文件:design sources   name.v文件

约束文件:constraints   name.xdc文件

仿真文件、测试文件:simulation sources    name_tb.v文件    为设计文件输入模拟信号

几个过程:

仿真(Simulation):检查逻辑功能是否正确

综合(Synthesis):是将RTL级电路( 由硬件语言描述的电路)转换到门级电路的过程。

 

完成一个工程步骤:

1. 新建工程--》将出现4个添加文件界面,在第一个界面新建或添加设计文件--》配置--》完成

如果是新建文件,则被新建的文件路径在

对于弹出的配置input output 的窗口,可忽视,在设计文件中直接写出。

2. 综合,选择Open Synathesized design,配置xdc文件并保存

设计文件输入时,接口输入后会有波浪线,在声明后才会消失。

仿真(测试)文件添加时,是并列的,输入内容调用设计文件后会自然变成有层次的结构。

3.仿真

4.综合

verilog语言

符号

%取余采用第一个数的符号。-10%7=-3

{}级联,将括号中的位拼在一起操作。{n{}}复制内括号n次并级联

数据类型

线网(net):最常用wire,连接,两端保持一致,不可存储

寄存器(register):在下次赋值前保持原值。integer类型是有符号数,reg是无符号数。有符号数赋值给无符号数,verilog自动完成补码运算。

参数(parameters):相当于宏定义,是常数.

net和register的主要区别在于能否存储。

模块

输入端口能由net、register驱动(实例化模块的端口),但输入端口只能声明为net(该模块内的声明)

输出端口可以是net、register类型,但只能驱动net。

上两句可概括为,在设计文件中,input只能声明为net,output可为register和net。

模块的实例化功能相当于C语言中的调用函数 eg:and(o,i1,i2);但是每个实例化都是模块的一个完全拷贝,并行执行,互不干扰。

verilog语言有三种描述形式:

结构型描述:调用and、or、not等模块

数据流型描述:使用assign关键字的描述

行为型描述:

 

fork join中使用<=并行执行

begin end 中使用=赋值顺序执行


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值