1、Soc读写是如何实现的?

读有效: mem_rd   读写地址:mem_rw_addr, 读取的数据mem_rd_dat, 读取数据有效:mem_rd_datvld, 写有效 mem_wr, 写数据mem_wr_dat

2、读清是如何实现的?

代码中data_err_dy实现了读清功能,data_err:1表示有效,存在错误数据,在mem总线读取之前,data_err_dy一直保持为1,mem总线读取后,将data_err_dy清零。

module soc_mem_wr
(input                   soc_clk              ,input                   soc_rst_n            ,input                   mem_rd               ,input                   mem_wr               ,input       [9:0]       mem_rw_addr          ,input       [31:0]      mem_wr_dat           ,output  reg [31:0]      mem_rd_dat           ,output  reg             mem_rd_datvld        ,input                   data_err             ,output  reg             send_data_enable     ,output  reg             data_down_req   );reg     data_err_dy  ;always @ (posedge soc_clk or negedge soc_rst_n) beginif(!soc_rst_n)beginsend_data_enable   <= 1'b0;  data_down_req <= 1'b0 ;end else beginif(mem_wr)case(mem_rw_addr)10'h0 :  send_data_enable  <= mem_wr_dat[0] ;10'h1 :  data_down_req     <= mem_wr_dat[0] ;default : ;endcaseendalways @ (posedge soc_clk or negedge soc_rst_n) beginif(!soc_rst_n)mem_rd_datvld    <=  1'b0   ;elsemem_rd_datvld    <=  mem_rd ;always @ (posedge soc_clk or negedge soc_rst_n) beginif(!soc_rst_n)mem_rd_dat   <= 32'b0;  else if(mem_rd)case(mem_rw_addr)10'h0   :  mem_wr_dat       <= {31'b0,send_data_enable  } ;10'h1   :  mem_wr_dat       <= {31'b0,data_down_req     } ;10'h2   :  mem_wr_dat       <= {31'b0,data_err_dy       } ;default :  mem_wr_dat       <= 32'hffff_ffff              ;endcaseend//读清是如何实现的always @ (posedge soc_clk or negedge soc_rst_n) beginif(!soc_rst_n)data_err_dy   <= 1'b0;  elsedata_err_dy   <= (mem_rd&(mem_rw_addr==10'h2))? 1'b0 :data_err_dy ? data_err_dy : data_err ;endmodule

IC设计基础001:寄存器读写,读清是如何实现的相关推荐

  1. UEFI开发历程2—基于SuperIO芯片的寄存器读写

    一.SuperIO介绍 目前市面上的主流SuperIO芯片有NCT.ITE等厂商的生产的芯片,本文主要针对IT8613E这款芯片的逻辑设备寄存器的读写进行介绍. IT8613E主要用来连接外部低速设备 ...

  2. 2.3 Openwrt 模拟 spi 及其sx1301寄存器读写测试

    本节提示:本节所需环境:ubuntu 16 / 18工具:VScode.Cmake.openwrt 交叉编译器 2.3 Openwrt 模拟 spi 及其sx1301寄存器读写测试 通过前面两章节的操 ...

  3. vivado的vio怎么使用_使用VIVADO中VIO模拟CPU接口进行在线寄存器读写调试(附源代码)...

    debug,尤其是通信芯片的debug,可以有很多的方法.一个数据帧从进入到输出,可以在通路上的关键节点处设置监测如各种计数器等,可通过VIO(xilinx)定时上报实时状态.可以把VIO的各个信号线 ...

  4. 【Android 逆向】ptrace 函数 ( ptrace 函数族 | 进程附着 | 进程脱离 | 进程数据读写权限 | 进程对应的主线程寄存器读写 | 单步调试 |ptrace 函数族状态转换 )

    文章目录 一.ptrace 函数族 1.进程附着 2.进程脱离 3.进程数据读写权限 4.进程对应的主线程寄存器读写 5.单步调试 6.继续向后执行 二.ptrace 函数族状态转换 一.ptrace ...

  5. LPS25HB 寄存器读写程序解读

    文章目录 LPS25HB 寄存器读写程序解读 1.读写功能的统一接口函数 2.设计结构体函数指针来调用统一的读写函数 3.与通信方式无关的寄存器读写抽象函数接口 LPS25HB 寄存器读写程序解读 一 ...

  6. 2021-07-04 寄存器读写

    1. 往寄存器里 写值 再读值 typedef uint8_t u8; typedef uint16_t u16; typedef uint32_t u32; 往寄存器里 写值 void reg_wr ...

  7. 硬件工程师面试集锦 模拟电路 数字电路 IC设计基础 单片机 信号与系统 DSP 嵌入式

    模拟电路   1.基尔霍夫定理的内容是什么?(仕兰微电子)   2.平板电容公式(C=εS/4πkd).(未知)   3.最基本的如三极管曲线特性.(未知)   4.描述反馈电路的概念,列举他们的应用 ...

  8. (转)硬件工程师面试集锦 模拟电路 数字电路 IC设计基础 单片机 信号与系统 DSP 嵌入式

    模拟电路  1.基尔霍夫定理的内容是什么?(仕兰微电子)  2.平板电容公式(C=εS/4πkd).(未知)  3.最基本的如三极管曲线特性.(未知)  4.描述反馈电路的概念,列举他们的应用.(仕兰 ...

  9. 8.裸板--C语言下的寄存器的读写置位清零操作

    从CPU的角度来看,外设的寄存器跟通用寄存器操作一样,对它们的地址进行读写移位等操作即可进行配置读取写入等动作. 通用寄存器有15个 寄存器名字 Reg# APCS 意义 R0 a1 工作寄存器 R1 ...

最新文章

  1. 包吃包住包机票的培训你见过吗?云南高通量条形码培训班,截止5月31日
  2. jquery实现99乘法表的动态显示
  3. hdu4882 水贪心
  4. Linux内核概念:per-CPU,cpumask,inicall机制,通知链
  5. 计算机兴趣小组活动教学教案,长春一中计算机兴趣小组教案.ppt
  6. centos下 安装jdk
  7. jdk jre jvm的关系
  8. 擦地机器人排行榜_擦地机器人品牌排行榜来了,你想了解的都在这里
  9. 批处理(bat)文件中输出中文乱码怎么办?
  10. ElasticSearch2.1 基于空间位置geo_query距离计算
  11. Codeforces-710E Generate a String
  12. USACO 3.3 Riding the Fences(欧拉路输出路径)
  13. vue.js下载教程
  14. Python 源码剖析 目录
  15. CI框架的使用-环境搭建
  16. Java开发人员2021年的职位描述和职责
  17. Md5码的生成及变种Md5码的生成
  18. android地图方位角,根据两点经纬度,计算距离、方位角
  19. win10无法装载重装系统iso文件_win10镜像不能安装系统如何解决_win10镜像无法安装处理方法...
  20. 使用SLT系统抽数到hana系统

热门文章

  1. 公共基础知识:中国地形地貌
  2. glob.glob()函数
  3. 跟i9处理器差不多的服务器芯片,AMD下一代服务器处理器代号“星河舰队”
  4. 以一半的价格组装专业的深度学习工作站
  5. 动态毛玻璃特效html,实现div毛玻璃背景
  6. 英语足球foteball运动
  7. 面试题:“你的职业规划是什么?”
  8. Codeforces1541B Pleasant Pairs (思维)
  9. 企业微信海外版此前将名称改为 “Wecom”,腾讯打算将其设置为微信的潜在替代方案
  10. 基于Visual C++2010 与office2010开发办公自动化(2)-自动生成excel与word并打开