找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2515|回复: 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 F) }. y* l, F' y6 B' L% x
( v  ]$ h/ d# X/ f1 F7 K' |( L6 W如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
6 R/ Y2 o4 W1 e0 B) x- ^* y最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。! c. j! ^- ~4 @9 R1 g, [
$ ]6 k% m1 s9 ~; J6 U
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。
4 b1 E6 s5 e' [, R' p9 R4 ]# M, |$ p  h: x- ]! ?3 X5 w' q3 u- G( I: Z
reg [9:0] rand_data;
3 L3 q: ^: |/ a+ V4 G1 j4 D* t) K& X( B
rand_data={$random}%1024;1 ?" Y& e) X  v, T& A9 N6 z1 G/ l
这样可以吗?7 ?2 S+ b: X' o5 A

; f! C$ T' v& {+ {) o小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑
' o" [! L0 F7 G4 W* a. L' a# Z; O" c% K3 u" f9 x
`timescale 1ns/1ps# B9 l/ L% \) }, `

) Z0 ]$ v6 U6 `) t- O3 cmodule fifo_top_tb();9 {0 }  }/ |, n0 x: d8 t
    reg clk;4 X6 W* k$ [! z5 j
    reg rst;
6 Z$ g  B1 E! Y4 L  _    reg wr_en;6 B& h- O( \: B. Y' K
    reg rd_en;' \- R+ Z+ x8 E! u2 y
    reg [7:0]data_in;
( q6 D  ], @. h* _) s' S    wire [7:0]data_out;! x! D: |% m) R, r" a
   
+ ~0 q7 o5 R5 b) H3 T' kfifo_syn_top myfifo(.clk(clk),
. b" |  x5 P. @0 T! ~' [  j                    .rst(rst),, h9 G, R7 m" d# O+ K( q: f. ?- R
                    .wr_en(wr_en),- m9 D; s. p' l5 q! O! P" D
                    .rd_en(rd_en),
6 p8 {9 ~. t2 H7 ?                    .data_in(data_in),
* U% H0 \3 J  G6 ^3 d                    .data_out(data_out));
+ A! K/ U9 N3 O& {1 d7 n5 _integer i,j;
; v8 {! A8 `" ~( R) V% gparameter T = 18.518;. S  i- E) {3 V/ M7 |* V2 p$ |
always1 m% ?+ Y: ]! Z8 ~2 d8 C& [
begin! t! g" y" y  x3 W, C3 R5 Y: c. f8 i
        clk=0;* Q4 F5 a# C7 U, q
        #T ;, J! F8 K5 O' J3 V! m
        clk=1;
3 K2 {5 X- D! n        #T ;
! @" f+ v/ Y+ \2 P, b7 c/ [end
- a5 K+ z; X1 n' P% h- Z6 ?; `+ Q  D; L# u) Y' y
initial) I- g+ S9 P' L, N9 `
  begin. m0 ^$ ~3 p0 @" q% ?
    clk=0;
9 {- }8 G8 T; S+ R0 N  Y    rst=0;
( f% e1 R1 |$ k& [7 w" e    wr_en=1;) O  R* f) A5 u% \& E; L
    rd_en=0;
, R! b7 v; @: E# {, W    #20 data_in[7:0]=8'b11111111;, J( ]8 x6 N$ }1 T
    #200 rst=1;: j! v, U4 T) y# v) V( s& Q+ `5 L0 Q  c
    wr_en=1;* A; g  K. f$ i5 J$ x
    rd_en=0;0 s* r/ C; ?$ x3 e5 y) t5 ?, [
     repeat(10)2 o8 V+ f# p0 \) N/ s
      begin  G; R' O5 P' Z
        #100 data_in[7:0]=$random;          % z* S/ h; L5 C1 q; |" z4 Q
      end
- H0 [0 C2 d' q  o' M! A8 t    #6400 wr_en=0;
$ E- }0 e; b# z" o    #10 rd_en=1;6 t  W$ S1 e, R) B. J
         #6400  $stop;
7 m8 r: c- {( s" q5 I# W) ]; V  end
' K/ E4 M% [. Q1 N" P- O  8 ]- `! Q6 G$ Q- z4 P9 _
endmodule  
2 B! v: C5 b5 R9 \. M! a
8 P# |. G- c, t! Q8 }, ?+ c: B9 |( Y2 G5 a7 B
6 H( `9 c3 f3 K4 z' [
楼主 你难道要 1ns/1fs    ?   这样?
# T  p/ j8 y, X, ]. v. T' i7 g
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 7 C! G2 U7 r% G7 b  j% }
`timescale 1ns/1ps4 O6 k) y$ z  W5 g) q# u: [

4 f: c* W2 r- smodule fifo_top_tb();
+ W8 ?2 @  p4 p3 j" p6 H( H
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12 7 N9 }  W8 w( y1 R
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

' [8 V& T, Z# {* \0 {* o我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
  f6 w& Q- f$ @8 \我也是菜鸟,多自己看的,现在找到工作了?

4 `0 B" P- n% c3 X* j恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00
2 s" s- K2 P; Q; ]! e) @恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。
, l6 E5 W6 O3 v. W+ c
哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 " {- ]! n7 u$ X! _
哈,是FPGA的嘛?
0 n. _& F2 K3 E" i$ b& w9 q7 f
嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
. ~3 Y+ o, G0 q5 ]$ p2 a嗯,硬件和fpga都做。
. O- L  ?4 l& {- i& B
恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
: T/ `, |( V/ Q# a3 v# b`timescale 1ns / 1ps
( o$ b, |  O6 y
4 t" m. f* Q" P8 gmodule test;
0 Q: k; O: r9 p7 j. ~; K  {: ]& I9 y. z" I; c) h, g
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期. ~* _  S: i" e8 P
reg sys_clk;; R* @1 m1 c( K, K% K. l
reg reset;
3 I; {. o, f9 R# n6 u* Linitial begin
3 R9 I/ x) O: [- P+ S2 K7 Q  sys_clk = 0;1 }+ I7 m5 |5 R) a2 [
  reset = 0;, G' \4 q; S/ L1 y1 z
  #10 reset = 1;
$ W8 P: {0 @# V0 }6 d  #100 reset =0;
; p1 y: D5 E- m9 i* x$ qend8 k, j: ?- D) H! D3 K
// 产生27mhz时钟3 T$ m; z5 P( f" P
always #(CLK_PERIOD/2) sys_clk = ~sysclk;
: q* X" h  x$ N/ U% I$ s7 [
5 w. {2 n1 |( o$ c% a1 a, N, creg [9:0] rand_data;$ X1 P& A" {; ~' ~! u2 G

" r3 Q2 F" w1 N' @  c2 ?always @ (posedge sys_clk) begin
3 A( b- q) ]3 p2 G! m  if(reset)
# k; t" K) _. W1 ]/ w    rand_data <= 0;
; N  W5 E& S- @2 u+ d3 ?0 \9 S! W) a  else% s' v& V) q, e$ D1 M/ A+ F
    rand_data <= $random;
4 J* y; M# V( e5 Iend
6 E# x" f1 z3 W4 `& V) T4 ]endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-5-23 22:48 , Processed in 0.061290 second(s), 32 queries , Gzip On.

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

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

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