找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2501|回复: 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 编辑
. q4 G2 c- a, m8 K  h0 x' [
! B2 m5 k, o: m7 V% j/ N9 w如题,是不是只能用`timescale然后再always #延迟 clk=~clk 这样来产生呢?有没有其他的办法。( Z- R3 {! _0 A
最近面试一家公司,给我的笔试题中有一道仿真题:用testbench写出以27MHZ时钟时序为基准的10位的随机数串,个数不计,并用modelsim仿真出来。( q  l8 n+ T2 K! a
8 ^: A% K& u  B3 t3 n- k
由于小弟没怎么写过fpga程序,所以请假版上各位朋友,这道题所谓的10位随机数串是每个时钟周期产生一个bit还是10个bit。。
% Y4 ?1 q, ^# o6 ~+ S7 ?7 i2 S3 O8 i
reg [9:0] rand_data;
: B+ m; R) }' O/ y6 {# D- y* y4 P/ b: X) {- t5 Y) ?6 P. q
rand_data={$random}%1024;$ Z/ n5 K  q+ \" R  C; V  j
这样可以吗?! ?, f  H8 @1 S6 _. L7 q. Q  _" D8 o

1 m1 ~  d! q5 [- `7 l5 O小弟电脑上连modelsim都木有装 = =
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

5

帖子

6

积分

初级新手(9)

Rank: 1

积分
6
9#
发表于 2013-7-4 13:27 | 只看该作者
没有功能仿真,希望能给你一些参考吧
1 P+ q+ P! k* N. a' i. ]: H`timescale 1ns / 1ps
* ^! z7 g, F: Z+ H% ?* H$ @8 J4 ~( C  r/ u0 _* L
module test;
$ |5 n8 w9 h1 k/ a
2 E4 h" Z5 i& N3 \9 dparameter CLK_PERIOD = 37.037; //27mhz 对应的时钟周期
( X% Z2 J. w0 H+ r# Kreg sys_clk;
9 R# l& ?  h( L! j: N* C+ s, E& ^% V4 vreg reset;" `, J+ E$ c0 s
initial begin
9 X. _& Y; t: `  sys_clk = 0;; T$ [5 I3 d9 M# g% e4 Q
  reset = 0;
0 p, @/ d) V! Q' _; a( M  #10 reset = 1;
% C4 f! N( I7 E# z1 y$ v  #100 reset =0;
! y- V7 O* a# U( d; H6 x9 C" vend7 M* T' f" ~6 X& ]
// 产生27mhz时钟! u# P- O  a/ M7 U4 B& b
always #(CLK_PERIOD/2) sys_clk = ~sysclk;
  A7 ~. I, ~: A" |9 W3 J5 P
# C6 ^, _% O. p" |) Preg [9:0] rand_data;
- g% H1 t6 W9 j* E; w* u" B0 [5 w: m8 W: J. [7 T, g
always @ (posedge sys_clk) begin1 _9 K3 M1 A3 ^6 Z
  if(reset). B# w% d) y9 J6 Y9 v( F
    rand_data <= 0;: a8 x2 w8 ^; h
  else
( e  W( A1 p. q' o9 E    rand_data <= $random;" E: |& X4 i7 s8 d2 K
end! N& `" r" h% i. ?" E
endmodule

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
8#
发表于 2013-5-28 11:14 | 只看该作者
schx 发表于 2013-5-27 22:45
5 f# u* ~9 l# l& p6 T& y嗯,硬件和fpga都做。
+ C; q4 _" {6 l" {! 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 4 h. g1 ]0 d( I, a8 C$ x% D7 u" {
哈,是FPGA的嘛?

/ R  W) @$ z, E6 ~9 g嗯,硬件和fpga都做。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

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

! a+ v# m% P8 Q. j# `哈,是FPGA的嘛?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
5#
 楼主| 发表于 2013-5-27 10:00 | 只看该作者
zgq800712 发表于 2013-5-16 23:21 # M3 _, C* f6 |1 F5 Y9 ?3 `9 W" B
我也是菜鸟,多自己看的,现在找到工作了?
8 U7 c( G9 W3 E) H* Q2 n
恩,现在找到工作了,今年形势比较差,所以在杭州这边一家医疗器械创业公司先做了。。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
4#
发表于 2013-5-16 23:21 | 只看该作者
schx 发表于 2013-5-16 23:12
' U% E/ p, Q# {" _$ d嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来 ...

+ G- _) I3 W$ e6 {# Y1 R. H3 i1 G我也是菜鸟,多自己看的,现在找到工作了?
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

12

主题

80

帖子

551

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
551
3#
 楼主| 发表于 2013-5-16 23:12 | 只看该作者
zgq800712 发表于 2013-5-14 21:31 / R9 L' k: b+ t! v( O; x4 v; P
`timescale 1ns/1ps
6 P9 H7 E; w" L' ?2 j8 c3 y# }; N: B# O. j  b# o  r6 H  W
module fifo_top_tb();
( M3 J6 ~: G# c+ l1 w
嗯,没什么问题了,小弟菜鸟,没怎么实际写过verilog程序以为这题有什么玄机  =。=,其实最后我也是这样来产生时钟的。

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2013-5-14 21:31 | 只看该作者
本帖最后由 zgq800712 于 2013-5-14 21:32 编辑 % s) k* O" a, X' T+ p3 v

1 Q+ s' l8 \3 x* O+ P`timescale 1ns/1ps" e$ W& g$ m3 u* `8 M9 o  ?8 G

; S' ~# H% B' Q1 vmodule fifo_top_tb();
$ n9 x: W' C" q1 L* _2 |* o    reg clk;
) G1 Q% h( O1 v- }1 \( A8 \5 a" w    reg rst;
6 G+ J. Z, ?! D    reg wr_en;
4 P/ l7 K% P  v3 y2 f    reg rd_en;
0 a$ U1 |. O1 y/ g& P    reg [7:0]data_in;
9 B& Q& D9 W: D8 M6 @! E3 Z% c    wire [7:0]data_out;
" B. w9 n' G( H    ( I( U  X& q  I! J. H
fifo_syn_top myfifo(.clk(clk),: x8 g& Z% T- U5 X% ?. Y
                    .rst(rst),
" p; T% L& K) t  Z+ m1 ?% H9 `6 R                    .wr_en(wr_en),
0 x" w* P' Z$ h+ l8 @& ~9 l                    .rd_en(rd_en),
9 _  J* X. j2 q/ d( A                    .data_in(data_in),
# J2 c7 e" g- T. w" k9 p5 u( d' b                    .data_out(data_out));
7 ]+ B2 j1 Z4 G* b$ `3 yinteger i,j;; |1 H4 l0 _+ [" F
parameter T = 18.518;. w9 T2 L5 l! }; C9 ?& X
always
: [( K) G& O. J7 I  ^5 fbegin
+ V2 g9 m1 Y3 ^/ f# `        clk=0;
9 |7 E8 O! s+ m/ W        #T ;7 p' \; I8 ~' ^% i0 [; J  W
        clk=1;
# @8 D0 l- X" c& E        #T ;
+ q: U2 ]7 Z9 c8 w9 kend6 h: V2 }; C0 z% x

4 E% \. }( i6 |' d, N% g' iinitial# l5 d0 h+ n. @4 J+ s/ L: T
  begin3 T: D' g6 k& \. M" M$ O) R7 t
    clk=0;
0 C+ D6 R" E- y( f8 b1 Y. j8 m    rst=0;
) V$ ~5 e  P% n" ], i" a    wr_en=1;5 r' k- ~( z- V1 j! W" O
    rd_en=0;
9 j! F: l* p- f0 ^& T- ?    #20 data_in[7:0]=8'b11111111;0 Z# C, b1 Y# F5 M. \( u
    #200 rst=1;( T. |% w8 [$ ?$ w0 \
    wr_en=1;
% |, Z, U" \/ q& I8 Q4 g7 D( t    rd_en=0;
$ G$ f. x7 n7 _  S( t: e     repeat(10), x  C, l' x' ~. t0 W
      begin
+ Q) D1 l9 h5 E+ `        #100 data_in[7:0]=$random;          
) p, i9 C4 [" ]# p      end# R2 {; H$ X2 j  m
    #6400 wr_en=0;
: {; {8 T( c0 e" J$ i+ }. y+ B    #10 rd_en=1;( b0 q1 T) c% p( G1 ~
         #6400  $stop;/ m/ i! V- ?' j" \# l
  end. e$ k) g9 }8 t  g
  
  B% f. A  V. H5 o' e+ Yendmodule  " Y5 P) F8 p0 l6 b+ f2 C1 A

) w3 j5 W+ ]( d
) D" q  N# F! i* c
( q. ^0 A. c1 e( S# c6 G1 c, K楼主 你难道要 1ns/1fs    ?   这样?
: M: P: y0 l9 c- n, U3 a
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 06:40 , Processed in 0.072829 second(s), 33 queries , Gzip On.

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

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

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