module mr_rom_pll_valuemask_8bpc #(
parameter NUMBER_OF_MIF_RANGE = ,
parameter ROM_DEPTH_FOR_EACH_MIF_RANGE = ,
parameter ROM_SIZE = ,
parameter TOTAL_ROM_DEPTH = , // 6*7
parameter ADDR_WIDTH = // alt_clogb2(42)
) (
input wire clock,
input wire [ADDR_WIDTH-:] addr_ptr,
output wire [ROM_SIZE-:] rdata_out
); reg [ROM_SIZE-:] ROM [:TOTAL_ROM_DEPTH-];
wire [ROM_SIZE-:] DATAA = {ROM_SIZE{'b0}};
wire [ADDR_WIDTH-:] RADDR; initial begin
// FIELD_VALMASK
// ROM OFFSET 0 (25MHz - 50MHz)
ROM[] <= 'h00000F0F; // m 30
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000303; // c0 6
ROM[] <= 'h00001E1E; // c1 60
ROM[] <= 'h00001E1E; // c2 60
ROM[] <= 'h00000010; // cp
ROM[] <= 'h00000100; // bw
// ROM OFFSET 1 (51MHz - 70MHz)
ROM[] <= 'h00000A0A; // m 20
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000202; // c0 4
ROM[] <= 'h00001414; // c1 40
ROM[] <= 'h00001414; // c2 40
ROM[] <= 'h0000000B; // cp
ROM[] <= 'h000000C0; // bw
// ROM OFFSET 2 (71MHz - 100MHz)
ROM[] <= 'h00000505; // m 10
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000101; // c0 2
ROM[] <= 'h00000A0A; // c1 20
ROM[] <= 'h00000A0A; // c2 20
ROM[] <= 'h00000010; // cp
ROM[] <= 'h000000C0; // bw
// ROM OFFSET 3 (101MHz - 170MHz)
ROM[] <= 'h00000404; // m 8
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000404; // c0 8
ROM[] <= 'h00000808; // c1 16
ROM[] <= 'h00000808; // c2 16
ROM[] <= 'h00000010; // cp
ROM[] <= 'h000000C0; // bw
// ROM OFFSET 4 (171MHz - 340MHz)
ROM[] <= 'h00000202; // m 4
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000202; // c0 4
ROM[] <= 'h00000404; // c1 8
ROM[] <= 'h00000404; // c2 8
ROM[] <= 'h00000010; // cp
ROM[] <= 'h000000C0; // bw
// ROM OFFSET 5 (85.25MHz - 150MHz) - 2.0
ROM[] <= 'h00000404; // m 8
ROM[] <= 'h00010000; // n 1
ROM[] <= 'h00000101; // c0 2
ROM[] <= 'h00000202; // c1 4
ROM[] <= 'h00000202; // c2 4
ROM[] <= 'h00000010; // cp
ROM[] <= 'h000000C0; // bw
// Set the rest to all zeros
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
ROM[] <= 'h00000000;
end // write is unused
wire [ADDR_WIDTH-:] ADDRA = {ADDR_WIDTH{'b0}};
wire WEA = 'b0;
always @ (posedge clock)
begin
if (WEA) begin
ROM[ADDRA] <= DATAA;
end
end assign RADDR = addr_ptr; reg [ROM_SIZE-:] RDATA;
always @ (posedge clock)
begin
RDATA <= ROM[RADDR];
end assign rdata_out = RDATA; endmodule

ROM的一种写法的更多相关文章

  1. java设计模式之单例模式(几种写法及比较)

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建 ...

  2. javascript函数的几种写法集合

    1.常规写法 function fnName(){ console.log("常规写法"); } 2.匿名函数,函数保存到变量里 var myfn = function(){ co ...

  3. php插入式排序的两种写法。

    百度了下插入式排序,百度百科中php版本的插入式排序如下: function insert_sort($arr) { // 将$arr升序排列 $count = count($arr); for ($ ...

  4. ASP.NET MVC中获取URL地址参数的两种写法

    一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...

  5. java单例模式的几种写法比较

    概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建 ...

  6. 链接属性rel=’external’、rel=’nofollow’、rel=’external nofollow’三种写法的区别

    链接属性rel='external'.rel='nofollow'.rel='external nofollow'三种写法的区别   大家应该都知道rel='nofllow'的作用,它是告诉搜索引擎, ...

  7. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  8. 全面理解Javascript闭包和闭包的几种写法及用途

    好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途.  一.什么 ...

  9. EF架构~linq模拟left join的两种写法,性能差之千里!

    回到目录 对于SQL左外连接我想没什么可说的,left join将左表数据都获出来,右表数据如果在左表中不存在,结果为NULL,而对于LINQ来说,要实现left join的效果,也是可以的,在进行j ...

随机推荐

  1. xshell实时跟踪日志与中文乱码设置

    1.实时跟踪日志命令 tail -f logName.log 动态查看名为logName的日志信息 ctrl+c 退出实时跟踪 2.中文乱码设置 在Xshell.putty.SSH Secure Sh ...

  2. xml添加新节点

    #!/usr/bin/env python #coding:utf-8 # Author: xiaobaichuangtianxia--<> # Purpose: add jacoco d ...

  3. MATLAB单步调试

    我用的是matlab R2012b 1.先设置断点:点击菜单栏中"EDITOR"--"Breakpoints"--"set",出现以下对话框 ...

  4. c++中“箭头(->)”和“点号(.)”操作符的区别

    首先介绍一下C++中的结构.对于一个结构: struct MyStruct { int member_a; }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用: s.member_ ...

  5. css font-size=0的妙用

    转自:css font-size=0有什么妙用? 回答一: 问题的根源是 inline(a标签默认是display:inline) 和 inline-block (.list-info 设置的是 di ...

  6. PHP 异步使用swoole的可行性测试

    PHP的异步.并行.高性能网络通信引擎swoole框架,在一开始我就比较注意,原因无他,php在swoole未出的情况下在多线程调度上确实算得上没有较好的解决方案. 我以系统的注册流程举例,在比较复杂 ...

  7. Mybatis 加载 Mapper配置的四种方式

    具体信息 https://blog.csdn.net/tanga842428/article/details/79285957

  8. Yii2 数据操作Query Builder查询数据

    Query Builder $rows = (new \yii\db\Query()) ->select(['dyn_id', 'dyn_name']) ->from('zs_dynast ...

  9. NC 6系后台调用接口保存单据

    IPFBusiAction ipf = (IPFBusiAction)NCLocator.getInstance().lookup(IPFBusiAction.class); ipf.processA ...

  10. 如何使用AE来制作烟雾粒子特效

    ​ 1. 首先,我们先建立一个合成,大小1280×720,帧速率25,持续时间为10秒,建好后,再新建一个固态层点击确定. 2.点击效果添加Particular粒子插件 3. 点开粒子插件的发射器,方 ...