找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2502|回复: 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 编辑
1 r& C$ z$ d6 @4 \4 [  w) J: x0 O1 g. T* @, f
如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。$ P& c/ O$ t4 h; h/ m
最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。! S9 H: `( C* K& G2 a
1 v1 ^6 g! L7 H+ O
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。+ Q5 k9 Y/ b/ Z( ]4 x

. Y) i; q3 |* i4 W1 f+ q& v6 k, I$ ^reg [9:0] rand_data;
; k9 s& `7 d9 n6 `
9 I! \, c( {3 d, B7 I; G8 C& Irand_data={$random}%1024;
: z0 w3 _7 L  f" Z* J9 q; i6 ]这样可以吗?
, y6 W5 ]2 F9 d% M! G* o& l9 O+ R" \
小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑 . i1 E0 r' F$ e7 X8 H7 A' r7 ]

0 Y' ^% x5 W9 Q# P% c3 L1 e`timescale 1ns/1ps
& d$ r# t& W0 y# ^% v+ G$ V+ N
. A& r) [0 S. u7 a: }3 wmodule fifo_top_tb();6 s! }# T% Z9 ?
    reg clk;
- I! Q/ X( F& E# s7 N3 j! p    reg rst;; |0 p6 Z" s- n- A- B" t8 D- P* V
    reg wr_en;
, L  v  X' x$ n7 }! J: i    reg rd_en;
0 F) K/ ?! a& {( D$ u* z    reg [7:0]data_in;& Z7 A9 L8 w  o8 J8 N
    wire [7:0]data_out;- @: o6 L( P( d) S1 H6 ^
      @1 r1 D: P# e3 ~, p
fifo_syn_top myfifo(.clk(clk),: Q' U$ E/ W2 v  `. Y" Q
                    .rst(rst),
$ K5 |; y# }1 P8 Z& D  R. W                    .wr_en(wr_en),& c1 d& \- |, @5 ]2 g3 y
                    .rd_en(rd_en)," H7 m6 N, `# K! n3 @% ?2 I, e2 o
                    .data_in(data_in),5 F- ^% p5 A4 f; t+ _# y
                    .data_out(data_out));
# W( t( \' Y7 [integer i,j;
2 K! [6 ~7 V% N/ kparameter T = 18.518;8 G4 i0 y5 _0 ^: x
always
) r5 p& s: e/ W6 n% n4 ^2 nbegin
- h2 s* d* x' A/ Z% {2 _        clk=0;" ~$ V) I5 c* \& A
        #T ;0 ?. \4 R2 i/ ]9 `+ O# y' g
        clk=1;( A; g- x* T  U. p. y  ]0 M
        #T ;# G9 L1 d1 ]; K4 R# G( G5 z
end! L+ b0 N$ s8 c# Z# {! S' @

9 g" M  W9 o9 @( o! m4 ~6 @' N2 W$ qinitial
0 S8 }$ }1 V* C% z  begin9 o% P! i$ ^0 }9 p- d
    clk=0;
/ [% @. b# w9 W4 k    rst=0;
1 F" y2 a' I& t* B    wr_en=1;9 M  L" V, D0 l' B8 \
    rd_en=0;
  G% z) c. s% i2 x1 k- r( z    #20 data_in[7:0]=8'b11111111;4 E4 s6 z/ e: L
    #200 rst=1;9 ]7 R0 ]! D- }/ P3 _1 u, [* y
    wr_en=1;* G* ?+ E# D5 z. \
    rd_en=0;! n& g9 [+ g# h( A$ z$ V
     repeat(10)
# G0 y5 k  x, J1 G4 v# u      begin
6 j4 ^8 O- \$ ?5 R        #100 data_in[7:0]=$random;          
/ ^2 d5 S' x8 e- \      end
/ ^  a' [/ M+ c  G3 v2 j    #6400 wr_en=0;
' p) j7 {5 M2 _: {( |    #10 rd_en=1;
$ l* d& J$ v7 H5 u  x         #6400  $stop;
# H9 [; t3 z3 _0 E, f* z  end
8 U$ Z4 \% A2 m5 F# @' M4 a  % O; t! N$ r5 c! e# \' ^. X9 L  e
endmodule  
2 Z# p9 N- d+ p6 q2 X* r2 F  ~: D  n( e' D. J
# p* m! D; @$ D) ?
- w2 d% d! }. h  [
楼主 你难道要 1ns/1fs    ?   这样?
, Z. f3 R( B5 x* l- o
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31
0 }; E" m* n( Q6 R6 `, I8 @9 ?`timescale 1ns/1ps- p5 b' J( T' S8 \0 v
( ]* R' \' V9 H6 a. g4 a- Q
module fifo_top_tb();

7 x0 r1 L6 u/ G嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
$ t# N# M1 p" m) D" c# R嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...
: Y! \+ M, y0 _/ o# D& s, y9 }
我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21 2 S; w& m5 S1 m7 [& {8 x- p5 E
我也是菜鸟,多自己看的,现在找到工作了?

5 R; K% E' U' T  T3 g, D9 X恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00
7 G$ k& p* x, b恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
# l1 Z" M7 o0 b7 M( q) O& L
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22
7 o2 _& ?/ a% x' P哈,是FPGA的嘛?
8 U. B# W0 G* U/ M
嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45 ' b* |1 o% p0 L- i$ ]
嗯,硬件和fpga都做。
4 m/ ?7 E1 f* d& @: S
恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧6 n: P! l- S8 p
`timescale 1ns / 1ps, W  }9 v, {- h3 \' B) W
4 `* e9 X$ T; D+ k. P* L/ @" g
module test;. u- d. ~6 `. H' ]

1 J& t5 D' V3 mparameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期0 x7 J. X9 n" w0 P9 I/ v9 u* ^/ @# k* e
reg sys_clk;
  l6 O& E* [6 @1 B- |+ f1 Ireg reset;
! b% J( H$ H$ sinitial begin  w6 `8 g5 ?2 R# j0 {" B2 L
  sys_clk = 0;- I0 r8 }1 ]; t- V" k8 @  f
  reset = 0;% x# B  g, K( W7 c2 Z- a( L
  #10 reset = 1;
3 O$ _7 h8 z2 M' [  #100 reset =0;
2 U, x9 t/ A; \( M) x% Qend
& k7 L+ R0 i) `& |// 产生27mhz时钟! ~# b  d! i2 w  K7 d% m2 T! \
always #(CLK_PERIOD/2) sys_clk = ~sysclk;* G1 e) J, g- d, N) n' [) l2 i
6 m7 s1 S4 x2 U) M0 [8 r
reg [9:0] rand_data;  {5 e  D2 r9 E$ u6 R
& W1 V/ {8 i) @" B# H7 ~
always @ (posedge sys_clk) begin
4 X4 x. u; P2 H5 T0 A; b8 y  if(reset): m: A8 w2 B: r  Q1 f& _1 Y# p
    rand_data <= 0;: t! m, F8 {6 U3 ]% f7 G/ l0 r
  else; T6 v8 ~; _0 Y/ B
    rand_data <= $random;+ [  v: u: @: M' t
end
" \2 @9 y% D! u9 w, \* f: }endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-28 00:19 , Processed in 0.065134 second(s), 33 queries , Gzip On.

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

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

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