- 博客(34)
- 收藏
- 关注
原创 【SVA基础】
之前的assert、assume和cover都是非阻塞的方式,即它们本身并不会阻塞后续的语句,然而,expect则是一种阻塞的property使用方式;同assert语句的调用方式类似,它也可以使用在function和task中,同时也可以引用静态变量或者动态变量。expect的语法同assert一致,不过它会等待property执行通过,才会执行后续的语句;评估其后续算子序列;简单来看,可以使用wait语句的地方,既可以使用expect语句;,这些系统函数也可以用在一般的过程语句块和赋值语句中。
2023-08-30 17:39:11
257
原创 【手撕代码真题1】位宽转换
将输入3-bit数据信号转为5-bit数据信号输出,当输入为5个3-bit信号时,输出恰好为3个5-bit信号。所有需要用一个计数器cnt来计数输入信号的个数,做0-4循环计数,当计数值为1,3,4时输出5-bit信号。此外,必须有一个寄存器用来缓存数据,
2023-08-18 22:35:24
153
原创 【手撕代码真题2】数据流最大值
已知一段数据流 data_in 输入,在 datain_en 为高时有效时,请将这段数据流的最大次大值选出,在一段 datain_en结束之后给出相应的结果max,submax 和结果使能dataout_en。:在输入数据data_in至少为两个时,dataout_en才能拉高,用一个计数器来计数。
2023-08-10 11:14:53
95
原创 【12】序列生成器
序列生成器要求:循环产生固定序列001011分析:用一个6bit寄存器来缓存该循环序列001011,然后不断向左移位,取其高位作为输出数据,当该寄存器移位到100000时将其置为001011即可。verilog代码仿真结果
2023-08-04 11:46:07
113
原创 【11】位宽转换
实现数据位宽转换电路,实现8bit数据输入转换为16bit数据输出。其中,先到的8bit数据应置于输出16bit的高8位。电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;clk是时钟信号;rst_n是异步复位信号。:根据valid_in信号先将输入的8bit data_in暂存到data_tmp中,再使用一个计数器cnt来指示何时data_out有效(
2023-07-26 22:42:08
420
原创 【VCS使用Makefile编译出现undefined reference】
VCS使用Makefile编译出现undefined reference
2022-11-05 21:01:12
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人