找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2499|回复: 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 编辑 : L0 W* r9 a% |% m0 E) Y; P

4 c3 }4 ^' ?: e如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
' S$ N+ k8 C2 U# _最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。' l% ]7 W- f5 S! W. H3 \4 w

, f; m$ ^9 I7 Y8 i由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。- m' v2 W) \  V! w- I9 P, j% W
6 r4 k7 E" M, D/ T- t- c' L" H4 ?
reg [9:0] rand_data;: |6 C/ K1 W/ ~5 s; q

2 U9 V5 D" f' L  V: B; Mrand_data={$random}%1024;
0 _1 X7 W/ {9 Q. D# \8 F5 H% @  |这样可以吗?0 B7 ~6 l2 v# e
6 n. F) C( q% H1 O7 q& |( e" T
小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑 $ l2 c. V" ^0 ?" U5 ~9 ]! v

0 @$ m6 [0 U) v`timescale 1ns/1ps
5 k' o+ E# B9 o7 E2 _+ V/ K4 M: [4 G' }  d! S- |9 e
module fifo_top_tb();
, n6 N& \; Y0 r" Z( }* S/ }4 A    reg clk;
4 U! H+ F! E* t+ m    reg rst;
9 {6 G* g& U/ d$ a9 g    reg wr_en;$ r' D$ ?& d( L3 a/ [# i
    reg rd_en;: o! ~( ~% ~8 K8 R$ e5 n+ r; |
    reg [7:0]data_in;9 `+ o$ q# r- h- B# }
    wire [7:0]data_out;
* a+ ~' Z' \3 ^+ A5 q    & `( v0 a: {9 X$ s7 j9 k- C
fifo_syn_top myfifo(.clk(clk),$ ^, \. m- C. j- Z  }. T2 K8 r
                    .rst(rst),
4 V% u1 Y; O9 A0 S' B! o7 y                    .wr_en(wr_en),) n1 L1 ]) L9 [7 A: c9 A: i2 ^6 B
                    .rd_en(rd_en),, v7 |6 g: j( A- ^  q9 N
                    .data_in(data_in),
; o+ w9 A; ?6 k                    .data_out(data_out));
0 p) I9 W& ?/ j' Rinteger i,j;
4 K: W/ j& B: R9 rparameter T = 18.518;
/ `& s/ e% p5 J* calways
' l: ?7 Z# w6 m" ^: `begin
9 X. F. H: D/ o        clk=0;
  F3 Q% Y, d8 E        #T ;  q: L3 E7 l3 {
        clk=1;
/ r- z# _( \( N1 n9 N$ \0 I        #T ;
- ^( G' n: r3 h* c3 z' O- ]- Gend7 O9 z3 w3 T% \% `9 E& q5 @) h
0 a( U4 ]3 M: S6 O, M: Y
initial
" [5 G. I9 _) E0 v( l  O" J: `  begin
5 j$ {+ ^; o0 q    clk=0;
. }& D  W* q- r& `, }: i) A& E    rst=0;4 I& }4 z! E! D. t8 t/ ?( Y+ X
    wr_en=1;% h! R) s1 W8 @8 L$ r, k
    rd_en=0;
( B4 K/ O; M$ V    #20 data_in[7:0]=8'b11111111;
% U. x' ^- c  J1 \0 E    #200 rst=1;
# ~, \- m$ Q& \2 t. T, l    wr_en=1;
5 @1 ?. N7 X/ S. j5 i$ m    rd_en=0;
3 D1 O9 x/ [( i" j/ ~2 q( u     repeat(10)
. R" r: m/ Q% w2 e' ~! C$ D( H      begin
6 U( O8 C- f6 `( l/ Y        #100 data_in[7:0]=$random;          * J! v3 J- x5 B6 h
      end
$ E0 G  i: x# s8 z    #6400 wr_en=0;1 j4 u9 K: X9 C& ~& f+ D8 w/ m
    #10 rd_en=1;
) p  N+ |6 G) Q, `( W         #6400  $stop;
$ h7 h6 Y9 n2 o: o  end
; `) S. |. \3 c! {  & [  ?0 C6 F1 w7 P. j7 T; N2 Z
endmodule  
* I. Q4 C4 E& r/ T( `3 x
9 w; }* I& [3 W5 A% ~/ h# }
! s) F- A' z/ M6 n6 A; m1 @) {" |( V$ M: `
楼主 你难道要 1ns/1fs    ?   这样?
; D+ M+ G. Y. B$ }5 x4 [
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31
; H: n% E- k* T1 s- h* @5 b, h! b`timescale 1ns/1ps
; R1 N0 k, G2 `/ V5 q) Z( B9 I, t" H% f3 J
module fifo_top_tb();

$ W" }; Q, A/ W  H, w6 [# T嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
: k) D$ r: B& O0 j9 ^$ ]% ~; H) q嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

; x5 |$ S- W0 y' ~我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21 / X  G: ^# A+ ~9 ]* h5 x
我也是菜鸟,多自己看的,现在找到工作了?
# p  K. B' A) L
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00
8 ~" l6 P6 G' p- M9 Q恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

' u( X: c# ~" A哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 & W! F. E# F3 [- y( B
哈,是FPGA的嘛?
3 L  @* R, }4 P4 j$ f& }$ S
嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45   w  k9 Y! x4 h2 H
嗯,硬件和fpga都做。

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

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧+ w4 B0 r% q/ R( ^
`timescale 1ns / 1ps
( i; s' h- w  [8 a% Z5 V7 x+ ?8 v7 W' H6 y% K# m/ |  u$ @
module test;
: b* S' m2 b1 z% T( a3 r. W" z) C' Z0 l  y
parameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
$ |" y' a1 q; {2 k# H/ M9 s1 }# Areg sys_clk;9 \2 {- [( h' h3 ~' k& L1 h
reg reset;
. R" e2 ]% |' s* B/ Xinitial begin. R& f# T" _0 e
  sys_clk = 0;4 T0 V, w3 ~( T
  reset = 0;% B7 m6 m  r4 Y( I
  #10 reset = 1;
7 S9 k3 }' m1 T0 t+ Q! u  #100 reset =0;# _- S) B/ X6 q4 S1 `
end
0 M5 g& c9 M; _' k" a// 产生27mhz时钟
+ B! i4 k3 O$ C* }, oalways #(CLK_PERIOD/2) sys_clk = ~sysclk;
6 U! W1 z- y' T# w; m6 Y8 Z
( a: z) d. U4 h3 @. U0 ?reg [9:0] rand_data;4 c5 ~) k- i" v# K5 I  v% R' I
0 _4 P9 q. y8 G6 C% v! Q0 o
always @ (posedge sys_clk) begin
% z, r/ D+ M) q; D) H! Y: m% H  if(reset)
7 q& e7 X0 z' C1 G# R    rand_data <= 0;9 j" U9 d8 r  @1 q& D- X, c
  else5 c+ O5 f" P. z+ y; S/ \) @5 L
    rand_data <= $random;) a5 i; O+ |) j+ q% m% A( @
end
: j3 c" r1 H% w5 Pendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 04:29 , Processed in 0.061758 second(s), 32 queries , Gzip On.

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

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

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