ic/verilog高手来帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:41:02
设计一个16位计数器,挂在16位地址8位数据的总线上。地址高8位为计数模块地址,'HA0为计数器,总线地址高8位产生sel信号以选择不同的模块,低8位送给模块。
要求进行计数器的读、写、启动、停止操作。
写:比如写'H5A到'HA010,由于'HA0为计数器地址,意思是把'H5A写入计数器的'H10地址。
读:从'HA010也就是计数器的'H10地址读数,读出了'H55。
读操作和写操作至少要持续在3个周期以上。
要求在sel=1,write=1时,在时钟上升沿对一个software-accessible register写入数据。
要求在sel=1,write=0时,在时钟上升沿从一个software-accessible register读出数据。

问题:
1、需要哪些software-accessible register?
2、模块图,具体描述设计,输入信号为clk,reset,write,sel,[7:0] wdata,[7:0] addr,输出为[7:0] rdata。
他就给了一个这个,

是写出总线代码还是计数器代码
总线的时序图没给出来呢,是AHB吗?

第2张时序图有错吧,应该write=0才是读吧。
我不太明白为什么计数器还要读写。
感觉这个问题更像是让写一个单口的RAM。
读写不可以同时进行,并且有8bit的地址线,不知道我的理解对不对