<一>创建工程

创建工程在此略过。

<二>基本代码

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. angular directive自定义指令

    先来看一下自定义指令的写法 app.directive('', ['', function(){ // Runs during compile return { // name: '', // pri ...

  2. 工欲善其事,必先利其器之open live writer写作

    在博客园学习有一段时间,想想是不是自己也应该开始写点东西,做点总结,更加快速的提升自己. 查看小组/博客园使用帮助 得知目前windows live writer 已经停止更新并推荐安装 open l ...

  3. 【JVM命令系列】javap

    命令基本概述 javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码.通过它,可以对照源代码和字节码,从而了解很多编译器内部的工作.可以在命令行窗口先用javap -help看下j ...

  4. maven编译时错误:无效的目标发行版

    (转)Maven 将依赖打进一个jar包 博客分类: maven   maven配置 <?xml version="1.0" encoding="UTF-8&quo ...

  5. hdu 4468 spy 极其精彩的一道kmp灵活运用题

    出的超级好的一道题.至于好在哪里,请思考题目: 题意抽象出来为给定一个字符串r,找出它的一个最短后缀s,使得这个r可以被 s的某前缀+s的某前缀+......+s的某前缀+s本身构造出来. 具体题目描 ...

  6. 笨鸟先飞之ASP.NET MVC系列之过滤器(02授权过滤器)

    授权过滤器 概念介绍 在之前的文章中我们已经带大家简单的了解了下过滤器,本次我们开始介绍授权过滤器. 我们之前提到过授权过滤器在认证过滤器之后,其他过滤器和方法被调用之前运行,而授权过滤器和它名字的含 ...

  7. .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控

    一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...

  8. git fsck -- 一致性检查

    格式:           git fsck  [选项] <path> 选项 git commit -a 提交所有改动的文件(a -- all) git commit -m 提交说明(m ...

  9. C-多个行内块布局

    1 消除间隔

  10. Python GUI - Tkinter tkMessageBox

    Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息     tkMess ...