找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2509|回复: 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 编辑
! ~3 J8 d% E4 w2 G1 {, A% \: O, H. w/ |
如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。
) {8 W7 F) \* B$ \  u8 L最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。: M) c5 h3 o& }" m, r& ?+ K

! q( J4 W* s8 ?2 g由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。
3 g! c' S5 u) n+ k. u. B9 i  A7 g; R& [& \
reg [9:0] rand_data;
1 q0 |; z: c' g
2 x8 m! |: ]( H5 e  Crand_data={$random}%1024;
6 g4 q' W: k: g, ~这样可以吗?
6 Y8 z, K& d  x3 E" o" q
" g; L  n: |  W' g0 z. ~0 j小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑
$ b; K( n1 E5 }/ N% G: a4 R* \; d+ ]! i/ H
`timescale 1ns/1ps$ R  J% y" d" J8 e1 W3 s

# b6 A+ e$ c8 G. ^  L/ ^2 [7 qmodule fifo_top_tb();
8 Q7 d6 `0 p  s" A$ t4 x# |    reg clk;9 b- |; b. X( T* R: K; q3 K
    reg rst;
; j( n) c! H3 }6 M9 O    reg wr_en;: f" U9 o% ?7 A0 `$ C9 W# U
    reg rd_en;9 N7 m  x/ y% O# |( p* C+ n; ~
    reg [7:0]data_in;6 Q! f$ g& ?& ]8 s9 _* d
    wire [7:0]data_out;
5 `! Y. e5 s8 [    8 C' M& x9 \! Q8 T" ]- L0 h
fifo_syn_top myfifo(.clk(clk),
$ I( R& C8 X, Z; d                    .rst(rst),
$ G. Q* Z1 P7 T; j/ y                    .wr_en(wr_en),; R' U4 w2 U/ \9 U1 G
                    .rd_en(rd_en),
: [5 Y7 [- f, {- D# F+ `7 |0 O                    .data_in(data_in),
+ F; Q+ O1 M* ?; W. T3 D/ F5 t                    .data_out(data_out));
2 I8 Z! y( X5 S- J# ^) ~3 D: e$ Ainteger i,j;
4 Z" ~7 r1 d- F1 _* B5 x* n9 sparameter T = 18.518;7 q- W+ t# k. P% \+ D/ {
always/ K6 w- ~; @7 z1 \0 d9 Z( n. M- ?+ C
begin
! u: J7 `& v) U2 y3 R5 ?        clk=0;% V, R' b& q# \% r0 V: G
        #T ;
; c2 o) ^7 m8 K8 x+ U( Q        clk=1;
  t: e* C, Y2 l& D/ {        #T ;" f+ ?+ C" |( j2 p' J
end7 F: V3 g  B6 Z8 m
' a0 ~  n! J2 H5 ^7 W
initial8 I3 o/ ^4 {$ ]4 r
  begin% @. i5 C$ Q# ^4 T) y* b, d
    clk=0;
4 d: u4 Z% h" L& C    rst=0;
. P& Y, d7 Y: h% s7 S. n& z    wr_en=1;
- A* d* S# A! m* H2 P    rd_en=0;
  m4 n( A7 l, i    #20 data_in[7:0]=8'b11111111;
2 C; Z$ p/ B  ?/ j$ u    #200 rst=1;  v  l/ {& B) M& _$ r9 F
    wr_en=1;
% O: |  A! h3 t- F( d6 |    rd_en=0;; z; X1 k! ?! ]
     repeat(10)( m9 S( V5 q' ?6 t* }
      begin
. G- @$ |) I" W  z6 f        #100 data_in[7:0]=$random;          ! ~& D1 u7 v, c4 t$ @
      end5 D0 q; W6 e1 O# K: D( t5 J  O) A
    #6400 wr_en=0;
- i4 x3 B9 E4 R. x    #10 rd_en=1;" b4 f% H; ^# _$ y( o
         #6400  $stop;) `( G) H2 C( k" s7 N& l
  end6 d7 Z9 Z6 D  ]( [' G
  
6 z9 H3 X  s& M1 M% B, uendmodule  
% e2 }5 K0 l& f  U: R; a+ _5 h. z" e; F/ ?- `
) G2 U. t6 r+ |) f/ ]

: j* t) ^$ a  X/ S楼主 你难道要 1ns/1fs    ?   这样?( m  M1 g& Z0 d. w/ x& [
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 0 b$ s: o* \( ^; i9 I! a
`timescale 1ns/1ps0 h$ Q$ N6 w( G* p9 [
7 U# N/ S, w3 K) \! ^
module fifo_top_tb();

5 T) w) J! D: `& o5 c; J嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
! m" b2 q* E0 f; c. o6 ^+ J; n嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

$ P5 P. W8 K+ Q( E我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21
" O. p( t, g/ E我也是菜鸟,多自己看的,现在找到工作了?
! ^& @1 w) ]2 F% }6 E* W
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
6#
发表于 2013-5-27 15:22 | 只看该作者
schx 发表于 2013-5-27 10:00 ' b8 N; w+ B3 z/ `
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

0 U" N7 a! n$ g- X哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
7#
 楼主| 发表于 2013-5-27 22:45 | 只看该作者
zgq800712 发表于 2013-5-27 15:22 # u* `8 Z- `$ e$ a4 Z, Z
哈,是FPGA的嘛?
  I: u+ L( }7 f" ~
嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45 - C6 _1 S9 g9 d4 t
嗯,硬件和fpga都做。

6 w% q5 T; S# f7 ]- f$ S  C# |恩,一般不分的公司就是FPGA相关倾向于让硬件工程师做,哈,多看看熟悉下公司产品渠道,客户等。
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧+ ]1 _% j2 q" q2 l: E( ]
`timescale 1ns / 1ps- b, J6 I# q2 j) x: m1 R' O! ?
1 I& K1 r1 Z( S9 g3 k; g( O
module test;' h) z( K4 d2 m+ N5 e% h, G0 W

5 @8 ^. d8 s/ Q0 @5 n: X0 c3 `, lparameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
& J2 H, ^/ r! [0 q* D2 dreg sys_clk;
7 P( \+ S- Z( P7 C0 M* [! Z( U; Qreg reset;
% H* }* t, h, k, f* w% c8 t5 J' \initial begin
. i4 i: }8 A8 K4 O+ N- @, z# o  sys_clk = 0;4 W  p7 }/ z! d6 X4 d
  reset = 0;
; {: P+ C  G% A' Z9 p  #10 reset = 1;+ @0 H# V0 G- f. o
  #100 reset =0;2 n7 t: Z3 l+ R& J- [
end' ^% @7 X( L9 B( H/ w$ L- @
// 产生27mhz时钟- X! Z% V9 e" p5 D
always #(CLK_PERIOD/2) sys_clk = ~sysclk;
) R9 g8 `7 I1 a3 [, W) e" O" A7 H2 ~# i. h2 q& V7 M1 n+ h
reg [9:0] rand_data;' e4 @" ^- |( M/ [! A: {6 ~
$ L6 ?/ w( Z( g: }6 t
always @ (posedge sys_clk) begin- g7 H- E, t5 i; l( S
  if(reset)6 Y1 ]1 N: r$ e
    rand_data <= 0;
4 C$ Z; @5 ?- m, J8 x, x. e  else
9 b  Y$ ^3 b* J5 |- b$ P    rand_data <= $random;
& n2 N7 Z2 m+ N/ a7 Iend
" I5 R0 U/ V( eendmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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