摘要: 完整uart发送与接收模块以后,为了便于测试我把发送模块连接在了一起进行测试,接收到的数据SRX_I是以16倍波特率的方式即(CLK_1)传入uart_rx,我用16倍的频率CLK_16进行采样,然后每8位data输出到到uart_tx,然后通过tuart_tx把data中的数据依次输出即STX_O,但是我们STX_O的输出是以CLK_16为时钟的这样只是为了便于简单,不用再考虑这两个module... 阅读全文
posted @ 2009-01-05 21:53 changlongbaobao 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 在此接受模块中,我们用的是16倍采样频率,每次都是在发送数据的中间采样,这样能保证采集到数据的正确性与完整性,而且设计了起始位采样同步计数器,采样数据同步计数器,更加保证采到的数据的正确性。才传送过程中,我们允许每8位的数据间有任意时间间隔,采用低起始位和高截止位作为标志。仿真波形如下:模块代码如下:[代码]testbench代码如下:[代码] 阅读全文
posted @ 2009-01-05 18:23 changlongbaobao 阅读(1457) 评论(4) 推荐(0) 编辑
摘要: 仿真结果如下:p_start是验证从载入要发送的数据到发送低有效的起始位这段时间的时序是否正确,,p_shift是验证从准备好开始发送到发送过程中的数据的九次移位是否正确,p_state是跟踪发送过程中状态机的状态。具体代码如下:[代码]testbench如下:[代码]以上代码都已通过调试,调试环境为modelsim6.3f 阅读全文
posted @ 2009-01-05 17:36 changlongbaobao 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 在verilog中我们通常时间精度用(例)timescale 1ns/10ps 其中1ns指的是单位时间,10ps指的是时间精度。这些时间的定义都是作为软件工具的指令。 在system verilog中我们一般用timeunit表示单位时间,用timeprecision表示时间精度。我们可以在局部定义这些时间,作为程序,接口,模块的一部分。而不是作为软件工具的指令。如:module adder(.... 阅读全文
posted @ 2009-01-05 15:33 changlongbaobao 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 我们可以发送任意八位数据din,din之间可以间隔任何时间,只要模块接受到新的din数据,就会以固定的频率一个接一个的将数据发出。仿真波形如下:[代码][代码] 阅读全文
posted @ 2008-12-27 01:53 changlongbaobao 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 加法树乘法器的system verilog的实现,由于逻辑功能简单明了,只用了简单的断言验证,如果有疑问请给我留言[代码]完整代码:mult_sv.rar 阅读全文
posted @ 2008-12-24 11:47 changlongbaobao 阅读(1166) 评论(6) 推荐(0) 编辑
摘要: 本例代码都已给出,可以在MODELSIM6.3F中直接运行,大家通过下面仿真波形可以看到,有六个断言成功,0个断言失败,成功的断言分别是:三个写入数据时,status的前后状态变化的断言;三个读出数据时,status的前后状态变化的断言。代码如下:[代码]完整代码:fifo_sv.rar 阅读全文
posted @ 2008-12-24 00:32 changlongbaobao 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 闲来之余,写了个加法树乘法器的小程序,此乘法器的最大特点是通过增加资源而提高运行速度,使两八位数相乘能够在一个周期中完成。[代码]完整代码及testbenchmult.rar 阅读全文
posted @ 2008-12-21 00:12 changlongbaobao 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 本设计是同步FIFO,但我的ram使用了双端口的异步ram,为什么要使用双端口呢?是不是太浪费资源了?其实不然,之所以用双端口的ram,主要原因是同时进行读写数据时,两个端口互不影响,能同时进行,解决了并发的问题。我们设计的不是同步FIFO吗?为什么要用异步ram呢?是不是成了异步FIFO?当然不是,当然是同步FIFO,因为我们的syn_fifo模块中只有一个clk,其实子模块可以理所当然的用同步... 阅读全文
posted @ 2008-12-20 00:13 changlongbaobao 阅读(1726) 评论(11) 推荐(0) 编辑
摘要: CMOS门电路的功耗:动态功耗:1。电容转换产生的功耗。 2。转换期间从Vdd到Gnd流过的短路电流引起的短路功耗 3。输出波形中短时脉冲波形干扰引起的功耗。静态功耗:1。由泄漏电流(亚阀值电流和源/漏结反偏电流)引起。 2。由直流电流(eg:低输出的伪NMOS电路)引起。亚阀值电流(Isub):VT降低,Isub值将增大,但VDD-VT控制晶体管能起作用的驱动能力,保持VT则降低了器件的性能,... 阅读全文
posted @ 2008-12-17 01:00 changlongbaobao 阅读(1204) 评论(2) 推荐(0) 编辑