找回密码
 注册
关于网站域名变更的通知
查看: 3048|回复: 8
打印 上一主题 下一主题

testbench如何产生27MHz的时钟

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 schx 于 2013-5-9 21:38 编辑
2 g& C5 ^: q3 `7 h/ K$ D0 E2 Z3 G! C* `# c4 `
如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
, N3 _7 M  Y  O+ S& a最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。" }# j9 {2 o" `  {9 q) j4 g
8 {+ g5 t) c) I( b4 v  I
由于小弟没怎么写过FPGA程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。& i  ?6 i7 Z1 d+ V, _0 O
% ?1 d0 a* b, ~, |5 I
reg [9:0] rand_data;
9 w4 T# b4 j) T( }9 \1 s, x' ?" y, T1 J4 e
rand_data={$random}%1024;
8 O% w8 q3 K! J: s, U* D这样可以吗?$ Y0 O7 C* v: W' d
! R# ~% E/ Y; K1 O* p# u
小弟电脑上连modelsim都木有装 = =

该用户从未签到

2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑
( e9 v  y3 n, ~( t; d( B: C0 S9 i8 `" k+ H
`timescale 1ns/1ps: l) _# D& N1 z$ B" |1 e  I

( V, E) P2 _3 L8 `+ a, pmodule fifo_top_tb();2 {" [% C# o, V+ ]1 h5 O/ h0 r
    reg clk;" u5 ]& R4 c3 G, |2 ^* N8 p
    reg rst;
0 E8 g. m3 g: ^; D. Z: n7 d3 h    reg wr_en;* n2 O6 }$ i7 Q% C! @8 _
    reg rd_en;
# U3 T& ]4 Y  \5 n    reg [7:0]data_in;. M3 t- E4 u) D3 e% z
    wire [7:0]data_out;
/ V4 z$ [! J& h( k. t   
$ N& Y+ r& D$ d" S0 Dfifo_syn_top myfifo(.clk(clk),0 ?4 p5 e5 W8 O  H' ?3 Y
                    .rst(rst),
# V* y7 T: ^. O                    .wr_en(wr_en),
: F2 k' Y& [1 R0 h( S3 t                    .rd_en(rd_en),
7 u/ Y1 C. h, h3 h                    .data_in(data_in),) c2 C- z( z$ a
                    .data_out(data_out));
4 p' B' |; M' o: ~% a; Ginteger i,j;
. C, |2 ]! j) D) {1 G/ jparameter T = 18.518;
! P2 R* {* _" g. \& lalways3 }: i3 q' X9 E
begin8 r) {9 C5 D* j) m) F4 v
        clk=0;
/ d  n3 F6 R+ {3 q. y" N        #T ;  I! G2 e( j: r
        clk=1;
* l7 W: |8 Z- B; o        #T ;7 |2 e1 E/ Z- Y& }; V, f
end/ a( s" ~/ r" X# {

+ e- Y( r& a2 f' N9 `initial
+ q+ S8 q" W7 G  begin
- @, R, ]" ~5 m' Z2 j: ^    clk=0;
# j  a+ m' ^$ l1 Q9 W6 K. {6 |    rst=0;
. `& ]( J7 `2 F8 j4 Z  o) |1 d    wr_en=1;! Q! f. k% G1 d: O+ R+ G9 E5 I
    rd_en=0;
3 A+ s* p% h: B% E* N    #20 data_in[7:0]=8'b11111111;7 O' t+ u, o, P4 Z  j
    #200 rst=1;
, A2 o4 p  E- d' X' `    wr_en=1;( o4 b3 v! a1 {+ K
    rd_en=0;  j6 f7 M- Q# `7 S- l( l  ^0 Y$ B
     repeat(10)3 o, o! J' O, _$ S
      begin
2 i. M. p, N6 w' L8 s9 F/ l        #100 data_in[7:0]=$random;          6 W5 I. y$ s$ n6 E5 D
      end  Z! I% E- Q  J3 [, t) Y
    #6400 wr_en=0;
- }/ S* d- Y1 x5 ]/ V8 ?    #10 rd_en=1;
3 g7 a! K% U) [. v         #6400  $stop;
* k6 C9 S4 {, J! k; y3 c  end
& c+ U7 u$ q9 C+ D7 o4 P4 V  * H& X! n: v: d  z/ g5 a
endmodule  
9 g% E: b5 f! ~! K! Z1 N- x- r4 S, v5 s% f

! V9 C, t5 Q( y$ X7 K  |/ O9 |* l6 C- s
楼主 你难道要 1ns/1fs    ?   这样?* o8 Y7 f, r- k! v. u$ _) \9 y

该用户从未签到

3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 7 b" S# j* _2 U9 j
`timescale 1ns/1ps: N- n# a3 j; d. C: {, S) I
6 A' G# U, q5 t9 U. r
module fifo_top_tb();

3 X# n/ G: U; g/ d7 j! s8 _" W嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

该用户从未签到

4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12 : b3 d3 x. R8 M+ H" w$ ?
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...
; q) |0 H# R$ {. y6 o8 j# g3 J/ u3 q
我也是菜鸟,多自己看的,现在找到工作了?

该用户从未签到

5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
5 Y4 w& i/ q4 h8 {. t0 t; G我也是菜鸟,多自己看的,现在找到工作了?
# T, H: G! I6 x3 m' z# z
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

该用户从未签到

6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00
: b. n& K* s' Z/ @% @2 D恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

# R& O3 G# A# s& F% D/ J; k哈,是FPGA的嘛?

该用户从未签到

7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22
4 v6 q( h) X7 s哈,是FPGA的嘛?

7 H; N8 K4 U6 I嗯,硬件和fpga都做。

该用户从未签到

8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45 - C$ \& X% y" [, |7 p* Q
嗯,硬件和fpga都做。

0 C( i$ k& l9 @恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。

该用户从未签到

9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
# d4 b6 M* p) [: C9 d/ E' w1 s, P& |`timescale 1ns / 1ps
* {  @* i: P( l$ U) f5 _
5 o; G  X8 r1 F& N* fmodule test;
& O5 W5 g0 c. c3 Y& M/ H- o( e" Y( `7 R9 I; y) K& a3 w9 u* ~( {
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
( w& h4 M2 g, _& A. mreg sys_clk;2 U$ T& b' j/ V( h) H9 ]8 g
reg reset;
9 V# n( @. |: F, yinitial begin
7 i* P3 F* j3 \/ ^) d  sys_clk = 0;3 t; {# f& `* _3 ^, S
  reset = 0;( ^5 Y+ K% ^* o& X
  #10 reset = 1;1 _$ Y$ j3 F- T$ Q( d! p
  #100 reset =0;
9 j8 V6 i2 d/ hend' V1 F/ d. y' M5 A: n) }
// 产生27mhz时钟8 f: E, j# b$ Z" z
always #(CLK_PERIOD/2) sys_clk = ~sysclk;) R0 f; ]/ t/ y. I: s
/ J9 F" h* `6 o7 D; f+ c$ x
reg [9:0] rand_data;
0 l" X- q5 e3 p- t5 Z
" r" l  o: H! m7 c1 U& w- Zalways @ (posedge sys_clk) begin
& y$ a1 R1 w/ c& R  if(reset)
: S+ I* j; o8 t2 i    rand_data <= 0;' E& g9 q  m0 G( T" e
  else
5 Y# ^+ e0 m0 z! U6 m/ g    rand_data <= $random;. X0 X! r, z; K/ H+ H
end: v, e' q. @. j7 R5 [0 P
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 05:54 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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