找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2500|回复: 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 编辑
* \  Q* m/ P) T
, K; a" U# w7 d+ r  f( n$ e( Y$ s2 R如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
! K/ B/ y2 T, t9 V7 Z' [2 `" ~最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。
7 }3 K: E) |: ~3 t9 `/ D3 ?4 }/ ~8 U/ N3 Y1 N3 q" d
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。
7 }* W+ x9 C. ?! h" l2 V% z4 x( b' Z* m+ \8 D5 B6 M* i" T
reg [9:0] rand_data;
% Y1 Z, z2 @( v; o. K+ c5 s& L3 O0 W% S, T
rand_data={$random}%1024;9 ?5 X8 h8 X8 j, \
这样可以吗?
( U- J- M6 B4 Q
# ^, V- O/ [: E) R% @& x小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑
4 |0 }. O( L; v' S- K
9 e/ w3 d/ S4 j4 H`timescale 1ns/1ps
7 k$ F& ?( P# a- R/ y! x) |2 m' ^' c/ |8 k1 H/ k$ f
module fifo_top_tb();
0 g4 ]& r: A" L  F/ q8 p. y* j2 I    reg clk;2 Z; f9 R* ]/ v6 n8 O
    reg rst;
2 T9 g& h3 o7 f$ a# u    reg wr_en;
& D9 ^! h; F( H# B    reg rd_en;9 R; L% h& u% H
    reg [7:0]data_in;
' z3 `  x/ ?! I- B! }  W; z    wire [7:0]data_out;
% B* E. i8 L/ n- J7 ~   
5 t( Y1 F1 t; _/ t! ^fifo_syn_top myfifo(.clk(clk),! c% W8 k, {8 l" O& w1 ~6 J
                    .rst(rst),! ^( z3 `! M) ^5 w+ a
                    .wr_en(wr_en),
0 l$ ?) c1 m- k; W6 M' L                    .rd_en(rd_en),
. t9 K* j& \4 g' O% |. K7 s                    .data_in(data_in),
  O4 l4 F. M$ i, p) y# G3 m. a# w                    .data_out(data_out));
4 }1 G) M3 F" g& q" ^2 Hinteger i,j;
- [3 X/ ?6 E% g$ K; |& D$ Sparameter T = 18.518;
8 M5 X9 I6 D. x( L& c6 E) salways2 [* t* C7 {& ?9 b
begin
3 S" ?% W  m) t* `1 ]9 H        clk=0;
8 i- K( ]3 X% U) G6 P        #T ;
  Z1 \* y; M- H: r8 J        clk=1;
7 A9 S# l, X$ p0 P" d        #T ;& g; J: C- M4 t) j
end$ {% t9 e- |+ e4 A! h
& Y2 K4 c1 E( }3 L( f
initial; v$ p& j3 g  ~, N( T5 s
  begin- l# t6 Z) S+ m9 S" ^+ |9 D8 h
    clk=0;5 \' v% L+ S* N0 {; H; `- ~
    rst=0;
3 `, D% ~( q- ~. r6 ^) w5 S    wr_en=1;* W, C; @* W" [# K$ j& d1 L
    rd_en=0;  t9 Z8 {$ [" r5 v( f
    #20 data_in[7:0]=8'b11111111;) G* B6 i3 ?' `+ x+ r" E8 h
    #200 rst=1;, m) n: z- B" c
    wr_en=1;" ^. N: ?5 A, u8 v! t$ H
    rd_en=0;% p# r% ~9 M" A( u1 [
     repeat(10)9 e/ m! S' {% I# t8 D  N
      begin+ I5 b) ~2 x0 t! C5 Q
        #100 data_in[7:0]=$random;          
" e$ ?9 s! ^0 r. ~0 M7 `' D: P      end* ]! j% |9 n2 y
    #6400 wr_en=0;- y. j! k3 Y3 e0 u
    #10 rd_en=1;$ D( N, C! }2 T" G( u$ v) c
         #6400  $stop;
- M; K# r' n: i: [6 b  end
! j+ Q! ~4 Z- e3 g6 ?/ H  
" ]# e8 K7 D; y& A5 y* |5 E* }endmodule  
+ v2 B. \9 B+ U+ }7 a
; N' Q4 h! j: X" E0 B  P+ d7 Q3 z0 X; R6 A2 ~$ n

  ]8 S6 `# u, o" e' n楼主 你难道要 1ns/1fs    ?   这样?
" l/ C3 U7 \" c5 e: n
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 1 |) ]1 I: L: B! G, ]1 ~' o* T- k" L
`timescale 1ns/1ps
' G, Y! X! L# t+ r5 {) w7 q+ n1 Q$ D7 n8 Q5 v0 s& ?: }. J
module fifo_top_tb();
% p% D( l. T1 m
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12 ! L2 r& J- O" a( g" p* M; M  V
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...
# s/ Y" w  `0 S: i+ _9 C
我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21 1 M1 n% c" C1 }8 ?5 g) V
我也是菜鸟,多自己看的,现在找到工作了?
0 K  H9 s1 P. G2 o. s- ]3 f) q
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00 / C- g0 g5 V) k) _/ i) v; x7 J
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
, @" N4 A. }  u
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 + v( z/ `' B- w) O; C
哈,是FPGA的嘛?
8 D7 S" X  N- W8 X0 f* o) j6 E6 C
嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
6 D( p5 c& L, [* ~, P; P& n嗯,硬件和fpga都做。
, `- x) S! A, C; ^
恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
/ B: v( ~- f3 s( u" H# M% h`timescale 1ns / 1ps
( q' N4 ^1 Z; J- R% I" D
+ v  E& ~. Y- Dmodule test;! g  ]$ H( Z9 f- b8 G: j- |2 P% a
2 G$ d, X6 O3 U9 B8 [
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
2 p; w9 D, X! W: F* v, O2 Kreg sys_clk;; O; d+ v" s2 i8 u1 E: ^/ X6 k
reg reset;
- G1 M1 R  F3 j  Hinitial begin
, c, Y# }( w0 `# g  sys_clk = 0;* Q1 j6 L" X8 F) G" I4 N2 o1 ~
  reset = 0;
; o7 B5 _' N: j! v  #10 reset = 1;
! l0 A' s  w/ z; P  #100 reset =0;
5 x- N1 _$ y9 yend
  g$ y3 n. l( ^' r( k  i// 产生27mhz时钟- Y$ U8 X# K% e2 M7 s
always #(CLK_PERIOD/2) sys_clk = ~sysclk;
; u& }" u, c: l& q8 N/ e+ j6 G- {
% @/ E0 j8 Z2 x+ ?reg [9:0] rand_data;
9 \, ^% A5 ^2 @5 {' a- V" R1 Y/ a% h" Z- K
always @ (posedge sys_clk) begin
4 w7 _3 R% k: }3 Y& q$ m  if(reset)0 C/ }/ v: h0 k: S0 w! M: M) J
    rand_data <= 0;
9 H# W3 S, S+ q: j5 a; B$ V8 \  else7 i3 O) e8 y! `3 W
    rand_data <= $random;
$ e+ V; R& }' f( A. Y% \/ pend# c( E. ~- A( q  S1 t- D
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 04:42 , Processed in 0.060032 second(s), 32 queries , Gzip On.

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

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

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