FPGA中的M4K
来源:互联网 发布:数据新闻可视化 编辑:程序博客网 时间:2024/04/20 00:12
哈哈...M4K??什么是M4K???
m4k就是一个存储单元,具体点就是以4kbits,4k为一块、///、EP2C8 有36个165888bits
RAM fifo ROM等可以由M4K等块存储单元组成也可以用LUT组成,按设计需要选择相应的组成方式;
是一个网友解释道的....
//================================RAM读取=========================================//
先看一个时序图吧:
可以直达wren是高电平有效的,及高电平可以写入.....
当wren为低电平是则是读出...
当clk为高电平时,读出或写入......
//==========================SHIFT的配置(移位寄存器)=================//
8bits表示位宽,64表示字节数,
create a clock enable port可以添加一个使能标志位.
sss sss_inst (
.clock ( clk),
.shiftin ( shiftin_sig ),
.shiftout ( shiftout_sig ),
.taps0x ( taps0x_sig ),
.taps1x ( taps1x_sig ),
.taps2x ( taps2x_sig ),
.taps3x ( taps3x_sig )
);
看一下时序图吧:
有时序图可以看出:
how wide should the distance between taps be?
设置移位寄存器的相隔的位数(这里设置为4),即是每隔多少个时钟周期才更新一下个数据
tabs0最先输出数据,taps7是最后输出数据;
其中shiftout的数据和taps7的数据是相同的.....
过了就是填写rom的位数和字节数
`define CHAR_1 (9'd8 * 9'd1)
`define CHAR_2 (9'd8 * 9'd2)
等需要的宏定义把它们放在para_define.v的文件中去
clk,rst_n,
q
);
input clk,rst_n;
output[7:0] q;
rom1 rom1_inst (
.address ( addr ), //写入地址
.clock ( clk ),
.q ( q ) //读出数据
);
ctrl u1(
.clk(clk),
.rst_n(rst_n),
.addr(addr)
);
endmodule
clk,rst_n,
addr
);
input clk,rst_n;
output[4:0] addr;
reg[3:0] cnt;
reg[4:0] addr_r;
always@(posedge clk or negedge rst_n)
if(!rst_n)
cnt<=4'd0;
else
cnt<=cnt+1'b1;
if(!rst_n)
addr_r<=5'd0;
else if(cnt==4'd15)
addr_r<=addr+1'b1;
assign addr=addr_r;
endmodule
- FPGA中的M4K
- Cyclone M4K移位寄存器使用
- FPGA中的时钟网络
- FPGA 中的冒险现象
- FPGA 中的latch 锁存器
- FPGA器件中的亚稳态
- FPGA中的标致信号
- 智慧云中的FPGA
- FPGA中的时钟大讨论
- FPGA设计中的编程技巧
- FPGA中的一点概念性东西
- ASIC/FPGA设计中的仿真
- FPGA程序中的复位问题
- FPGA设计中的时钟问题
- FPGA设计中的复位问题
- FPGA基础知识16(ASIC/FPGA设计中的仿真 )
- FPGA
- FPGA
- 面试
- 58同城自动登录
- 面试
- 重置magento后台用户密码
- perl把Excel一列复制
- FPGA中的M4K
- 移动web双击事件处理(jquery mobile)
- Hbase最好的入门文档
- 面试
- windows下使用MinGW+msys编译ffmpeg
- js脚本实例231例 .
- TID号码是无法改变的
- apache性能调优 架构师-第三
- MMORPG服务器架构