找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2510|回复: 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 编辑 8 x6 b, m4 O& I0 ~
; H7 L& V$ [( N
如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。+ w' F; Y' Q# H  k
最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。0 }* g& N3 C/ D4 P7 p$ ^

2 b  Q. X3 K+ m. i: m由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。* v0 W; N% k/ G/ m1 ~* b
8 t2 e- s6 U* i/ ]1 G
reg [9:0] rand_data;  }7 U* e) X% E. O
2 P9 n+ n/ L7 m1 y/ v9 I& F
rand_data={$random}%1024;
9 _7 A$ k9 L7 F# G, q这样可以吗?
! S9 I% S1 p6 t* K" g/ H  f4 ~5 ?" x4 F% R: p
小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑
/ y! O1 I9 [8 F) x  d1 ?- n
4 t) Z, `$ G, ]4 t+ Q+ E/ y`timescale 1ns/1ps2 W. V. B6 m+ d; l
! K9 V' F$ E. L% D
module fifo_top_tb();
- t) C7 m  m  [' P0 b% J! ]( ~    reg clk;
: Z4 }. Z9 V' y+ z    reg rst;# r8 H! B! g6 X' o4 v# r
    reg wr_en;
8 g! B0 \- r3 n0 |. R9 E! E5 i    reg rd_en;
: r/ L2 e8 R" x# s1 B  O+ `    reg [7:0]data_in;
4 B0 \3 [" j  i4 S/ [8 S    wire [7:0]data_out;
6 U. E) b; }' E) k- H0 m* N" ~# ^   
' P6 k3 R! d7 _fifo_syn_top myfifo(.clk(clk),: `5 ]1 @) x  I7 Z0 X/ z
                    .rst(rst),
4 ]- Z. B6 ~! E1 p0 |' q                    .wr_en(wr_en),; p! j& i0 d" e! n! t: X# O
                    .rd_en(rd_en),7 u1 K# e1 q. N+ Z7 X
                    .data_in(data_in),* C7 k+ c$ m3 P2 R' L  X7 m4 t
                    .data_out(data_out));
1 \6 c; r9 p2 B2 f# q' Xinteger i,j;8 c: C+ t$ z7 G2 @$ ^, R
parameter T = 18.518;; \5 y% l. J: {
always
) U$ E: E8 t, r( ?# |* Rbegin
" s9 }8 t1 g* R) m( l, W        clk=0;
! P5 i8 c1 V8 t4 d        #T ;
2 G; E0 p) J8 C0 I! O        clk=1;$ N: l* L8 W' u& f4 g. \* W
        #T ;
; L' I9 ]) Z, G! ~" |end# v+ p0 t* b: Z7 Y' ?
" ?4 `4 q. t+ x* m2 z" ~
initial
- ^5 d0 Q7 b/ G) P/ O$ `  begin
, v; O0 T2 V4 s1 I+ w    clk=0;
: S0 h7 ?1 r4 j% g2 \) f$ K% [    rst=0;
4 K6 k' p. f$ t) N$ h    wr_en=1;& G7 p" [8 \$ x7 I
    rd_en=0;/ i) Q! y( l! \; E$ l: F( A
    #20 data_in[7:0]=8'b11111111;
; N( s7 Z( E5 U0 G+ b) l+ O+ W+ H: ?    #200 rst=1;
) V$ v; \. r4 I4 `* X, m    wr_en=1;
  V8 @5 b5 o/ W  V% e& G- m    rd_en=0;
7 D  L1 z3 L- x1 o) s     repeat(10)
6 _+ I1 Z5 O5 S0 Q      begin  w% e( S( N) K3 i) {
        #100 data_in[7:0]=$random;          
; n5 n4 t5 Z, ?6 J6 M6 _/ D      end
0 w0 w2 G+ c: c4 e    #6400 wr_en=0;
) I/ Y! w, ~9 C, t6 B/ E9 O    #10 rd_en=1;- l1 W% I$ P' [3 y. k
         #6400  $stop;
) R7 e- V" }4 u' D& ~! A  end8 u/ U2 Q. F8 Z8 ~$ g
  ! G2 B5 Y# f7 ?: z, J8 Z
endmodule  
* L& G; S6 ]! _- L5 P
5 Y' K+ O% r6 H& X9 `& G
- h/ ?" ~4 [+ `3 n
" k, u' x- e3 T- n7 a& K楼主 你难道要 1ns/1fs    ?   这样?
% h  M$ h2 J5 E# w( K
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 4 g* F9 \' t3 k. H3 ?
`timescale 1ns/1ps
) K+ D+ x& J5 r" U7 Q1 }0 S
# ]% f& `8 M1 C: v5 H2 @6 _, o9 m' Fmodule fifo_top_tb();

: j6 j/ D' p1 A嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
& T/ [& o/ B) i# ^6 `嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

( w) V" F& [5 ]# y) u我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
& [0 |% A; P" H0 F: z# w& B# g# d我也是菜鸟,多自己看的,现在找到工作了?

% V; n% f: h2 {恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00
# N+ H! U8 y3 k2 u0 s6 X$ ~恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
0 x# b3 q8 D$ l1 a- k1 n
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22
2 o0 P2 l) I$ ~7 ~% p9 F4 y哈,是FPGA的嘛?

- Y6 C  S5 C& j- F嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
. q& v0 a& E6 Z6 `- x# ?" x4 |0 A嗯,硬件和fpga都做。

3 x4 D# ^0 }* r- @' b+ @- F6 H恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧' [; q# l9 v& H- m7 `
`timescale 1ns / 1ps
3 M8 f  p( a: N+ \3 I3 U! A2 _& Y/ q
9 y# I6 l8 F) K% s1 rmodule test;
. i( @4 U* k+ n* n: N) Z! |
4 i: n0 k, B' B6 L/ H2 Z6 l* Zparameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
% P$ A; P8 T7 F7 D) }- B. }reg sys_clk;2 z- B5 O: |0 \8 N. t0 U2 O" G
reg reset;: F. h- `8 q( I0 S
initial begin
$ o" m# [; I, _7 a" q1 y  sys_clk = 0;
) x0 X# {* H% T, S1 I8 L) I  reset = 0;. A1 x0 e+ i3 U; d* m
  #10 reset = 1;2 s( T/ P3 n: w* z
  #100 reset =0;
2 p+ _& R1 Z6 v' Vend- e; M& p' ~, K5 l* n8 h( z
// 产生27mhz时钟
3 C! A$ j4 v/ h+ T+ |always #(CLK_PERIOD/2) sys_clk = ~sysclk;8 ]/ N6 L2 H5 ^# S: K, ~
# k. n9 |# {+ c5 C/ [) `5 Y
reg [9:0] rand_data;
* N* h; p3 p1 Q7 p& D7 W! I! u9 I" Z
always @ (posedge sys_clk) begin( H8 v! p- v6 z
  if(reset)! K# g* h5 `/ X$ v/ Q. ^
    rand_data <= 0;- E( a$ J# K5 `: o
  else
" n: a9 C" m7 v! ?6 n* J* g: l    rand_data <= $random;
4 o' D3 i0 M% bend
9 b/ b* o, L1 a/ X) S0 v( Dendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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