找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2508|回复: 8
打印 上一主题 下一主题

testbench如何产生27MHz的时钟

[复制链接]

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
跳转到指定楼层
1#
发表于 2013-5-9 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 schx 于 2013-5-9 21:38 编辑 $ b# J: v* M! Y% b, u4 g

1 ^1 A  `& B; R如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。5 I4 d, _3 H; N; j$ g$ w
最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。7 H8 L9 T2 Z! K$ I8 y! B5 w! \  d
! H3 F  G/ T' {) i5 O5 d7 W% ^
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。7 z# h8 C% e6 U0 y( m  ]6 P
, J/ P! [$ c9 E) _- N
reg [9:0] rand_data;
7 j6 c5 o6 n  U3 d8 h. I6 T6 ?, {+ k  o2 T: P% {+ M* B4 W
rand_data={$random}%1024;
* q# q! C$ R& k' g这样可以吗?8 K6 e8 `0 M# r

# H5 I3 l! |, U/ f小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑 ) o6 U" e$ E3 j$ v2 m$ G
9 D; s/ i" X6 f2 f
`timescale 1ns/1ps
8 N$ I! E' X& C2 y5 ~' j! @$ X6 h6 k
module fifo_top_tb();
! S) d! X9 |% O; x    reg clk;, L0 \' T$ f" C; n
    reg rst;
+ e" O' _- u/ Z4 @, _    reg wr_en;" _) h6 \! [6 z' v8 x( \8 t+ s0 a
    reg rd_en;
! t9 A. l9 |- k8 b) T    reg [7:0]data_in;
( u- Y" l' A$ H' ?0 [, R7 _7 P! v; M    wire [7:0]data_out;) |1 d. l/ o0 ^/ g4 x
   
- C! E8 h' G6 p& ~  }& Xfifo_syn_top myfifo(.clk(clk),/ r1 m2 Q8 \9 O' R; N) E9 W! {5 M
                    .rst(rst),! T5 m) e8 m& K" {7 ]8 H1 [
                    .wr_en(wr_en),
* G- f, c( J5 v$ B. [( ], m0 \9 M                    .rd_en(rd_en),
0 _. e+ M; @  @0 `1 R! O1 W                    .data_in(data_in),3 a  D; Z( Y1 E
                    .data_out(data_out));8 b( z, C8 i7 i7 o2 Y6 ]
integer i,j;4 B1 ?: x# Z2 J5 M6 A7 k
parameter T = 18.518;. M* \$ \! c+ U% y* u
always1 G; R, ^$ t4 G. P4 g
begin2 j9 R. n2 f# h* r4 T+ s
        clk=0;
  ~) @/ @* P/ c& c! t! e. o        #T ;
3 f/ z' _6 }. H/ `2 p5 m4 n        clk=1;
$ K" ^6 e5 p  d        #T ;( G2 u" B1 t0 w5 v# C
end- B% S: d4 }0 ~. Q
$ H* x! I! e0 C
initial8 e: \2 Y( A. g4 _' I
  begin4 w- e3 \+ ~7 j) H9 f1 c
    clk=0;; L6 \& d* S6 R" y
    rst=0;9 y0 s# q5 @2 Z- E% A1 N/ U
    wr_en=1;
6 [1 e8 a: ?( h+ j: H& L" T    rd_en=0;
% ], H% U( W) J2 U" A: p4 V- m3 ]4 X( ^    #20 data_in[7:0]=8'b11111111;
8 G4 n. d# [, T# }6 }    #200 rst=1;5 q( n6 ^2 V: M; r$ K/ A
    wr_en=1;
4 z2 B( b$ g, _6 y0 P    rd_en=0;
4 |) r' n* G  ~4 G/ U     repeat(10)
7 Q$ y0 |$ {( T( `      begin
/ f9 a1 H3 c2 ?, F        #100 data_in[7:0]=$random;          
! d9 f0 ~+ m+ K6 _! I- Y- F8 |      end
  G9 g- D4 L0 B; p! L, \    #6400 wr_en=0;
+ R9 r% a8 c* |; X! ~( g: p; m    #10 rd_en=1;
, I6 X. l% h5 R1 x0 ]" I; ^& ^         #6400  $stop;
5 ~; f9 w, u6 }/ G$ [  end: @3 o6 J/ o/ m* d" f/ w7 {! W1 j
  
2 p1 d: v0 K+ g" G4 X+ u+ nendmodule  
' s' D$ q0 t  ^" t0 m& a; ?, b8 `) J+ K! @& M' c

- N) S. u8 @# Z
" G- t" |: U2 U楼主 你难道要 1ns/1fs    ?   这样?7 M! q* i& H# }- E  F) T. x
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31
8 t) D7 A5 S- n5 n, X1 ~# u8 @`timescale 1ns/1ps, q; q$ m6 O8 v1 j' n5 M
( S! z* N  P: o4 c" s
module fifo_top_tb();

% j/ V- [; M: m# l# [/ b嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12 ) P* `( N! c2 w0 |
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

4 {) n: j) X- T& D我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
6 H, N! N) v( Y) u我也是菜鸟,多自己看的,现在找到工作了?
! s8 j4 j! @& n
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00 : l9 G5 y' z. }7 F  s4 X
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

. d7 X+ x8 {4 W( d- p$ ]& y哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 ( T& p9 b1 O0 ~( M6 |
哈,是FPGA的嘛?

8 q  y! y4 B: K8 y! t3 w嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
3 R0 i$ O9 w  F  n嗯,硬件和fpga都做。

! _# S5 x* I$ |- f7 Z1 \恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
9 Y! z2 O' C) P- c9 q`timescale 1ns / 1ps
) d( W3 {5 R" c) `' g9 s9 G8 l- k- q7 f$ A' O
module test;
. L  V$ ~$ W$ p6 g) B. n" e% @3 h3 s% B' V0 |8 y6 k( Y
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
5 ?& O/ o4 [; I% O4 Qreg sys_clk;3 V( F& E; i9 T! a1 K  q
reg reset;0 S0 Z/ V8 N) u- R2 h
initial begin; f, L3 S+ s2 A) v; m
  sys_clk = 0;& V* q; a% f( h1 Q7 D  ?; A7 W
  reset = 0;, {5 c$ j/ Z0 u9 W; R5 ?. t
  #10 reset = 1;6 f" s3 h6 C1 R' e' ?+ }
  #100 reset =0;
4 f3 Q" E: |3 Mend& f( T4 c$ v% v) T' g( q
// 产生27mhz时钟
( |+ J/ ?  S" [5 R: {always #(CLK_PERIOD/2) sys_clk = ~sysclk;
9 D; |$ n+ e7 V1 O0 X( d
) u/ q" {/ Q) t1 ~7 H3 O" B. W8 nreg [9:0] rand_data;
! ^- ?8 e3 s# s0 I& z9 H+ }; e7 F7 h6 ^: F: I8 q& V
always @ (posedge sys_clk) begin
% L/ j& d1 W: D  if(reset)
, ^# e5 m" @; q" s. w6 k    rand_data <= 0;$ G4 x, V$ E/ Z) _  M1 x
  else/ T7 ]; _# h* z! D$ a$ H; }
    rand_data <= $random;
* u) o# z# v: cend
- G1 @* ~! M. }+ sendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-17 21:32 , Processed in 0.059362 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表