<一>创建工程

创建工程在此略过。

<二>基本代码

1、创建一个Verilog modual代码如下:

module main(
input clk,
input rsta,
input wea,
input [ : ] addra,
input [ : ] dina,
output [ : ] douta,
input rstb,
input web,
input [ : ] addrb,
input [ : ] dinb,
output [ : ] doutb
);
device1 mydevice(
.clka(clk),
.rsta(rsta),
.wea(wea),
.addra(addra),
.dina(dina),
.douta(douta),
.clkb(clk),
.rstb(rstb),
.web(web),
.addrb(addrb),
.dinb(dinb),
.doutb(doutb)
); endmodule

代码中元件例化了一个True Dual Port RAM。

2、写测试代码

module mainTest;

    // Inputs
reg clk;
reg rsta;
reg wea;
reg [:] addra;
reg [:] dina;
reg rstb;
reg web;
reg [:] addrb;
reg [:] dinb; // Outputs
wire [:] douta;
wire [:] doutb; // Instantiate the Unit Under Test (UUT)
main uut (
.clk(clk),
.rsta(rsta),
.wea(wea),
.addra(addra),
.dina(dina),
.douta(douta),
.rstb(rstb),
.web(web),
.addrb(addrb),
.dinb(dinb),
.doutb(doutb)
); initial begin
// Initialize Inputs
clk = ;
rsta = ;
wea = ;
addra = 1;//这里为什么是1在下面有解释
dina = ;
rstb = ;
web = ;
addrb = ;
dinb = ; // Wait 100 ns for global reset to finish // Add stimulus here end
always #0.001 clk = ~clk;
always @(negedge clk)
begin
addra = addra + ;
addrb = addrb + ;
dina = dina + ;
end
endmodule

<三>执行结果

在结果图中,前面的100ps数据并没有改变(原因有待进一步查明);

因为web=0一直不变,所以port B是禁止写数据的,而addrb总是比addra小1,这样做的目的就是为了利用port B 的doutb来检测port A在上一次写入的数据是不是正确的写入,即doutb总是显示的port A 在clk上一次的上升沿写入的数据。

Xilinx ISE 14.1中模拟True Dual Port RAM例子的更多相关文章

  1. Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程

    生命在于折腾. 这个帖子作为我安装xilinx ISE 14.7版本一个记录.希望给需要的人一些帮助,这些内容绝大部分也是来源于互联网. 软硬件: lsb_release -a No LSB modu ...

  2. Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程(转)

    reference:https://www.cnblogs.com/tracyone/p/3561781.html 按照ISE后,建立ISE启动连接: 这个帖子作为我安装xilinx ISE 14.7 ...

  3. DUAL PORT RAM应用实例

    作者:桂. 时间:2018-05-14  12:11:00 链接:http://www.cnblogs.com/xingshansi/p/9035522.html 前言 主要是Xilinx 常用模块汇 ...

  4. Xilinx ISE 14.1生成Rom内核并读取Rom中的数据

    <一>建立一个项目readDataFromRom 详细过程参照另一篇文章 http://www.cnblogs.com/LCCRNblog/p/3397666.html <二> ...

  5. Xilinx ISE 14.1利用Verilog产生clock

    <一>建立如下的Verilog Module module myClock( input clock ); endmodule <二>建立 Verilog Test Fixtu ...

  6. Windows 8 64bit Xilinx ISE(14.7) Fix License

    http://www.youtube.com/watch?v=ttPbEcNjdo8 It can work successfully!

  7. [ISE 14.7]Fail to Link the designer导致无法仿真问题

    一.当前配置 操作系统:WIN 8.1 64位 软件:Xilinx ISE 14.7 二.解决方法 首先,似乎64位的binary都有些问题,所以先把ISE Design Suite 14.7这个快捷 ...

  8. Windows 10下Xilinx ISE需要注意的事项。

    一是安装.可以在Windows 10下安装Xilinx ISE 14.7. 详见:https://www.eevblog.com/forum/xilinx/guide-getting-xilinx-i ...

  9. 87.在ModelSim中添加Xilinx ISE仿真库

    在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...

随机推荐

  1. php显示距当前多长时间

    <?php header("Content-type: text/html; charset=utf-8");date_default_timezone_set('PRC') ...

  2. [android游戏开发初学]简单的游戏框架

    这两天,没事想学习游戏开发,看了一些资料之后准备开始.为了将来编码方便,先写了一个简单的游戏框架方便自己以后做练习用. 如果以后没有什么特殊的需求--比如opengl什么的,会尽量用这个简单框架来实现 ...

  3. java 线程二

    一.线程的优先级别 线程优先级别的使用范例: 1 package cn.galc.test; 2 3 public class TestThread6 { 4 public static void m ...

  4. handlebar JS模板使用笔记

    直接上代码: (定义模板) (编译注入) ***知识点*** //数据必须为Json数据(强调:jsonp数据不行,和json是两种数据,jsonp多了callback回调函数来包裹json数据) 遍 ...

  5. 学习如何看懂SQL Server执行计划(一)——数据查询篇

    一.数据查询部分 1. 看到执行计划有两种方式,对sql语句按Ctrl+L,或按Ctrl+M打开显示执行计划窗口每次执行sql都会显示出相应的执行计划 2. 执行计划的图表是从右向左看的 3. SQL ...

  6. HDU1142 A Walk Through the Forest(最短路+DAG)

    A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/O ...

  7. oracle基本查询语句总结

    spool E:\基本查询.txt 将命令行的语句写入到指定的目下的指定的文件中 host cls 清屏命令 show user 显示当前操作的用户 desc emp 查看表结构 select * f ...

  8. 远程连接MySQL,防火墙阻止访问,解决方法

    远程连接MySQL,防火墙阻止访问,解决方法   xp/2003添加防火墙例外端口 打开防火墙,选择例外选项卡,添加端口 名称:mysqlport 端口号:3306 选中TCP win7添加防火墙例外 ...

  9. Ubuntu安装Jupyter Notebook

    一.Jupyter介绍 Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言.Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支 ...

  10. appium python ios 自动化

    mac下搭建appium python selenium来针对ios应用进行自动化测试,并不是官网上的例子,自己程序调试成功. 前言:因为appium的安装前要先确定nodejs的安装.python的 ...