1. fpga
    +关注
    关注 255
    文章 6740
    浏览量 360442

FPGA学习系列:16. rom控制器设计

FPGA学习交流 2018-06-13 11:21 次阅读
设计背景:     ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。     ROM是由英文Read only Memory的首字母构成的,意为只读存储器。顾名思义,就是这样的存储器只能读,不能像RAM一样可以随时读和写。它只允许在生产出来之后有一次写的机会,数据一旦写入则不可更改。它另外一个特点是存储器掉电后里面的数据不丢失,可以存放成百上千年。此类存储器多用来存放固件,比如计算机启动的引导程序,手机、MP3、MP4、数码相机等一些电子产品的相应的程序代码。 设计原理:      我们的设计是读ROM的数据,然后读到最后一个数据的时候,然后又从最后的地址往回读数据,来实现循环读数。     首先我们先创建一个.mif文件,然后给对应的地址中写如数据,然后设计一个IP核,之后通过读ROM的地址,来读出ROM中存在的数据,具体的操作如下面的操作。                            下一步,建立一个深度256,位宽为8的 .mif。               然后在第一个地址右键。                                  填写开始地址以及结束地址,我们给每一位的地址位写上和地址一样的数据,那么就是数据从0开始,步进为1,如下,然后然后完成,保存。               这样我们写好我们.mif文件,然后进行下面的步骤。                         选择我们所选的硬件描述语言,我们都是verilog HDL,然后选择我们文件生成的路径,下一步。     设置我们的输出的位宽,和深度,我们的深度256,位宽8,下一步。          去掉输出是否有寄存器的对勾,如果选了输出会晚一拍,因为加了一个输出寄存器。          然后出现下面的界面,点击,选择我们生成的.mif文件,添加进来,然后下一步,下一步完成。           设计架构图: 设计代码: 顶层模块 0 module rom(clk,rst_n,data); 1  input clk; 2  input rst_n; 4  output [7:0] data; 6  wire [7:0]address; 8  rom_r rom_r (   //例化ROM控制器模块 9    .clk(clk), 10   .rst_n(rst_n), 11   .address(address) 12   ); 13 14 my_rom my_rom_inst (       //例化IP核模块 15  .address ( address ), 16  .clock ( clk ), 17  .q ( data ) 18 ); 19 20 endmodule  设计模块 0 module rom_r(clk,rst_n,address); 2  input clk; 3  input rst_n; 5  output reg [7:0] address; 7  reg [1:0] state; 8  always @(posedge clk or negedge rst_n) 9   if(!rst_n) 10   begin 11    address <= 1'b0; 12    state <= 1'b0; 13   end 14  else 15   begin 16    case (state) 17      0:begin 18        if(address < 255)    //判断地址 19         begin 20          address <= address + 1'b1; //地址激增 21         end 22        else 23         begin 24          if(address == 255)    //判断是否读完 25           begin 26            address <= address - 1'b1;  27            state <= 1; 28           end 29           30         end 31       end 32      1:begin 33        if(address > 0)  //读完就跳转一状态后让地址减1 34         begin 35          address <= address - 1'b1; 36         end 37        else 38         begin 39          address <= address + 1'b1; 40          state <= 0; 41         end 42       end 43      default : state <= 0; 44    endcase 45   end 46 endmodule  测试模块 0 `timescale 1ns/1ps 2 module rom_tb(); 4  reg clk; 5  reg rst_n; 7  wire [7:0] data; 9  initial begin 10   clk = 1'b1; 11   rst_n = 1'b0; 12 13   #100.1 rst_n = 1'b1; 14 15   #20000 $stop;   //20000NS后停止仿真 16 17  end 18 19  always #10 clk = ~clk;   //产生50M时钟 20 21 rom rom_dut (      //例化顶层模块 22   .clk(clk), 23   .rst_n(rst_n), 24   .data(data) 25   ); 26 endmodule  仿真图:     仿真中我们可以看到和我们的设计一样,我们先从0地址读数据,当读到最后一个数后,然后返回来从最后一个地址开始读数。

热门推荐

  1. 电子书 电源开关设计秘笈 第2部
  2. 如何构建高效NFC设计以支持各种应用(附代码)
  3. 【干货】全自动AI移动机器人开源资料
  4. 电子书 中美人工智能行业生态比较
  5. 电子书 电源开关设计秘笈 第一部
收藏 人收藏
分享:

评论

相关推荐

基于FPGA的异步FIFO的实现

大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA的异步FIFO的实现。 一、FIFO简介....
的头像 FPGA学习交流 发表于 06-21 11:15 182次 阅读
基于FPGA的异步FIFO的实现

基于单片机对FPGA进行编程配置

本文实现了基于遗传算法的硬件演化过程。通过Mcu随机产生种群,选择好的基因进行交叉变异产生后代,然....
发表于 06-21 10:45 29次 阅读
基于单片机对FPGA进行编程配置

揭秘造芯黑马的神秘面纱

如果说目前高端集成电路的落后现状是因为我国相关产业起步晚、积累少导致的,对于如今再次兴起的人工智能浪....
的头像 88lifa利发国际娱乐网工程师 发表于 06-21 08:02 124次 阅读
揭秘造芯黑马的神秘面纱

请问谁有XILINX FPGA 7系列的原理图封装?

发表于 06-21 02:14 38次 阅读
请问谁有XILINX  FPGA 7系列的原理图封装?

FPGA和CPU如何搭配?

如下图,FPGA作为协处理器,CPU把指令写入内存,FPGA从内存读取指令执行,并把计算结果写入内存....
的头像 ssdfans 发表于 06-20 15:17 180次 阅读
FPGA和CPU如何搭配?

PCB设计过程中需要考虑的因素

千兆位级串行I/O技术有着极其出色的优越性能,但这些优越的性能是需要条件来保证的,即优秀的信号完整性....
发表于 06-20 14:24 48次 阅读
PCB设计过程中需要考虑的因素

FPGA和ASIC之间界限正在模糊,FPGA为未来的ASIC提供设计架构

该系列器件现在包括从基本的可编程逻辑一直到复杂的SoC。在各种应用领域(包括汽车,AI,企业网络,航....
发表于 06-20 14:13 32次 阅读
FPGA和ASIC之间界限正在模糊,FPGA为未来的ASIC提供设计架构

可编程在辅助驾驶系统中的应用

通过消除繁琐的驾驶动作,辅助驾驶还可提供更高的舒适水平。例如,传统的巡航控制允许司机设定一个固定的行....
发表于 06-20 14:01 20次 阅读
可编程在辅助驾驶系统中的应用

Xilinx的7系列FPGA高速收发器:TX发送端的介绍

每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment....
发表于 06-20 13:48 24次 阅读
Xilinx的7系列FPGA高速收发器:TX发送端的介绍

FPGA学习系列:21. 自动售货机的设计

设计背景: 我们从开始学习 FPGA。到现在也慢慢的学到了血多的东西,那么我们就应该慢慢的去学习深一....
的头像 FPGA学习交流 发表于 06-20 10:41 522次 阅读
FPGA学习系列:21. 自动售货机的设计

关于FFT硬件实现,设计中RAM输出端为何没有使用REG

以2048点为例,根据理论值计算,计算一次2048点的IFFT的时间应为130us。在采用流水线的方....
的头像 FPGA极客空间 发表于 06-20 09:05 310次 阅读
关于FFT硬件实现,设计中RAM输出端为何没有使用REG

FPGA DIY开发板按键去抖

mc_john 的经过去抖的按键视频。
的头像 英特尔 Altera视频 发表于 06-20 04:29 42次 观看
FPGA DIY开发板按键去抖

简述 MAX 10 FPGA 的设计安全和如何减小SEU

此次培训涉及到器件的AES加密、JTAG安全,以及唯一ID安全特性和减小SEU等特性。
的头像 英特尔 Altera视频 发表于 06-20 04:29 54次 观看
简述 MAX 10 FPGA 的设计安全和如何减小SEU

通过 FPGA-DIY 开发板实现 LED 跑马灯

gymdove 的FPGA-DIY LED 跑马灯视频。
的头像 英特尔 Altera视频 发表于 06-20 03:29 54次 观看
通过 FPGA-DIY 开发板实现 LED 跑马灯

利用FPGA_DIY开发板实现按键控制数码管

十八笔画的 FPGA_DIY 按键控制数码管。
的头像 英特尔 Altera视频 发表于 06-20 02:30 43次 观看
利用FPGA_DIY开发板实现按键控制数码管

FPGA_DIY 数码管显示60秒计时

十八笔画的 FPGA_DIY 数码管60秒计时。
的头像 英特尔 Altera视频 发表于 06-20 02:20 67次 观看
 FPGA_DIY 数码管显示60秒计时

通过 FPGA-DIY开发板实现 LED 闪烁灯

gymdove 的 FPGA-DIY LED 闪烁灯视频。
的头像 英特尔 Altera视频 发表于 06-20 01:29 43次 观看
通过 FPGA-DIY开发板实现 LED 闪烁灯

简述 MAX 10 FPGA用户闪存的特点及应用

此次培训介绍用户闪存的优点,以及您怎样在系统中使用它们。配置闪存存放了器件的配置数据。
的头像 英特尔 Altera视频 发表于 06-20 01:29 51次 观看
简述 MAX 10 FPGA用户闪存的特点及应用

FPGA DIY 按键控制数码管显示

asean的 FPGA DIY 按键控制数码管显示的视频
的头像 英特尔 Altera视频 发表于 06-20 00:37 59次 观看
FPGA DIY 按键控制数码管显示

关于PIC和FPGA的区别及优缺点总结

FPGA是逻辑门器件,可以配置成为并行逻辑模块。FPGA最大优点是并行处理。例如构建一百个与非门,F....
的头像 FPGA极客空间 发表于 06-19 16:20 162次 阅读
关于PIC和FPGA的区别及优缺点总结

增强机器学习能力的“左膀右臂”的GPU、FPGA芯片

FPGA是帮助公司和研究人员解决问题的芯片。FPGA是一种集成电路,可以编程为多种用途。它有一系列“....
的头像 人工智能学家 发表于 06-19 15:27 295次 阅读
增强机器学习能力的“左膀右臂”的GPU、FPGA芯片

基于FPGA的PCIe设备如何才能满足PCIe设备的启动时间的要求?

根据PCIe的协议,当设备启动后,PCIe设备必须满足启动时间的要求,即上电后100ms内,完成PC....
发表于 06-19 10:24 43次 阅读
基于FPGA的PCIe设备如何才能满足PCIe设备的启动时间的要求?

如何避免升级失败而使FPGA变砖呢?

如果升级过程中出现意外情况,FLASH里面原有的固件被破坏,那么FPGA能够从备份固件区启动配置,即....
发表于 06-19 10:09 40次 阅读
如何避免升级失败而使FPGA变砖呢?

单片机中按键消抖程序

效率上来说,延时消抖花费时间在无意义延时上,而相对较好的定时轮询还是不可避免的在轮询,而现在这种方式....
的头像 电子工程专辑 发表于 06-19 08:55 229次 阅读
单片机中按键消抖程序

DE1的SoC开发工具包的用户手册详细资料免费下载

DE1的SoC开发工具包提供了一个强大的硬件设计平台建立在片上系统(SoC)FPGA公司,它结合了最....
发表于 06-19 08:00 15次 阅读
DE1的SoC开发工具包的用户手册详细资料免费下载

如何建立OpenCL开发环境编译和执行DE1 SoC的示例项目的详细概述

DE1 SoC是Altera片上系统(SOC)FPGA构建的一个健壮的硬件设计平台,它是Altera....
发表于 06-19 08:00 11次 阅读
如何建立OpenCL开发环境编译和执行DE1 SoC的示例项目的详细概述

SOPC和FPGA的介绍和基础实验的详细资料概述

本文档的主要内容详细介绍的是SOPC和FPGA的介绍和基础实验的详细资料概述包括了:FPGA基础实验....
发表于 06-19 08:00 21次 阅读
SOPC和FPGA的介绍和基础实验的详细资料概述

DE2-115板的详细介绍和实验指导的详细资料概述

这个练习的目的是学习如何将简单的输入和输出设备连接到FPGA芯片上,并实现使用这些设备的电路。我们将....
发表于 06-19 08:00 24次 阅读
DE2-115板的详细介绍和实验指导的详细资料概述

LabVIEW状态图模块的详细介绍和使用手册详细概述

该模块在 LabVIEW 中增加了创建状态图的功能,以开収基于事件的控制与测试系统。状态图编程模块迚....
发表于 06-19 08:00 16次 阅读
LabVIEW状态图模块的详细介绍和使用手册详细概述

使用FPGA在C6678的外部实现中断控制器,这样的结构是否可以实现外部设备给指定的core发送中断?为什么?

发表于 06-19 05:20 18次 阅读
使用FPGA在C6678的外部实现中断控制器,这样的结构是否可以实现外部设备给指定的core发送中断?为什么?

请问若DSP和FPGA通过SRIO通信,若FPGA做主设备,DSP可以自己想FPGA发起读写操作吗?

发表于 06-19 03:02 18次 阅读
请问若DSP和FPGA通过SRIO通信,若FPGA做主设备,DSP可以自己想FPGA发起读写操作吗?

简谈FPGA的上电复位

大家好,博主最近有事忙了几天,没有更新,今天正式回来了。那么又到了每日学习的时间了,今天咱们来聊一聊....
的头像 FPGA学习交流 发表于 06-18 19:24 577次 阅读
简谈FPGA的上电复位

FPGA学习系列:18. 数码管的设计

设计背景: 数码管是一种半导体发光 器件 ,其基本单元是发光二极管。 数码管在我们的许多设计中都又用....
的头像 FPGA学习交流 发表于 06-18 19:24 594次 阅读
FPGA学习系列:18. 数码管的设计

FPGA学习系列:19. rom到数码管显示设计

设计背景: rom是读写的的静态存储单元,在我们的设计中我们会经常用到,数码管模块同样的大大小小的设....
的头像 FPGA学习交流 发表于 06-18 19:24 485次 阅读
FPGA学习系列:19. rom到数码管显示设计

FPGA学习系列:20. ram控制器的设计(调用IP核)

设计背景: 随机存取存储器 (random access memory,RAM)又称作随机存储器,是....
的头像 FPGA学习交流 发表于 06-18 19:24 520次 阅读
FPGA学习系列:20. ram控制器的设计(调用IP核)

Verilog实现开方运算(自己编写的)

发表于 06-18 16:08 192次 阅读
Verilog实现开方运算(自己编写的)

FPGA成为数据中心发展的趋势及重要性

用AI防鲨鱼、用AI学写中国书法、用AI预测人类死亡时间、用AI审判罪犯……在人工智能方兴未艾的今天....
的头像 88lifa利发国际娱乐网工程师 发表于 06-18 07:16 398次 阅读
FPGA成为数据中心发展的趋势及重要性

这种可编程衰减器最高可支持8×8输入输出的矩阵结构

可编程衰减器位于基站和终端之间,通过对射频信号的衰减控制,实现对无线信号的模拟,从而实现对测试场景的....
发表于 06-17 14:02 52次 阅读
这种可编程衰减器最高可支持8×8输入输出的矩阵结构

你好,DM368中 请问怎么使IPIPEIF、ISIF产生中断信号?

发表于 06-15 02:32 68次 阅读
你好,DM368中  请问怎么使IPIPEIF、ISIF产生中断信号?

基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

发表于 06-15 00:07 47次 阅读
基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

你一定想知道FPGA的那些事...

作者:张泽小脚丫STEP 导读:FPGA(Field Programmable Gate Array....
发表于 06-14 13:35 307次 阅读
你一定想知道FPGA的那些事...

利用FPGA的可编程性和Java平台良好的移植性的嵌入式系统平台

传统的嵌入式系统设计的主要目标是找到一种优化的体系结构来完成单一的,特定的功能。对这样的系统来说,A....
发表于 06-14 09:16 69次 阅读
利用FPGA的可编程性和Java平台良好的移植性的嵌入式系统平台

用FPGA来实现控制电阻的提供的设计过程

本文介绍了用FPGA来实现控制电阻的提供,用软件的方式来设计硬件,设计过程中可用有关软件进行各种仿真....
发表于 06-14 09:06 67次 阅读
用FPGA来实现控制电阻的提供的设计过程

一种基于fpga的多轴控制器,可以控制多轴电机的运动

介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T1....
发表于 06-14 08:24 66次 阅读
一种基于fpga的多轴控制器,可以控制多轴电机的运动

为应用选择最佳可编程SoC时进行的六个设计考虑

SoC FPGA器件在一个器件中同时集成了处理器和FPGA体系结构。将两种技术合并起来具有很多优点,....
发表于 06-13 14:59 150次 阅读
为应用选择最佳可编程SoC时进行的六个设计考虑

请问UART与MAC之间如何发送接收信息?

发表于 06-13 14:08 141次 阅读
请问UART与MAC之间如何发送接收信息?

FPGA学习系列:13. 任意分频器设计

设计背景: 分频在 fpga的设计中一直都担任着很重要的角色,而说到分频,我相信很多人都已经想到了利....
的头像 FPGA学习交流 发表于 06-13 11:21 554次 阅读
FPGA学习系列:13. 任意分频器设计

FPGA学习系列:14. 锁相环pll设计

设计背景: 在我们设计工程中我们会用到100M,500M等时钟,如果我们的晶振达不到我们就需要倍频,....
的头像 FPGA学习交流 发表于 06-13 11:21 707次 阅读
FPGA学习系列:14. 锁相环pll设计

FPGA学习系列:15. 呼吸灯(pwm)设计

设计背景: 呼吸灯 广泛应用于手机之上,并成为各大品牌新款手机的卖点之一。如果手机里面有未处理的通知....
的头像 FPGA学习交流 发表于 06-13 11:21 887次 阅读
FPGA学习系列:15. 呼吸灯(pwm)设计

补充: FPGA产生基于LFSR的伪随机数

大家好,又到了每日学习的时间了,上一篇《荐读:基于FPGA 的CRC校验码生成器》文中,提到了要实现....
的头像 FPGA学习交流 发表于 06-13 11:21 501次 阅读
补充: FPGA产生基于LFSR的伪随机数

FPGA学习系列:12. 边沿检测设计

设计背景: 在我们工程设计中,有时会需要到上升沿和下降沿这么一个说法,通过上升沿和下降沿来驱动一个电....
的头像 FPGA学习交流 发表于 06-13 11:20 400次 阅读
FPGA学习系列:12. 边沿检测设计

荐读:基于FPGA 的CRC校验码生成器

大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA 的CRC校验码生成器。下面咱们就来具体....
的头像 FPGA学习交流 发表于 06-13 11:18 441次 阅读
荐读:基于FPGA 的CRC校验码生成器

Web Installer提供的各种特性及设计方法

你有没有注意到在Netflix流媒体视频播放时,有时候视频模糊,然后很快恢复到高质量? 你知道Net....
的头像 FPGA开发圈 发表于 06-13 09:19 430次 阅读
Web Installer提供的各种特性及设计方法

DE2-115详细中文数据手册免费下载

DE2-115 套装包含了所有使用开发板会用到的器件资源,您额外需要的仅是一台装有微软视窗操作系统的....
发表于 06-13 08:00 37次 阅读
DE2-115详细中文数据手册免费下载

FPGA定点小数的常规格式、相对于浮点小数的优势与劣势和计算的概述

所谓定点小数,就是小数点固定地隐含在某一位置上的数据。由于小数点的位置是固定的,所以就没有必要储存它....
的头像 电子技术应用ChinaAET 发表于 06-12 19:34 376次 阅读
FPGA定点小数的常规格式、相对于浮点小数的优势与劣势和计算的概述

如何在SDK系统中添加新的目标配置

赛灵思SDK允许您使用远程主机中的赛灵思硬件服务器来调试远程目标设备.....
的头像 FPGA开发圈 发表于 06-12 09:11 608次 阅读
如何在SDK系统中添加新的目标配置

FPGA设计的WNS太高怎么办?五个窍门帮你打赢FPGA优化战役!

发表于 06-11 16:11 252次 阅读
FPGA设计的WNS太高怎么办?五个窍门帮你打赢FPGA优化战役!

verilog 如何驱动AD9280采集电压

发表于 06-11 15:56 213次 阅读
verilog 如何驱动AD9280采集电压

如何使用 Nios II 处理器进行你中意的设计之第二部分教程

使用 Nios II 处理器进行设计”第二部分
的头像 英特尔 Altera视频 发表于 06-11 14:36 481次 观看
如何使用 Nios II 处理器进行你中意的设计之第二部分教程

FPGA如何对EM636165TS-6G进行初始化使其进入正常工作状态?

发表于 06-10 20:28 144次 阅读
FPGA如何对EM636165TS-6G进行初始化使其进入正常工作状态?

88lifa利发国际娱乐

百度360搜索搜狗搜索