找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2503|回复: 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 编辑
0 V, d: I+ X) @  d* d, L0 X& ]1 j( r2 V% B* g. f+ Q
如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。% ^" B7 a1 F3 L1 i
最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。
) l6 s% q+ q$ S( A: d9 m& I
# w2 \* T! h5 b# w' e由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。' D8 b2 X) K0 z0 x/ b6 I

* w1 M% \9 o) ireg [9:0] rand_data;
3 n3 Y! \( h% m5 r7 y0 U) e1 w- e; |! e
rand_data={$random}%1024;
- j% w1 ]$ o4 [9 J$ _这样可以吗?  ^5 u- D- k1 X# d
) q6 ]5 y; a9 E5 M) k1 h
小弟电脑上连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 x( d6 ]7 e; _3 T
  W/ d0 I& v9 f1 k* A
`timescale 1ns/1ps8 I0 f- J" @) l# s- _

) l3 X  e( K7 v) _module fifo_top_tb();
/ K! d; Y( }# |  \' B* H0 L  f    reg clk;
" j# e5 l& |8 o3 w' Z4 X7 d    reg rst;8 r  s( p! w6 M( W: A* w
    reg wr_en;
% w. g+ [; D0 g) u- m  v2 @) {9 |    reg rd_en;
- ?6 J( e" I. v1 b. e' i    reg [7:0]data_in;. `* E7 I, y3 z( s8 w
    wire [7:0]data_out;9 z8 r& W7 S- k9 @* y4 q( y
    ( D; r$ u/ H8 x% i5 ^8 ?
fifo_syn_top myfifo(.clk(clk),
& c2 f9 s/ R$ v, j& U' z/ b                    .rst(rst),2 U# }% x# c5 D& E; V
                    .wr_en(wr_en),
( f& K5 O0 k' n                    .rd_en(rd_en),
6 @. |1 {1 K# y/ X                    .data_in(data_in),
7 J/ ~2 N, P8 P1 w* R8 a                    .data_out(data_out));9 D, G+ a+ ]% |% {' n
integer i,j;7 P. Z5 \4 S; f7 E# n' U
parameter T = 18.518;
: k2 m9 v: u3 K# l. S- C2 r1 Nalways
& B3 A( p+ T6 `begin; m! F4 ~+ p2 A0 P
        clk=0;
) E: }7 {/ p3 ?) |        #T ;
7 `5 n: L. o' ?! Y; r# ^% i        clk=1;+ t/ l8 c! K2 E* _2 d0 E0 N
        #T ;
# V2 p2 q1 {9 Y+ ^' K+ eend
$ X% R0 M2 f. [6 t/ d
7 S) f& p5 M! s3 Uinitial! i5 N  S% X- c, o4 W
  begin
* E4 t5 x! @# A+ N  K    clk=0;# e7 F  ^- n& ^9 |2 h0 t
    rst=0;
& a# }7 ]! j( |0 o* a- Y    wr_en=1;
' O; O3 |) N# C; C    rd_en=0;
8 l1 O3 M# |2 o1 ?' G    #20 data_in[7:0]=8'b11111111;( s) |0 s5 @3 i; c0 q) N; Z( u
    #200 rst=1;; r9 ?5 b1 Q# _+ e
    wr_en=1;( G$ p  L9 B9 J4 o7 r. d( F
    rd_en=0;
3 w: K5 r8 j$ p4 z2 n$ v6 V     repeat(10)# g& s9 n) j5 h3 W7 a- `9 ]% o, }
      begin: E2 @- |+ B0 ^2 Y
        #100 data_in[7:0]=$random;          7 |9 M3 \  V' z7 q/ v" ?. w
      end
3 H* x6 ?$ M" c! R7 Z- j+ d    #6400 wr_en=0;, m* D% K. y7 b& B. N3 G4 L
    #10 rd_en=1;
3 s) B, `8 W8 Q/ U+ G: s- f         #6400  $stop;
7 q7 I1 _% q; y7 u  end
: y0 \9 Y3 g1 C- S( ^+ T- z) C  + f; x2 ~+ q: \3 L& \) L! ]
endmodule  ) `! C* h" D( |0 O, q* h4 ^

: ?% Z' ~. N) N5 {5 v5 L3 f; g
7 J6 x  n0 C2 q' h$ t
" Q( u5 Q0 m- d2 C' J' H; `楼主 你难道要 1ns/1fs    ?   这样?- Y# l8 X8 \9 C' T* r8 S4 \+ n
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 ! \. f1 ?% N& `& j, ~
`timescale 1ns/1ps
* r6 \) X# L9 c1 w
. m( S0 k/ y) L$ y" |# Omodule fifo_top_tb();

  I: A% a) K, z5 ^4 c# S嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12 2 ^8 E( M' X4 v6 M" N9 V+ U
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...
# I1 i  t4 Q4 s1 l9 M; N6 m
我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
1 k& F; E! s  a. M7 t3 u8 \! @我也是菜鸟,多自己看的,现在找到工作了?

$ G: s9 X7 }& s4 E, L, T8 P恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00 8 s! C0 h! K, K, h9 \) `
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
- k3 [6 R  K# w0 W% w* y7 L+ V
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 ' G( B; _- E2 U! b& p
哈,是FPGA的嘛?

8 b. L9 P4 b3 C2 l0 ?8 W6 U嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45 % \1 N; ?% H! Q8 x$ w4 z3 A
嗯,硬件和fpga都做。

4 _; r; v, I3 x8 `. C恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧$ n* J+ m% Z( }" K# h
`timescale 1ns / 1ps4 S" i! ]4 u( X3 }8 l; a1 v5 ?
' ^, h$ b* C& o
module test;! ~* Z% g* [( z8 A8 ]
& V- L& T5 A+ m6 X# P! n# C
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
, ?8 b( |) [" x+ w# F' breg sys_clk;
0 s3 B$ y% ?0 v) u9 s* Creg reset;
9 J; J! h2 }  p5 e0 Finitial begin
: s2 H; I% c0 x  sys_clk = 0;+ x1 G! ^6 e3 r; d# ?
  reset = 0;
) \& _* Z8 Q# B& N  #10 reset = 1;# Y2 R, m6 X) ?0 C& ~7 t! y
  #100 reset =0;
/ H( c" h( H4 x" _/ k9 ^4 Hend
4 ?, S  w5 e/ c1 n7 Q4 B) J// 产生27mhz时钟
/ G5 w3 L1 S$ |' e" V5 w+ c& Halways #(CLK_PERIOD/2) sys_clk = ~sysclk;
0 C. Q* S& S! O1 a6 u- _+ f
1 q* Y/ X2 P/ R2 t0 ]reg [9:0] rand_data;9 F) [0 ^- M, K# J; x

" z+ Q. n9 |* h; v" l5 xalways @ (posedge sys_clk) begin
$ X  u$ s8 M1 c* w  if(reset)
. P8 Y- `9 I1 c% R; j" i    rand_data <= 0;
/ a9 P4 m& A6 _3 J: \- F/ [+ |  else( s; f5 Y- W1 L6 t: K, P3 M
    rand_data <= $random;8 v( F& V8 Y6 [6 q0 U
end
& c6 V/ o( v3 Z0 M0 |. Cendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-28 01:13 , Processed in 0.079994 second(s), 33 queries , Gzip On.

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

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

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