基于Spartan6系列FPGA的AD4683双道数据采集+SRAM+串口发送设计——学习笔记整理第一天-20220311

前期准备:前期对AD4683、SRAM的编程时序、时钟要求等进行设计,参考其数据手册上的读写时序与相关操作注意事项,逐步进行设计。

今天的核心内容是针对需要进行设计的几个模块进行了逻辑梳理,包括AD4683控制模块、SRAM25616控制模块、PLL时钟模块、串口接收模块、串口发送模块以及一个全局控制模块。

开发思路整理如下:

基本思想是从信号流向的思想进行编程处理:

1、可以先建立好PLL时钟模块,配置好全局各模块需要的时钟。今天已经编写完成并且经过功能仿真验证了我们IP核设计的正确性

2、然后从数据采集的AD4683首先编程处理,对其输入输出接口进行定义。明天(0312)着重完成对AD4683的SPI读写时序程序的设计,实现对外部寄存器的写操作,以及AD4683双通道数据的同步采集任务。有时间可以焊接一下自制的PCB电路板的电源部分,检测一下电源部分工作是否正常。

3、倘若AD4683部分变成顺利后,再继续进行SRAM的读和写操作。这部分的内容可能会涉及到状态机的编程处理,以及InOut双向数据线的读和写操作,需要后续进一步思考。

学习知识总结:

1、阻塞赋值与非阻塞赋值,本质上就是一个是组合逻辑使用,一个是时序逻辑使用。在阻塞式赋值中assign语句使用的较多。Assign语句通常与条件运算符进行搭配。例:assign data = (sel==1'b1)?data_out:1'bz 这条语句的意思是若sel等于1,则data等于data_out,否则为1’bz,即高阻态。

2、在一个verilog文件中,所有的assign语句与always块语句都是并行执行的,不分先后。当且仅当,在always块与Initial块中阻塞式赋值是串行操作,如:a=b;c=a;执行的时候最后c也会等于b.

3、阻塞式赋值在不考虑门电路的延时情况下可以认为是瞬时的。

4、inout 双向数据端口(线)的使用:一般来说assign语句只能给wire类型的数据进行赋值,其他的数据类型不可以。对于inout可以将其理解为一种数据线的类型,它既可以作为等号右边的操作数,也可以作为等号左边的操作数,通常用在IIC、SRAM等的数据口中,例子如下

module test(

input        wire        sel,

input        wire        data_out,

inout        wire        data_bus,

output        wire        data_in 

);

assign        data_in                =        data_bus;

assign        data_bus             =        (sel==1'b1)?data_out:1'bz

4、在对IP进行开发时,一般步骤如下:新建IP核,在Clock Wizard中根据向导一步步设置,首先需要设置好我们的输入时钟,其次是我们期望输出的分频时钟,不可分的太小,他可能达不到。建好后,建立一个顶层的verilog文件对其进行例化操作,建立好后在ISE的工程栏下会看到顶层文件前面出现一个+号,点开后就包含了IP核。为对其进行测试,可以在Simulation中进行仿真,点击对应的文件,然后新建一个Verilog Test  Fixture文件,一般称为testbench文件,可以新建一个testbench文件夹对其进行存放,选择需要进行测试的文件,一般会自动生成一个测试的verilog文件,最后在测试文件中进行相关仿真的编写,一般都需要对输入时钟进行编写,如下:

always     #20 Input_Clk_25M    =    ~Input_Clk_25M;    这样就创建了一个输入为25MHz的时钟,#20此时文件的时间基准是1ns,所有20ns翻转一次,等于一个周期是40ns,最终可计算得到其时钟周期是25MHz.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值