这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » Robei FPGA逻辑门处理

共21条 1/3 1 2 3 跳转至

Robei FPGA逻辑门处理

菜鸟
2015-04-07 10:20:42     打赏

关注微信公众号 更多精彩教程为您呈现。

Robei免费送注册码活动火热进行中,小伙伴们快快参与进来,关注Robei领取注册码。

1.实验目的

数字逻辑是芯片电路的基本组成部分。本次实验主要分析数字逻辑门在Robei软件中利用Verilog语言实现的方式,并通过该实验让参与者快速体验并掌握“图形化+代码”的新型设计模式。 Robei免费送注册码活动正在火热进行中,小伙伴们赶快参与进来。关注Robei领取注册码。Robei免费送注册码活动正在火热进行中,小伙伴们赶快参与进来。关注Robei领取注册码。Robei免费送注册码活动正在火热进行中,小伙伴们赶快参与进来。关注Robei领取注册码。



菜鸟
2015-04-07 10:22:25     打赏
2楼

2.实验准备

2.1论分析

逻辑门是数字电路的基础,常见的数字电路逻辑门有与门,或门,非门,与非门,或非门和异或门等。本次实验重点讨论其中的几个逻辑门用VerilogRobei软件中的设计和仿真。以常见的与门为例,如图2-1-1所示,通过其真值表可以看出,只有当两个输入同时为1的时候,输出才是1,其他情况下均为0与门的数学表达式为:

y=a&b 1

a

b

y

0

0

0

0

1

0

1

0

0

1

1

1

2-1-1 与门示意图和真值表


菜鸟
2015-04-07 10:24:53     打赏
3楼

2.2件准备

熟悉Robei软件。在Robei官方网站上下载最新版Robei软件,并安装。打开Robei软件,熟悉Robei软件的结构和菜单。将鼠标放在工具栏的每个图标上查看图标所代表的内容。在下拉菜单中点击“Help”,查看Robei最新版用户使用说明书。

3.实验内容

3.1 型设计

1)新建一个模型。点击工具栏上的图标,或者点击菜单File然后在下拉菜单中选择New,会有一个对话框弹出来(如图2-1-2所示)。在弹出的对话框中设置你所设计的模型。

 

对应的每项分析如下:

1Module Name:模块名称,这里我们想创建一个叫andgate的模块,输入andgate

2Module Type:模块类型,Robei支持3种类型,moduletestbenchconstrain。这里我们创建的是一个模块,选择module

3Language:设计语言,这里只有一种设计语言Verilog

4Input Ports:输入引脚的数目,我们设计的模块有2个输入引脚ab,所以输入2

5Output Ports:输出引脚的数目,我们设计的模块只有1个输出引脚y,所以输入1

6Inout Ports:既可以作为输入又可以作为输出引脚的数目,我们设计的模块没有用到该类型引脚,所以输入0


菜鸟
2015-04-07 10:29:34     打赏
4楼

 参数填写完成后点击OK按钮,Robei就会生成一个新的模块,名字就是andgate。

2修改模型。在自动生成的界面图上用鼠标选中输入引脚p0,右侧的属性编辑栏就会展示该引脚相对应的属性。每条属性有其对应的名称。为了跟实验设计名称一致,我们把p0的名称改成ap1的名称改成bp2的名称改成y。修改的方法是在属性编辑器Name栏里面修改并点回车。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。

3输入算法。点击模型下方的Code进入代码设计区。

在代码设计区内输入以下Verilog代码:

assign y = a & b  //学习Verilog assign的写法。

该代码实现的是与门逻辑运算。

4保存。点击工具栏图标,或者点击菜单File中的下拉菜单Saveas,将模型另存到一个文件夹中。

5运行。在工具栏点击或者点击菜单Build的下拉菜单Run,执行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜你,模型andgate设计完成。

3.2试文件设计

1新建一个文件。点击工具栏上的图标,在弹出的对话框中参照图2-1-9进行设计。

2修改各个引脚的颜色。选中每个引脚,在属性栏中修改其颜色,方便区分不同的引脚信号。

3另存为测试文件。点击工具栏图标,将测试文件保存到andgate模型所在的文件夹下。

4加入模型。在Toolbox工具箱的Current栏里,会出现一个andgate模型,单击该模型并在andtest上添加。

5连接引脚。点击工具栏中的图标,或者选择菜单Tool中的Connect,连接引脚p0ap1byp2。这个时候,注意查看连接线的颜色。如果鼠标要变回选择模式,点击图标

6输入激励。点击测试模块下方的Code,输入激励算法。激励代码在结束的时候要用$finish 结束。

initial begin   //学习initial beginend的写法

   p0 = 0    //设置初始值

   p1 = 0

   #1       //一个时钟延迟

     p0 = 1

   #1       //再加一个时钟延迟

     p1 = 1

   #1

     p0 = 0

   #1

     p1 = 0

   #1

     $finish  //结束仿真的标志

end

7执行仿真并查看波形。点击工具栏,查看输出信息。检查没有错误之后点击,或者点击菜单View中的Waveview。波形查看器就会打开。

8)点击右侧Workspace中的信号,进行添加并查看。点击波形查看器工具栏上的图标进行自动缩放。分析仿真结果并对照真值表,查看设计正确与否。


菜鸟
2015-04-07 10:30:10     打赏
5楼

4.题与思考

实验中以与门作为例子进行设计,你如何经过简单改动,按照同样的方式来设计或门,非门和以或门并进行仿真验证?

逻辑门

运算符

Verilog算法代码

与门

&

assign y=a&b;

或门

|

assign y=a|b;

异或门

^

assign y=a^b;

非门

~

assign y=~a;

 

5.见问题

1) 我为什么仿真之后看不到波形

Robei 的模型有四种类型:modulemodel testbench constrain 如果你想仿真之后看波形应该将顶层的仿真模块类型设置成testbench。同时,testbench的模块输入端口类型应为reg 输出类型应为wire

 

2) model  module有什么区别

    正在设计的模块叫做module 一旦设计完成,并把此模块应用到其它的设计模块的时候,该模块的类型自动变成modelmodel的一些属性不可更改,是被保护了的。

3) 怎么样看到模块的完整代码

Code中,你只能看到用户输入的代码部分,而且这些代码不是从第一行开始计数的。点击菜单View中的下拉菜单CodeView,你可以看到所有的代码,包括自动生成的。

4) 我没有注册能不能仿真看波形

可以。但是仿真的模块数目有限制。

 

 


院士
2015-04-07 11:24:55     打赏
6楼
插队,楼主,你的图片呢?

院士
2015-04-07 14:01:16     打赏
7楼


测试,没问题啊,楼主


菜鸟
2015-04-09 10:43:18     打赏
8楼
更多教程,更多精彩内容请关注微信公众平台:Robei

菜鸟
2015-04-10 10:13:20     打赏
9楼
楼主来了,有什么问题可以回复楼主。

菜鸟
2015-04-13 10:26:24     打赏
10楼
大家有使用Robei的吗,大家一起交流学习,楼主这里找到一些Robei的教程,如有需要可以回复楼主,跟楼主一起学习。

共21条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]